openapi: 3.0.0
servers:
  - url: 'https://api.devbank.apiture.com/accounts'
info:
  title: Accounts
  description: >
    The Accounts API manages banking accounts for bank customers.

    This API manages two primary types of resources:

      * *Accounts* (or _internal_ accounts) are those controlled by the
      financial institution (FI). Account holders can perform a various operations
      on such accounts: Users may view balances and account details,
      open new accounts, lock internal accounts, blocking new banking activity on the account
      until they unlock it. Users may also close accounts. The FI can freeze or unfreeze accounts
      if they suspect fraudulent or other malicious or suspicious activity.
      Users map also transfer money, view transactions, etc. using other Apiture APIs.
      * *External Accounts* are accounts controlled by an external
      financial institution. These are also known as _linked accounts_.
      The user can perform fewer operations on external accounts,
      primarily scheduling transfers between and an external account
      and an internal account, using other Apiture APIs.


    Accounts are instances of a banking _product_ (see the Products API). The

    product defines the type, rate, terms, attributes, and capabilities of

    accounts attached to the product. Accounts may be either _personal_ accounts

    (also known as _retail_ accounts)

    or _business_ accounts (accounts for businesses, institutions, trusts,

    non-profits, etc., also known as _commercial accounts_).



    A user can list their existing accounts and see the balances of those

    accounts (based on entitlements) and may have permission to change the

    account name and label and description. Each account has a _primary user_,

    which is a bank user (via the Users service). The primary user has full

    management and entitlements for the account, receives mailings such as

    statements or tax documents.



    For personal (retail) accounts, an account has a primary owner and

    may have additional joint owners. For business (commercial) accounts,

    the account owner is the business organization and one or more

    authorized signers who have account access entitlements.



    Because the account number is sensitive data, it is not included by

    default in account representations. The masked account number is

    returned in the `accountNumbers` object. To also receive the full

    account number when fetching an account, include the `?unmasked=true`

    option. When linking an external account, the full account number

    should be in the `accountNumbers.full` property in the request. The `accountNumbers.full`

    property is included with the 201 response of creating an account.



    This API also manages additional resources which are associated with accounts.

    For personal accounts, one can get the list of owners (the primary owner

    and joint owners). The account owner can also view and update the

    account's beneficiaries. For business accounts, the account holders

    can view the account's authorized signers: those who have authorization to conduct

    activity against the account.


    # Error Types


    Error responses in this API may have one of the `type` values described below.

    See [Errors](https://developer.apiture.com/docs/concepts/errors) for more information

    on error responses and error types.




    <h2 class='errorType' id="err-accountOwnerNotFound">accountOwnerNotFound</h2>


    **Description**: No joint owner was found for the specified {owner}. <br>

    **Remediation**: Ensure the supplied {owner} corresponds to an ownerresource.



    <h2 class='errorType' id="err-activeExternalAccountLimitReached">activeExternalAccountLimitReached</h2>


    **Description**: The active external account limit has been reached. <br>

    **Remediation**: Deactivate a unused external account and try again.



    <h2 class='errorType' id="err-applicationUriNotSupplied">applicationUriNotSupplied</h2>


    **Description**: A link to the account application was not supplied for the account. <br>

    **Remediation**: Include a link to a valid Apiture account application in the _links object of your request.



    <h2 class='errorType' id="err-cannotDeleteSoleOwner">cannotDeleteSoleOwner</h2>


    **Description**: The sole account owner cannot be deleted. <br>

    **Remediation**: Deleting account owners must leave at least one owner.



    <h2 class='errorType' id="err-cannotPatchState">cannotPatchState</h2>


    **Description**: The state field cannot be updated via PATCH. <br>

    **Remediation**: Resubmit the operation and leave state out of the request body.



    <h2 class='errorType' id="err-cannotUpdateImmutableExternalAccountProperties">cannotUpdateImmutableExternalAccountProperties</h2>


    **Description**: Update operations may not change immutable properties of the external account unless the account state is `pending`. <br>

    **Remediation**: Remove immutable properties from the request.


    The `attributes` object in the error may have the following properties:


    | Property | Type | Description |

    |----------|------|-------------|

    | immutableProperties | [string] | Immutable properties that are in the request. |



    <h2 class='errorType' id="err-cannotUpdateImmutableInternalAccountProperties">cannotUpdateImmutableInternalAccountProperties</h2>


    **Description**: Update operations may not change immutable properties of the internal account. <br>

    **Remediation**: Remove immutable properties from the request.


    The `attributes` object in the error may have the following properties:


    | Property | Type | Description |

    |----------|------|-------------|

    | immutableProperties | [string] | Immutable properties that are in the request. |



    <h2 class='errorType' id="err-consentNotGiven">consentNotGiven</h2>


    **Description**: The user has not given consent to the selected product’s terms and conditions. <br>

    **Remediation**: User must give consent to the selected product's terms and conditions first before changing products.



    <h2 class='errorType' id="err-contactUriNotSupplied">contactUriNotSupplied</h2>


    **Description**: A link to the contact was not supplied for the account. <br>

    **Remediation**: Include a link to a valid Apiture contact in the `_links` object of your request.



    <h2 class='errorType' id="err-duplicateExternalAccount">duplicateExternalAccount</h2>


    **Description**: An account resource with the same account number and routing number already exists. <br>

    **Remediation**: If the matching external account is closed or inactive, activate it.



    <h2 class='errorType' id="err-duplicateUser">duplicateUser</h2>


    **Description**: The owners or authorized signers contains a person more than one time. <br>

    **Remediation**: Remove duplicate users.



    <h2 class='errorType' id="err-incompleteBeneficiary">incompleteBeneficiary</h2>


    **Description**: Beneficiary's individual or organization data incomplete. <br>

    **Remediation**: Specify all required data for each beneficiary.



    <h2 class='errorType' id="err-internalError">internalError</h2>


    **Description**: An unexpected internal server error occurred. <br>

    **Remediation**: Retry the operation again.


    This error type may be included in error responses for the following HTTP status code: 5xx



    <h2 class='errorType' id="err-invalidAccountAuthorizationType">invalidAccountAuthorizationType</h2>


    **Description**: The request includes an authorization type not allowed for this type of account. <br>

    **Remediation**: Owners for personal accounts must have the type `joint` or `primary`. Authorized signers for business accounts must all have the
    type `authorizedSigner`.



    <h2 class='errorType' id="err-invalidAccountId">invalidAccountId</h2>


    **Description**: No Accounts were found for the specified `accountId`. <br>

    **Remediation**: Check to make sure that the supplied `accountId` corresponds to an Apiture account resource.



    <h2 class='errorType' id="err-invalidAccountReference">invalidAccountReference</h2>


    **Description**: The supplied account reference was malformed. <br>

    **Remediation**: Check to make sure that the supplied `account` parameter corresponds to an Apiture account resource.


    The `attributes` object in the error may have the following properties:


    | Property | Type | Description |

    |----------|------|-------------|

    | account | string | The malformed `account` parameter |



    <h2 class='errorType' id="err-invalidAccountState">invalidAccountState</h2>


    **Description**: Actions on accounts may only be performed if they are in one of the required states. <br>

    **Remediation**: Check the state of your Account and the applicable allowed state transitions in the Accounts API documentation.


    The `attributes` object in the error may have the following properties:


    | Property | Type | Description |

    |----------|------|-------------|

    | currentState | string | The current `state` of the account.<br>Example: `pending` |

    | requestedState | string | The new `state` value in the request.<br>Example: `frozen` |

    | requiredStates | [string] | The set of states the account must be in for the requested state change to be valid.<br>Example: `active` |



    <h2 class='errorType' id="err-invalidAccountStateGrace">invalidAccountStateGrace</h2>


    **Description**: The account is not active or it is not in the grace period. <br>

    **Remediation**: Ensure that the account is active and currently in the grace period.



    <h2 class='errorType' id="err-invalidAccountType">invalidAccountType</h2>


    **Description**: The account is not a CD and is thus not eligible for changing the banking product. <br>

    **Remediation**: Select an account that is a CD.



    <h2 class='errorType' id="err-invalidApplication">invalidApplication</h2>


    **Description**: No account application resource was found for the specified apiture:application link. <br>

    **Remediation**: Check to make sure that the supplied application corresponds to an Apiture application resource.



    <h2 class='errorType' id="err-invalidBeneficiaryOrganizationType">invalidBeneficiaryOrganizationType</h2>


    **Description**: Beneficiary organizations must be trusts or charities. <br>

    **Remediation**: Specify an organization that is a trust or charity.



    <h2 class='errorType' id="err-invalidConsentId">invalidConsentId</h2>


    **Description**: The specified consent can not be found. <br>

    **Remediation**: Resubmit request with a valid `consentId`.



    <h2 class='errorType' id="err-invalidContact">invalidContact</h2>


    **Description**: No contact was found for the specified contact. <br>

    **Remediation**: Check to make sure that the supplied `contactId` corresponds to an Apiture contact resource.



    <h2 class='errorType' id="err-invalidInterestTargetAccount">invalidInterestTargetAccount</h2>


    **Description**: The account designated for disbursing interest is an invalid URI or not an eligible account. <br>

    **Remediation**: Submit a request with a `apiture:interestTargetAccount link of an account that is active and is eligible for deposits.


    The `attributes` object in the error may have the following properties:


    | Property | Type | Description |

    |----------|------|-------------|

    | interestTargetUri | string | The URI of the transfer target account. |



    <h2 class='errorType' id="err-invalidOrganization">invalidOrganization</h2>


    **Description**: No organization was found for the specified organization. <br>

    **Remediation**: Check to make sure that the supplied organization corresponds to an Apiture organization resource.



    <h2 class='errorType' id="err-invalidOrganizationState">invalidOrganizationState</h2>


    **Description**: An account may not be created with an organization that is not in an `active` state. <br>

    **Remediation**: Please contact your administrator regarding the non-active organization.



    <h2 class='errorType' id="err-invalidProduct">invalidProduct</h2>


    **Description**: No Products were found for the specified product. <br>

    **Remediation**: Check to make sure that the supplied product corresponds to an Apiture product resource.



    <h2 class='errorType' id="err-invalidProductId">invalidProductId</h2>


    **Description**: The specified product can not be found. <br>

    **Remediation**: Resubmit the request with an active product.



    <h2 class='errorType' id="err-invalidProductTarget">invalidProductTarget</h2>


    **Description**: The product target (personal or business) does not match the current account. <br>

    **Remediation**: Select a product that matches the current type for the account.



    <h2 class='errorType' id="err-invalidProductType">invalidProductType</h2>


    **Description**: The selected product is not an active CD product. <br>

    **Remediation**: Select an active CD product.



    <h2 class='errorType' id="err-invalidQueryParameterCombination">invalidQueryParameterCombination</h2>


    **Description**: Do not use mutually exclusive query parameters. <br>

    **Remediation**: Use one or the other, but not both.


    The `attributes` object in the error may have the following properties:


    | Property | Type | Description |

    |----------|------|-------------|

    | mutuallyExclusiveQueryParameters | [string] | undefined<br>Example: `state,openable` |



    <h2 class='errorType' id="err-invalidRolloverProduct">invalidRolloverProduct</h2>


    **Description**: The rollover product is not an openable deposit account product. <br>

    **Remediation**: Submit a request with a rollover product that is openable (active and available for new account opening), and is eligible for
    deposits or initial funding.


    The `attributes` object in the error may have the following properties:


    | Property | Type | Description |

    |----------|------|-------------|

    | rolloverProductUri | string | The URI of the rollover product. |



    <h2 class='errorType' id="err-invalidRoutingNumber">invalidRoutingNumber</h2>


    **Description**: The routing number was malformed. <br>

    **Remediation**: Use the correct routing number of the financial institution.



    <h2 class='errorType' id="err-invalidTransferTargetAccount">invalidTransferTargetAccount</h2>


    **Description**: The account designated for transferring principal and/or interest upon Certificate of Deposit (CD, a.k.a. Time Deposit) account
    maturity is an invalid URI or not a deposit account. <br>

    **Remediation**: Submit a request with a `apiture:transferTargetAccount` link to a target account that is active and is eligible for deposits or
    initial funding.


    The `attributes` object in the error may have the following properties:


    | Property | Type | Description |

    |----------|------|-------------|

    | transferTargetUri | string | The URI of the transfer target account |



    <h2 class='errorType' id="err-invalidUnmaskedQueryParam">invalidUnmaskedQueryParam</h2>


    **Description**: Only the values of false or true can be supplied with the unmasked query parameter. <br>

    **Remediation**: Resubmit the operation without the query parameter or check the documentation for valid query params.



    <h2 class='errorType' id="err-invalidUser">invalidUser</h2>


    **Description**: No user was found for the specified user. <br>

    **Remediation**: Check to make sure that the supplied `userId` corresponds to an Apiture user resource.



    <h2 class='errorType' id="err-malformedRequestBody">malformedRequestBody</h2>


    **Description**: The supplied request body was malformed. <br>

    **Remediation**: Check to make sure that your request body exists and that it does not contain syntax errors.



    <h2 class='errorType' id="err-noBeneficiariesOnBusinessAccounts">noBeneficiariesOnBusinessAccounts</h2>


    **Description**: Business accounts do not have beneficiaries. <br>

    **Remediation**: Request beneficiaries only on personal accounts.



    <h2 class='errorType' id="err-notExactlyOnePrimaryOwner">notExactlyOnePrimaryOwner</h2>


    **Description**: The owners must contain exactly one primary owner. <br>

    **Remediation**: Retry the request with exactly one primary owner.



    <h2 class='errorType' id="err-organizationUriNotSupplied">organizationUriNotSupplied</h2>


    **Description**: A link to the organization was not supplied for the account. <br>

    **Remediation**: Include a link to a valid Apiture organization in the _links object of your request.



    <h2 class='errorType' id="err-percentagesNotEqual100">percentagesNotEqual100</h2>


    **Description**: If beneficiaries are listed, the sum of percentages should equal 100. <br>

    **Remediation**: Adjust the percentages to total 100.



    <h2 class='errorType' id="err-productUriNotSupplied">productUriNotSupplied</h2>


    **Description**: A link to the product was not supplied for the account. <br>

    **Remediation**: Include a link to a valid Apiture product in the `_links` object of your request.



    <h2 class='errorType' id="err-unsatisfiedProductConstraints">unsatisfiedProductConstraints</h2>


    **Description**: The account does not satisfy the minimum or maximum balance or other constraints of the selected product. <br>

    **Remediation**: Select a product with constraints that the account satisfies.



    <h2 class='errorType' id="err-unverifiedUser">unverifiedUser</h2>


    **Description**: A owner or authorized signers in the request is not a valid user or has not been verified. <br>

    **Remediation**: Retry the request with only valid, verified users.



    <h2 class='errorType' id="err-userUriNotSupplied">userUriNotSupplied</h2>


    **Description**: A link to the user was not supplied for the account. <br>

    **Remediation**: Include a link to a valid Apiture user in the `_links` object of your request.



    <h2 class='errorType' id="err-wrongConsent">wrongConsent</h2>


    **Description**: The `consentId` is not consent for the terms and conditions associated with the product. <br>

    **Remediation**: Resubmit the request with the correct `consentId`.
  version: 0.51.2
  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: Accounts
    description: Bank Accounts
  - name: Account Actions
    description: Actions on Bank Accounts
  - name: External Accounts
    description: External Bank Accounts
  - name: Account Owners
    description: Personal Account Owners
  - name: Account Beneficiaries
    description: Personal Account Beneficiaries
  - name: Authorized Signers
    description: Business Account Authorized Signers
  - name: Configuration
    description: Accounts Service Configuration
  - name: API
    description: The Accounts API
paths:
  /externalAccounts:
    get:
      summary: Return a collection of external accounts
      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 external accounts. The [links](https://developer.apiture.com/docs/concepts/links) in the response include pagination links.


        Administrative applications may use [`searchExternalAccounts`](#op-searchExternalAccounts) to find accounts by account number.
      operationId: getExternalAccounts
      x-apiture-implemented: true
      tags:
        - External Accounts
      x-apiture-traits:
        sortBy:
          - state
          - type
          - name
          - institutionName
          - verifiedAt
          - createdAt
        itemSchema: externalAccounts
        filters:
          state:
            filter:
              - eq
              - ne
              - in
          type:
            filter:
              - eq
              - ne
              - in
          name:
            filter:
              - eq
              - ne
              - lt
              - le
              - gt
              - ge
              - startsWith
              - endsWith
              - contains
              - search
          _id:
            filter:
              - eq
              - in
          ownerId:
            filter:
              - eq
      parameters:
        - name: start
          in: query
          description: The zero-based index of the first external account 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 external account 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`.<br>This collection may be sorted by following properties:<br>&bullet; `state`<br>&bullet; `type`<br>&bullet;
            `name`<br>&bullet; `institutionName`<br>&bullet; `verifiedAt`<br>&bullet; `createdAt`
          schema:
            type: string
        - $ref: '#/components/parameters/stateQueryParam'
        - $ref: '#/components/parameters/typeQueryParam'
        - $ref: '#/components/parameters/nameQueryParam'
        - name: filter
          in: query
          description: >-
            Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).<br>This collection may be filtered by
            following properties and functions:<br>&bullet;  Property `state` using functions `eq`,  `ne`,  `in`<br>&bullet;  Property `type` using
            functions `eq`,  `ne`,  `in`<br>&bullet;  Property `name` using functions `eq`,  `ne`,  `lt`,  `le`,  `gt`,  `ge`,  `startsWith`, 
            `endsWith`,  `contains`,  `search`<br>&bullet;  Property `_id` using functions `eq`,  `in`<br>&bullet;  Property `ownerId` using functions
            `eq`
          schema:
            type: string
        - $ref: '#/components/parameters/qQueryParam'
        - $ref: '#/components/parameters/unmaskedQueryParam'
        - name: embed
          in: query
          description: >-
            If set, each external account in the `_embedded.items` array will include additional embedded objects. The `embed` query parameter
            specifies which related resources to include in the `_embedded` object in each account in response. `embed` supports the following values:
            <ul> <li>`owners`: for external accounts, include the account owners in the `_embedded.accountOwners` object. (See the
            `externalAccountEmbeddedObjects` schema.) </li> </ul>
          style: form
          schema:
            type: array
            items:
              type: string
              enum:
                - owners
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/externalAccounts'
            application/json:
              schema:
                $ref: '#/components/schemas/externalAccounts'
        '400':
          $ref: '#/components/responses/400InvalidAccountRequest'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - banking/read
    post:
      summary: Create a new external account
      description: Create a new external account. A successful operation returns the full accountNumber.
      operationId: createExternalAccount
      x-apiture-implemented: true
      tags:
        - External Accounts
      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 may 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/externalAccount'
            application/json:
              schema:
                $ref: '#/components/schemas/externalAccount'
        '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.


            This error response may have one of the following `type` values:

            * [`invalidRoutingNumber`](#err-invalidRoutingNumber)
          x-apiture-errors:
            - invalidRoutingNumber
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '409':
          description: >-
            Conflict. An external account with the key account details already exists for the user, such as an attempt to change the state from
            `active` to `pending`, or to change the name to a name that is already in use by another external account that the user or organization
            holds.


            This error response may have one of the following `type` values:

            * [`invalidAccountState`](#err-invalidAccountState)

            * [`duplicateExternalAccount`](#err-duplicateExternalAccount)

            * [`activeExternalAccountLimitReached`](#err-activeExternalAccountLimitReached)
          x-apiture-errors:
            - invalidAccountState
            - duplicateExternalAccount
            - activeExternalAccountLimitReached
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
      security:
        - apiKey: []
          accessToken:
            - banking/write
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/createExternalAccount'
          application/json:
            schema:
              $ref: '#/components/schemas/createExternalAccount'
        description: The data necessary to create a new external account.
        required: true
  /paymentProviderParameters:
    post:
      summary: Generate payment provider parameters
      description: >-
        This operation generates parameters to allow integration with a client-embedded secure payment provider application component. The response is
        based on the current user, account, and provider name. There is no request body for this operation. The operation may take several seconds, so
        this operation may continue to process the request asynchronously, returning a 202 response code and `Retry-After`. After that retry delay,
        the client should try again until the operation returns a 200 response.<br>The operation `createPaymentProviderParameters` was added on
        version `0.46.0` of the API.
      operationId: createPaymentProviderParameters
      x-apiture-since: 0.46.0
      parameters:
        - name: account
          in: query
          description: 'The resource identifier of an existing, active account. This is the account''s `_id` property, **not** the account number.'
          required: true
          schema:
            type: string
        - name: issuer
          in: query
          required: true
          description: >-
            The name of the payment provider, such as `payrailz`. This string is a lower camel case identifier. This determines which provider
            parameters to return to the client.
          schema:
            type: string
      tags:
        - Accounts
      responses:
        '201':
          description: Created. The response contains the parameters to integrate with the payment provider components.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/paymentProviderParameters'
            application/json:
              schema:
                $ref: '#/components/schemas/paymentProviderParameters'
        '202':
          description: >-
            Accepted. The request has been accepted but could not complete in a timely manner. Retry the operation after waiting the number of seconds
            specified in the `Retry-After` response header. The returned response body has an empty `parameters` array.
          headers:
            Retry-After:
              description: |-
                Indicates a suggested delay in seconds after which the client should retry the operation.


                Example: `Retry-After: 5`
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/paymentProviderParameters'
            application/json:
              schema:
                $ref: '#/components/schemas/paymentProviderParameters'
        '400':
          description: Bad Request. The parameters are not well-formed.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '422':
          description: |-
            Unprocessable Entity. The parameters, while well-formed, are invalid.

            This error response may have one of the following `type` values:
            * [`invalidAccountReference`](#err-invalidAccountReference)
          x-apiture-errors:
            - invalidAccountReference
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
      security:
        - apiKey: []
          accessToken:
            - accounts/read
  '/externalAccounts/{externalAccountId}':
    get:
      summary: Fetch a representation of this external account
      description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of this external account resource.'
      operationId: getExternalAccount
      x-apiture-implemented: true
      tags:
        - External Accounts
      parameters:
        - $ref: '#/components/parameters/externalAccountIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
        - $ref: '#/components/parameters/unmaskedQueryParam'
        - name: embed
          in: query
          description: >-
            The `embed` query parameter specifies which related resources to include in the `_embedded` object in the response. `embed` supports the
            following comma-separated values: <ul> <li>`owners` : for external accounts, include the external account owners in the
            `_embedded.accountOwners` object;</li> </ul>
          style: form
          schema:
            type: array
            items:
              type: string
              enum:
                - owners
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this external account resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/externalAccount'
            application/json:
              schema:
                $ref: '#/components/schemas/externalAccount'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400InvalidAccountRequest'
        '404':
          $ref: '#/components/responses/404ExternalAccount'
      security:
        - apiKey: []
          accessToken:
            - banking/read
    patch:
      summary: Update this external account
      description: >-
        Perform a partial update of this external account. Fields which are omitted from the request are not updated. Nested `_embedded` and `_links`
        are ignored if included. Bank users may only update the `routingNumber` and `accountNumbers.full` and `institutionName` and `type` if the
        external account is still `pending`. If `accountNumbers.full` is patched, then the full account number is included in the response. This
        operation does not change the `state` property. To change the `state` of the account, use the `POST` operations
        [`activateAccount`](#op-activateAccount), [`deactivateAccount`](#op-deactivateAccount), [`freezeAccount`](#op-freezeAccount),
        [`closeAccount`](#op-closeAccount), [`reviewExternalAccount`](#op-reviewExternalAccount) which are available in the `_links` on an account
        instance.
      operationId: patchExternalAccount
      x-apiture-implemented: true
      tags:
        - External Accounts
      parameters:
        - $ref: '#/components/parameters/externalAccountIdPathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this external account resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/externalAccount'
            application/json:
              schema:
                $ref: '#/components/schemas/externalAccount'
        '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.


            This error response may have one of the following `type` values:

            * [`malformedRequestBody`](#err-malformedRequestBody)

            * [`invalidAccountReference`](#err-invalidAccountReference)

            * [`cannotPatchState`](#err-cannotPatchState)
          x-apiture-errors:
            - malformedRequestBody
            - invalidAccountReference
            - cannotPatchState
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '404':
          $ref: '#/components/responses/404ExternalAccount'
        '409':
          description: >-
            Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from `active` to
            `pending` or to change the name to a name that is already in use by another external account that the user or organization holds.


            This error response may have one of the following `type` values:

            * [`invalidAccountState`](#err-invalidAccountState)
          x-apiture-errors:
            - invalidAccountState
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - banking/write
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/externalAccount'
          application/json:
            schema:
              $ref: '#/components/schemas/externalAccount'
        required: true
    delete:
      summary: Delete this external account resource
      description: >-
        Delete this external account resource and any resources that are owned by it. Note that only `pending` accounts may be deleted. Once an
        account has been activated, it cannot be deleted, only inactivated or removed from use.
      operationId: deleteExternalAccount
      x-apiture-implemented: true
      tags:
        - External Accounts
      parameters:
        - $ref: '#/components/parameters/ifMatchHeaderParam'
        - $ref: '#/components/parameters/externalAccountIdPathParam'
      responses:
        '204':
          $ref: '#/components/responses/204Deleted'
        '404':
          $ref: '#/components/responses/404ExternalAccount'
        '409':
          description: >-
            Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from `active` to
            `pending` or to change the name to a name that is already in use by another external account that the user or organization holds.


            This error response may have one of the following `type` values:

            * [`invalidAccountState`](#err-invalidAccountState)
          x-apiture-errors:
            - invalidAccountState
        '412':
          $ref: '#/components/responses/412'
      security:
        - apiKey: []
          accessToken:
            - banking/delete
  '/externalAccounts/{externalAccountId}/accountOwners':
    get:
      summary: Return a list of external account owners
      operationId: getExternalAccountOwners
      description: >-
        Return a list of the external account's account owners (holders). The result may be empty if the data was not available when user created the
        external account or the account aggregator provider does not provide this information.
      security:
        - apiKey: []
          accessToken:
            - banking/read
      tags:
        - Account Owners
      parameters:
        - $ref: '#/components/parameters/externalAccountIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: The `ETag` response header specifies an entity tag which may be be provided with the `If-None-Match` on subsequent requests.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/externalAccountOwners'
            application/json:
              schema:
                $ref: '#/components/schemas/externalAccountOwners'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404ExternalAccount'
  /accounts:
    get:
      summary: Return a collection of accounts
      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 accounts. The [links](https://developer.apiture.com/docs/concepts/links) in

        the response include pagination links.



        By default, the items in the collection return a subset of the

        accounts fields, as described in the `summaryAccount` schema.

        To include all fields in an account, use the `?fields=*` query parameter.



        If `?embed=owners` is used, each summary account representation

        in the `_embedded.items` array

        will embed the account owners or the authorized signers and owning organization.



        Administrative applications may use [`searchAccounts`](#op-searchAccounts) to

        find accounts by account number.
      operationId: getAccounts
      x-apiture-implemented: true
      tags:
        - Accounts
      x-apiture-traits:
        sortBy:
          - state
          - type
          - subtype
          - name
          - productName
        itemSchema: accounts
        filters:
          state:
            filter:
              - eq
              - ne
              - in
          type:
            filter:
              - eq
              - ne
              - in
          subtype:
            filter:
              - eq
              - ne
              - in
          name:
            filter:
              - eq
              - ne
              - lt
              - le
              - gt
              - ge
              - startsWith
              - endsWith
              - contains
              - search
          productName:
            filter:
              - eq
              - ne
              - lt
              - le
              - gt
              - ge
              - startsWith
              - endsWith
              - contains
              - search
          _id:
            filter:
              - eq
              - in
          organization:
            filter:
              - eq
      parameters:
        - name: start
          in: query
          description: The zero-based index of the first account 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 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`.<br>This collection may be sorted by following properties:<br>&bullet; `state`<br>&bullet; `type`<br>&bullet;
            `subtype`<br>&bullet; `name`<br>&bullet; `productName`
          schema:
            type: string
        - $ref: '#/components/parameters/stateQueryParam'
        - $ref: '#/components/parameters/typeQueryParam'
        - $ref: '#/components/parameters/subtypeQueryParam'
        - $ref: '#/components/parameters/nameQueryParam'
        - $ref: '#/components/parameters/productNameQueryParam'
        - $ref: '#/components/parameters/organizationQueryParam'
        - name: filter
          in: query
          description: >-
            Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).<br>This collection may be filtered by
            following properties and functions:<br>&bullet;  Property `state` using functions `eq`,  `ne`,  `in`<br>&bullet;  Property `type` using
            functions `eq`,  `ne`,  `in`<br>&bullet;  Property `subtype` using functions `eq`,  `ne`,  `in`<br>&bullet;  Property `name` using
            functions `eq`,  `ne`,  `lt`,  `le`,  `gt`,  `ge`,  `startsWith`,  `endsWith`,  `contains`,  `search`<br>&bullet;  Property `productName`
            using functions `eq`,  `ne`,  `lt`,  `le`,  `gt`,  `ge`,  `startsWith`,  `endsWith`,  `contains`,  `search`<br>&bullet;  Property `_id`
            using functions `eq`,  `in`<br>&bullet;  Property `organization` using functions `eq`
          schema:
            type: string
        - $ref: '#/components/parameters/qQueryParam'
        - $ref: '#/components/parameters/unmaskedQueryParam'
        - $ref: '#/components/parameters/accountFieldsQueryParam'
        - name: activeBetween
          in: query
          description: >-
            Limit the response to only accounts that are (or were) active between two dates, inclusive. The format of the query parameter is
            `start-date,end-date` where each date is in [RFC 3339](https://tools.ietf.org/html/rfc3339) date format, `YYYY-MM-DD`. The response
            includes accounts which became active on or before the end date and which were not closed before the start date. <br> Example:
            `?activeBetween=2019-03-01,2019-03-31`. <br> This option may be combined with `?embed=owners`. **Note**: _This option is limited to
            administrative use._
          schema:
            type: string
        - name: embed
          in: query
          description: >-
            If set, each account in the `_embedded.items` array will include additional embedded objects. The `embed` query parameter specifies which
            related resources to include in the `_embedded` object in each account in response. `embed` supports the following values: <ul>
            <li>`owners` : for `personal` accounts, include the account owners in the `_embedded.owners` object; for business accounts, include
            authorized signers in the `_embedded.owners` object and the owning business in the `_embedded.owningBusiness` object. (See the
            `embeddedAccountObjects` schema.) </li> </ul> This option may be combined with `?activeBetween`.
          style: form
          schema:
            type: array
            items:
              type: string
              enum:
                - owners
                - beneficiaries
                - authorizedSigners
                - product
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/accounts'
            application/json:
              schema:
                $ref: '#/components/schemas/accounts'
        '400':
          $ref: '#/components/responses/400InvalidAccountRequest'
        '409':
          description: |-
            Conflict. Query parameters are in conflict. Do not use both `?orderable=` and `?state=` query parameters.

            This error response may have one of the following `type` values:
            * [`invalidQueryParameterCombination`](#err-invalidQueryParameterCombination)
          x-apiture-errors:
            - invalidQueryParameterCombination
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - banking/read
    post:
      summary: Create a new account.
      description: >-
        Create a new banking account. The request body must contain a link to an active product, user, organization (for a business account), and may
        contain an approved application. The required resource links are detailed in the `createAccount` schema used for the request body. The
        application will be linked to the account and can be identifiable with the account. The product provides specific banking information like the
        type of product and it's subtype; the new account will adopt the terms and attributes of that banking product. If a name is not included in
        the request, the product name will be used to provide a unique name for this user. The account will be created in the `pending` state (which
        allows deletion of the account). A successful operation returns the full account number.
      operationId: createAccount
      x-apiture-implemented: true
      tags:
        - Accounts
      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 may 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/summaryAccount'
            application/json:
              schema:
                $ref: '#/components/schemas/summaryAccount'
        '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.


            This error response may have one of the following `type` values:

            * [`malformedRequestBody`](#err-malformedRequestBody)

            * [`invalidAccountReference`](#err-invalidAccountReference)

            * [`productUriNotSupplied`](#err-productUriNotSupplied)

            * [`contactUriNotSupplied`](#err-contactUriNotSupplied)

            * [`userUriNotSupplied`](#err-userUriNotSupplied)

            * [`applicationUriNotSupplied`](#err-applicationUriNotSupplied)

            * [`organizationUriNotSupplied`](#err-organizationUriNotSupplied)

            * [`invalidOrganization`](#err-invalidOrganization)

            * [`invalidApplication`](#err-invalidApplication)

            * [`invalidProduct`](#err-invalidProduct)

            * [`invalidContact`](#err-invalidContact)

            * [`invalidUser`](#err-invalidUser)

            * [`invalidRolloverProduct`](#err-invalidRolloverProduct)

            * [`invalidTransferTargetAccount`](#err-invalidTransferTargetAccount)

            * [`invalidInterestTargetAccount`](#err-invalidInterestTargetAccount)
          x-apiture-errors:
            - malformedRequestBody
            - invalidAccountReference
            - productUriNotSupplied
            - contactUriNotSupplied
            - userUriNotSupplied
            - applicationUriNotSupplied
            - organizationUriNotSupplied
            - invalidOrganization
            - invalidApplication
            - invalidProduct
            - invalidContact
            - invalidUser
            - invalidRolloverProduct
            - invalidTransferTargetAccount
            - invalidInterestTargetAccount
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '409':
          description: >-
            Conflict. The request attempted to create an account when a dependent resource is not in a correct state, such as the organization being
            in a state other than 'active'.


            This error response may have one of the following `type` values:

            * [`invalidOrganizationState`](#err-invalidOrganizationState)
          x-apiture-errors:
            - invalidOrganizationState
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
      security:
        - apiKey: []
          accessToken:
            - banking/write
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/createAccount'
          application/json:
            schema:
              $ref: '#/components/schemas/createAccount'
        description: The data necessary to create a new account.
        required: true
  '/accounts/{accountId}':
    get:
      summary: Fetch a representation of this account
      description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of this account resource.'
      operationId: getAccount
      x-apiture-implemented: true
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
        - $ref: '#/components/parameters/unmaskedQueryParam'
        - name: embed
          in: query
          description: >-
            The `embed` query parameter specifies which related resources to include in the `_embedded` object in the response. `embed` supports the
            following comma-separated values: <ul> <li>`owners` : for `personal` accounts, include the account owners in the `_embedded.owners`
            object; for business accounts, include authorized signers in the `_embedded.owners` object and the owning business in the
            `_embedded.owningBusiness` object. (See the `embeddedAccountObjects` schema.)</li> <li>`beneficiaries` : include the account beneficiaries
            (for `personal` accounts).</li> <li>`authorizedSigners` : include the account authorized signers of the owning business (for `business`
            accounts).</li> <li>`product` : include the banking product for this account. This is the default for `embed` if omitted, but if `embed`
            is specified explicitly, include `products` if you want it embedded.</li> </ul> For example, to embed both the `owners` and
            `beneficiaries` for personal accounts use `GET .../accounts/{accountId}?embed=owners,beneficiaries`. To embed the banking product, the
            owning business, authorized signers for business accounts, use `GET .../accounts/{accountId}?embed=product,owners,authorizedSigners`.
          style: form
          schema:
            type: array
            items:
              type: string
              enum:
                - owners
                - beneficiaries
                - authorizedSigners
                - product
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this account resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/account'
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400InvalidAccountRequest'
        '404':
          $ref: '#/components/responses/404Account'
      security:
        - apiKey: []
          accessToken:
            - banking/read
    patch:
      summary: Update this account
      description: >-
        Perform a partial update of this account. Fields which are omitted from the request are not updated. Nested `_embedded` objects are ignored if
        included. This operation does not change the `state` property. To change the `state` of the account, use the `POST` operations
        [`activateAccount`](#op-activateAccount), [`deactivateAccount`](#op-deactivateAccount), [`freezeAccount`](#op-freezeAccount), or
        [`closeAccount`](#op-closeAccount) which are available in the `_links` on an account instance.
      operationId: patchAccount
      x-apiture-implemented: true
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this account resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/account'
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        '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.


            This error response may have one of the following `type` values:

            * [`cannotUpdateImmutableInternalAccountProperties`](#err-cannotUpdateImmutableInternalAccountProperties)

            * [`cannotUpdateImmutableExternalAccountProperties`](#err-cannotUpdateImmutableExternalAccountProperties)
          x-apiture-errors:
            - cannotUpdateImmutableInternalAccountProperties
            - cannotUpdateImmutableExternalAccountProperties
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '404':
          $ref: '#/components/responses/404Account'
        '409':
          description: >-
            Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from `active` to
            `pending` or to change the name to a name that is already in use by another external account that the user or organization holds.


            This error response may have one of the following `type` values:

            * [`invalidAccountState`](#err-invalidAccountState)
          x-apiture-errors:
            - invalidAccountState
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - banking/write
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/account'
          application/json:
            schema:
              $ref: '#/components/schemas/account'
        required: true
    delete:
      summary: Delete this account resource
      description: >-
        Delete this account resource and any resources that are owned by it. Note that only `pending` accounts may be deleted. Once an account has
        been activated, it cannot be deleted, only inactivated or closed.
      operationId: deleteAccount
      x-apiture-implemented: true
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/ifMatchHeaderParam'
        - $ref: '#/components/parameters/accountIdPathParam'
      responses:
        '204':
          $ref: '#/components/responses/204Deleted'
        '409':
          description: >-
            Conflict. the request attempted to change the state in an incompatible way, such as an attempt to change the state from `active` to
            `pending` or to change the name to a name that is already in use by another external account that the user or organization holds.


            This error response may have one of the following `type` values:

            * [`invalidAccountState`](#err-invalidAccountState)
          x-apiture-errors:
            - invalidAccountState
        '412':
          $ref: '#/components/responses/412'
      security:
        - apiKey: []
          accessToken:
            - banking/delete
  '/accounts/{accountId}/verificationLetter':
    post:
      summary: Generate the account verification letter
      description: |-
        Generate the account verification letter for this internal account.


        If the letter has not been generated, this returns 202 Accepted
        and no response body. The response will include a `Retry-After` response
        header with a recommended retry interval in seconds.


        If the letter has been generated for this account, the operations returns 200 OK and
        the response body is the PDF formatted account verification letter.


        For personal accounts, only the primary and joint owners may invoke this operation.


        For business accounts, only the authorized signers associated with the owning business organization may invoke this operation.
      operationId: generateVerificationLetter
      x-apiture-implemented: true
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - name: Accept
          in: header
          description: Optional. Only `application/pdf` is currently supported.
          schema:
            type: string
      security:
        - apiKey: []
          accessToken:
            - banking/write
      responses:
        '200':
          description: OK. The request has succeeded.
          headers:
            Content-Type:
              description: 'When the letter is available, the response body will be the PDF formatted account verification letter for this account.'
              schema:
                type: string
        '202':
          description: 'Accepted. The request has been accepted for processing, but the processing has not been completed.'
          headers:
            Retry-After:
              description: |-
                Indicates a suggested delay in seconds after which the client should retry the operation.
                Example: `Retry-After: 10`
              schema:
                type: string
        '404':
          $ref: '#/components/responses/404Account'
        '406':
          description: >-
            Not Acceptable. Indicates that the server cannot produce a response matching the list of acceptable values defined in the request's
            headers. This operation only supports `Accept: application/pdf`.
          content:
            application/pdf:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
  '/accounts/{accountId}/product':
    post:
      summary: Change the account's product
      description: >-
        Change the account’s banking product. This applies only to personal and business CD accounts that are in their grace period (immediately
        following maturity). The new product must also be a CD product, and the account must satisfy the minimum and maximum balance and other
        constraints of the new product.
      operationId: updateAccountProduct
      x-apiture-implemented: true
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
      security:
        - apiKey: []
          accessToken:
            - banking/write
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this account resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/account'
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        '404':
          $ref: '#/components/responses/404Account'
        '409':
          description: >-
            Request conflict. The request conflicts with the required constraints for changing an account’s product. The `_error` field in the
            response will contain details about the request error.


            This error response may have one of the following `type` values:

            * [`invalidAccountType`](#err-invalidAccountType)

            * [`invalidAccountStateGrace`](#err-invalidAccountStateGrace)

            * [`invalidProductType`](#err-invalidProductType)

            * [`invalidProductTarget`](#err-invalidProductTarget)

            * [`unsatisfiedProductConstraints`](#err-unsatisfiedProductConstraints)

            * [`wrongConsent`](#err-wrongConsent)

            * [`consentNotGiven`](#err-consentNotGiven)
          x-apiture-errors:
            - invalidAccountType
            - invalidAccountStateGrace
            - invalidProductType
            - invalidProductTarget
            - unsatisfiedProductConstraints
            - wrongConsent
            - consentNotGiven
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
        '422':
          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.


            This error response may have one of the following `type` values:

            * [`invalidProductId`](#err-invalidProductId)

            * [`invalidConsentId`](#err-invalidConsentId)
          x-apiture-errors:
            - invalidProductId
            - invalidConsentId
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/updateAccountProduct'
          application/json:
            schema:
              $ref: '#/components/schemas/updateAccountProduct'
        description: The data necessary to update a product on an account.
        required: true
  '/accounts/{accountId}/owners':
    get:
      summary: Fetch the primary and joint owners of an account
      description: |-
        Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation
        of the array of the account owners for personal accounts. There is one `primary` owner and
        zero or more `joint` owners.
        Bank customers cannot directly change this set; only the bank system or
        admins can change owners. Existing primary or joint owners may invite other joint owners
        via the Invitations API.


        For business accounts, refer to the `owningBusiness` in the
        account resource's embedded objects.
      operationId: getOwners
      x-apiture-implemented: true
      tags:
        - Account Owners
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
        - $ref: '#/components/parameters/unmaskedQueryParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this account resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/owners'
            application/json:
              schema:
                $ref: '#/components/schemas/owners'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400InvalidAccountRequest'
        '404':
          $ref: '#/components/responses/404Account'
      security:
        - apiKey: []
          accessToken:
            - banking/read
  '/accounts/{accountId}/owners/{owner}':
    delete:
      summary: Delete an account owner
      description: Remove a joint owner from an accoount.
      operationId: deleteOwner
      tags:
        - Account Owners
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - name: owner
          description: >-
            Identifies the account owner to delete. This value is either the `_id` of the owner, or the zero-based decimal index of the owner within
            the [owners.items](#schema-owners) array from the [`getOwners`](#op-getOwners) response. Caution: deleting one owner changes the array
            offset of remaining  owners.
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Deleted
        '404':
          $ref: '#/components/responses/404AccountOwner'
        '409':
          description: |-
            Conflict. Cannot delete the sole remaining account owner.

            This error response may have one of the following `type` values:
            * [`cannotDeleteSoleOwner`](#err-cannotDeleteSoleOwner)
          x-apiture-errors:
            - cannotDeleteSoleOwner
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
      security:
        - apiKey: []
          accessToken:
            - admin/write
  '/accounts/{accountId}/authorizedSigners':
    get:
      summary: Fetch the business account's authorized signers
      description: |-
        Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation
        of the array of the account's authorized signers.


        This operation applies only to business accounts.
      operationId: getAuthorizedSigners
      x-apiture-implemented: true
      tags:
        - Authorized Signers
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $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-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this account resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/authorizedSigners'
            application/json:
              schema:
                $ref: '#/components/schemas/authorizedSigners'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404Account'
      security:
        - apiKey: []
          accessToken:
            - banking/read
    put:
      summary: Update the authorized signers of an account
      description: |-
        Update the array of the authorized signers. Each
        signer must be a verified user. This operation completely
        replaces the set of signers. Only financial institutions may
        update authorized signers; this occurs after an existing
        authorized signer or the person who created the business
        account has invited other users and those verified users
        have accepted the invitation.


        This operation applies only to business accounts.
      operationId: updateAuthorizedSigners
      x-apiture-implemented: true
      tags:
        - Authorized Signers
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this account resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/authorizedSigners'
            application/json:
              schema:
                $ref: '#/components/schemas/authorizedSigners'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404Account'
        '422':
          $ref: '#/components/responses/422AuthorizedSigners'
      security:
        - apiKey: []
          accessToken:
            - admin/write
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/authorizedSigners'
          application/json:
            schema:
              $ref: '#/components/schemas/authorizedSigners'
        description: The array of authorized signers.
        required: true
  '/accounts/{accountId}/beneficiaries':
    get:
      summary: Fetch the account's beneficiaries
      description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of the array of the account beneficiaries.'
      operationId: getBeneficiaries
      x-apiture-implemented: true
      tags:
        - Account Beneficiaries
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $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-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this account resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/beneficiaries'
            application/json:
              schema:
                $ref: '#/components/schemas/beneficiaries'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404AccountBeneficiaries'
      security:
        - apiKey: []
          accessToken:
            - banking/read
    patch:
      summary: Create or Update the account's beneficiaries
      description: |-
        Create or update the array of the beneficiaries for this account.
        Beneficiaries may be individuals, or a trust or charity.
        If the array contains only one item,
        it's percentage is automatically set to 100%.


        When updating an existing set of beneficiaries, `null` values in
        the `items` array or omitted objects (such as `individual` or
        `organization`) inside the items are ignored: the beneficiary
        corresponding to a `null` item is not changed. For example, the
        client may omit the `type`, `individual`, and `organization`
        properties in the `items` array in order to adjust just the
        percentages:

        ```json
        [ { 'percentage': 20 }, { 'percentage': 30 }, { 'percentage' : 20 }, null, null ]
        ```

        will change just the
        percentages of the first three beneficiaries and not update
        their other data for any of the five beneficiaries;


        The beneficiaries list is truncated to the size of the `items`
        array. For example: if there were five beneficiaries, and the
        request body contains only three items, the last two are removed
        from the accounts beneficiaries array (The new total must still
        total 100%.)


        This operation applies only to `personal` accounts.

        To update a beneficiary's taxId, an authenticated user must encrypt 
        (see [`GET /encryptionKeys`](#op-getEncryptionKeys)) and pass `taxId` 
        in the request body.
        See [Encryption](https://developer.apiture.com/docs/concepts/encryption) for additional details.
      operationId: patchBeneficiaries
      x-apiture-implemented: true
      tags:
        - Account Beneficiaries
      parameters:
        - $ref: '#/components/parameters/accountIdPathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which may be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this account resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/beneficiaries'
            application/json:
              schema:
                $ref: '#/components/schemas/beneficiaries'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400AccountBeneficiaries'
        '404':
          $ref: '#/components/responses/404Account'
        '409':
          $ref: '#/components/responses/409AccountBeneficiariesConflict'
      security:
        - apiKey: []
          accessToken:
            - banking/write
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/beneficiaries'
          application/json:
            schema:
              $ref: '#/components/schemas/beneficiaries'
        description: The array of account beneficiaries.
        required: true
  /accountSearch:
    post:
      summary: Find an account by account number.
      description: |-
        Use this operation to find an account by the full banking account number.
        Each resource in the `_embedded.items` array is a summary
        representation of an account; use the [`getAccount`](#op-getAccount) operation
        on the summary's `self` link to get the full representation
        of the account and all available links. If no account matches,
        the response has an empty (but not `null`) `_embedded.items` array.


        This operations uses a "`GET` over `POST`" pattern so that personally sensitive information
        (full account numbers) are transmitted securely in the request body
        and not in the request URL as query parameters. Like a `GET`, this operation
        is idempotent and safe.


        This operation is only allowed for trusted services or administrators.
        For banking customers, use [`getAccounts` with `?unmasked=true`](#op-getAccounts) to list all accounts for the user,
        and the client can filter the small result set by account number.
      operationId: searchAccounts
      security:
        - apiKey: []
          accessToken:
            - admin/read
      tags:
        - Accounts
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/accounts'
            application/json:
              schema:
                $ref: '#/components/schemas/accounts'
        '400':
          $ref: '#/components/responses/400'
        '422':
          $ref: '#/components/responses/422'
      requestBody:
        $ref: '#/components/requestBodies/accountSearch'
  /externalAccountSearch:
    post:
      summary: Find an external account by account number.
      description: |-
        Use this operation to find an external account by the full banking account number.
        Each resource in the `_embedded.items` array is a summary
        representation of an account; use the [`getExternalAccount`](#op-getExternalAccount) operation
        on the summary's `self` link to get the full representation
        of the external account and all available links. If no account matches,
        the response has an empty (but not `null`) `_embedded.items` array.


        This operations uses a "`GET` over `POST`" pattern so that personally sensitive information
        (full account numbers) are transmitted securely in the request body
        and not in the request URL as query parameters. Like a `GET`, this operation
        is idempotent and safe.


        This operation is only allowed for trusted services or administrators.
        For banking customers, use [`getExternalAccounts` with `?unmasked=true`](#op-getExternalAccounts)
        to list all external accounts for the user,
        and the client can filter the small result set by account number.
      operationId: searchExternalAccounts
      security:
        - apiKey: []
          accessToken:
            - admin/read
      tags:
        - Accounts
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/externalAccounts'
            application/json:
              schema:
                $ref: '#/components/schemas/externalAccounts'
        '400':
          $ref: '#/components/responses/400'
        '422':
          $ref: '#/components/responses/422'
      requestBody:
        $ref: '#/components/requestBodies/accountSearch'
  /:
    get:
      summary: Top-level resources and operations in this API
      description: |-
        Return links to the top-level resources and operations in this API. This API returns the following links:

          * **`apiture:accounts`** : links to the
          collection of accounts held at this financial institution.
          * **`apiture:externalAccounts`** : links to the collection of external
          accounts held at other financial institutions.
      operationId: getApi
      x-apiture-implemented: true
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/root'
              examples:
                response:
                  value:
                    id: accounts
                    name: User Bank Accounts
                    apiVersion: 0.3.0
                    _profile: 'https://api.apiture.com/schemas/common/root/v.0.1.0/profile.json'
                    _links:
                      'apiture:accounts':
                        href: /accounts/accounts
                      'apiture:externalAccounts':
                        href: /accounts/externalAccounts
            application/json:
              schema:
                $ref: '#/components/schemas/root'
      tags:
        - API
      security:
        - apiKey: []
  /apiDoc:
    get:
      summary: Return API definition document
      description: Return the OpenAPI document that describes this API.
      operationId: getApiDoc
      x-apiture-implemented: true
      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
      security:
        - apiKey: []
  /activeAccounts:
    post:
      summary: Activate an account
      description: >-
        Activate an account that is eligible to be activated. Only internal accounts which are `pending` or `inactive` or `frozen` may be activated.
        External accounts which are `pending`, `verifying`, `inactive`, `frozen`, `underReview`, or `closed` may be activated. Activating `frozen`
        accounts or `underReview` external accounts is only allowed for administrators. This operation is invoked from the `apiture:activate` link on
        an account, which only exists if the action is allowed. This changes the `state` to `active`.
      operationId: activateAccount
      tags:
        - Account Actions
      parameters:
        - $ref: '#/components/parameters/accountQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/account'
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        '400':
          $ref: '#/components/responses/400InvalidAccountRef'
        '409':
          $ref: '#/components/responses/409AccountConflict'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - banking/write
  /inactiveAccounts:
    post:
      summary: Deactivate an account
      description: >-
        Deactivate an account that is eligible to be deactivated. Only accounts which are `pending` or `active` may be deactivated. This operation is
        invoked from the `apiture:deactivate` link on an account; the link only exists if the action is allowed. This changes the `state` to
        `inactive`. Financial Institution administrators can activate an inactive account with the [`activateAccount`](#op-activateAccount) operation.
      operationId: deactivateAccount
      tags:
        - Account Actions
      parameters:
        - $ref: '#/components/parameters/accountQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/account'
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        '400':
          $ref: '#/components/responses/400InvalidAccountRef'
        '409':
          $ref: '#/components/responses/409AccountConflict'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - banking/write
  /frozenAccounts:
    post:
      summary: Freeze an account
      description: >-
        Freeze an account that is eligible to be frozen. Only accounts which are `active` or `inactive` may be frozen. This operation is invoked from
        the `apiture:freeze` link on an account; the link only exists if the action is allowed. This changes the `state` to `frozen`. Financial
        Institution administrators can unfreeze accounts with the [`activateAccount`](#op-activateAccount) operation.
      operationId: freezeAccount
      tags:
        - Account Actions
      parameters:
        - $ref: '#/components/parameters/accountQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/account'
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        '400':
          $ref: '#/components/responses/400InvalidAccountRef'
        '409':
          $ref: '#/components/responses/409AccountConflict'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - banking/write
  /closedAccounts:
    post:
      summary: Close an account
      tags:
        - Account Actions
      description: >-
        Close an account that is eligible to be closed.  Only accounts which are `active` or `inactive` or `frozen` may be closed. This operation is
        invoked from the `apiture:close` link on an account; the link only exists if the action is allowed. This changes the `state` to `closed`.
        Closing an account will append the text "` (Closed YYYY-MM-DDThh:mm:ssZ)`" to the name, so that the previous name may be used for other
        accounts.
      operationId: closeAccount
      parameters:
        - $ref: '#/components/parameters/accountQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/account'
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        '400':
          $ref: '#/components/responses/400InvalidAccountRef'
        '409':
          $ref: '#/components/responses/409AccountConflict'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - banking/write
  /externalAccountsUnderReview:
    post:
      summary: The account is under review
      tags:
        - Account Actions
      description: >-
        Begin review of an account, if its state allows review. This changes the state to `underReview`. When an external account is under review, the
        financial institution reviews the account details and may approve or reject the account; this will set the state to `active` or `frozen`,
        respectively. Only accounts which are `verifying` may make this state transition, and review is normally triggered automatically if external
        account verification was successful and customer data does not match with the account's holders' information. This operation is invoked from
        the `apiture:review` link on an account, which only exists if the action is allowed to update an account state to under review. Only
        administrative or service applications may call this operation, not bank customers.
      operationId: reviewAccount
      parameters:
        - $ref: '#/components/parameters/accountQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/account'
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        '400':
          $ref: '#/components/responses/400InvalidAccountRef'
        '409':
          $ref: '#/components/responses/409AccountConflict'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - admin/write
  /externalAccountsNeedingMicroDepositVerification:
    post:
      summary: Request micro-deposit verification
      tags:
        - Account Actions
      description: >-
        Start micro-deposit verification for an external account. This operation moves an account with `state` of `failed` or `inactive` to the state
        of `microDepositsRequested`. This lets the user reuse an external account when instant account verification fails. The micro-deposit
        verification flow must be completed as described in the Account Verification API. This operation is available via the
        `apiture:requestMicroDepositVerification` link on an external account if this operation is valid. Only administrative or service applications
        may call this operation, not bank customers.
      operationId: requestMicroDepositVerification
      parameters:
        - $ref: '#/components/parameters/accountQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/account'
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        '400':
          $ref: '#/components/responses/400InvalidAccountRef'
        '409':
          $ref: '#/components/responses/409AccountConflict'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - admin/write
  /bumpedApyAccounts:
    post:
      summary: Bump the account's APY rate
      tags:
        - Account Actions
      description: |-
        On some banking products (CD or time-deposit accounts), the financial institution (Financial
        Institution) may offer a new rate in the `rates.bumpToApy` property. The user can either accept that
        offer or defer accepting the offer in anticipation of a better APY offer in the future. **Note**: The FI
        may restrict the user to only one rate increase per term.

        The client should call this operation when the user elects to accept the APY offer. There is no
        additional confirmation of this action; the new rate becomes effective and future rate bumps may not be
        allowed during the remainder of this account's term. The APY rate that was in effect before bump becomes the
        `rates.originalApy`, the `rates.bumpToApy` becomes the new `apy`, and `rates.bumpToApy` is dropped from the
        `rates`. The account's `cd.apyBumpedAt` records when the user accepted the bumped rate.

        If and only if a new APY offer is available, this operation is listed in the accounts `_links` with the
        link relation `apiture:bumpApyRate`.
      operationId: bumpApyRate
      parameters:
        - $ref: '#/components/parameters/accountQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '202':
          description: Accepted
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/account'
            application/json:
              schema:
                $ref: '#/components/schemas/account'
        '400':
          $ref: '#/components/responses/400InvalidAccountRef'
        '409':
          $ref: '#/components/responses/409BumpApyRateConflict'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - admin/write
  /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'
  '/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 may 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 may 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 may 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'
        '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'
        '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 /accounts/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 may 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 /accounts/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 may 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
  /labels:
    get:
      summary: Localized Labels
      description: |-
        Return a JSON object which defines labels
        for enumeration types defined by the schemas
        defined in this API.


        The labels in the response may not all match the
        requested language; some may be in the default
        language (`en-us`).
      operationId: getLabels
      security:
        - apiKey: []
      x-apiture-implemented: true
      parameters:
        - name: Accept-Language
          in: header
          description: >-
            The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per [RFC
            7231](https://tools.ietf.org/html/rfc7231#section-5.3.5).
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/labelGroups'
            application/json:
              schema:
                $ref: '#/components/schemas/labelGroups'
      tags:
        - API
x-apiture-errors:
  cannotDeleteSoleOwner:
    description: The sole account owner cannot be deleted
    remediation: Deleting account owners must leave at least one owner
  invalidApplication:
    description: 'No account application resource was found for the specified apiture:application link'
    remediation: Check to make sure that the supplied application corresponds to an Apiture application resource
  activeExternalAccountLimitReached:
    description: The active external account limit has been reached
    remediation: Deactivate a unused external account and try again
  invalidAccountId:
    description: No Accounts were found for the specified `accountId`
    remediation: Check to make sure that the supplied `accountId` corresponds to an Apiture account resource
  accountOwnerNotFound:
    description: 'No joint owner was found for the specified {owner}'
    remediation: 'Ensure the supplied {owner} corresponds to an ownerresource'
  invalidAccountStateGrace:
    description: The account is not active or it is not in the grace period
    remediation: Ensure that the account is active and currently in the grace period
  invalidAccountType:
    description: The account is not a CD and is thus not eligible for changing the banking product
    remediation: Select an account that is a CD
  invalidConsentId:
    description: The specified consent can not be found
    remediation: Resubmit request with a valid `consentId`
  consentNotGiven:
    description: The user has not given consent to the selected product’s terms and conditions
    remediation: User must give consent to the selected product's terms and conditions first before changing products
  wrongConsent:
    description: The `consentId` is not consent for the terms and conditions associated with the product
    remediation: Resubmit the request with the correct `consentId`
  noBeneficiariesOnBusinessAccounts:
    description: Business accounts do not have beneficiaries
    remediation: Request beneficiaries only on personal accounts
  productUriNotSupplied:
    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
  contactUriNotSupplied:
    description: A link to the contact was not supplied for the account
    remediation: Include a link to a valid Apiture contact in the `_links` object of your request
  invalidRoutingNumber:
    description: The routing number was malformed
    remediation: Use the correct routing number of the financial institution
  userUriNotSupplied:
    description: A link to the user was not supplied for the account
    remediation: Include a link to a valid Apiture user in the `_links` object of your request
  applicationUriNotSupplied:
    description: A link to the account application was not supplied for the account
    remediation: Include a link to a valid Apiture account application in the _links object of your request
  organizationUriNotSupplied:
    description: A link to the organization was not supplied for the account
    remediation: Include a link to a valid Apiture organization in the _links object of your request
  invalidContact:
    description: No contact was found for the specified contact
    remediation: Check to make sure that the supplied `contactId` corresponds to an Apiture contact resource
  invalidUser:
    description: No user was found for the specified user
    remediation: Check to make sure that the supplied `userId` corresponds to an Apiture user resource
  invalidOrganization:
    description: No organization was found for the specified organization
    remediation: Check to make sure that the supplied organization corresponds to an Apiture organization resource
  invalidProduct:
    description: No Products were found for the specified product
    remediation: Check to make sure that the supplied product corresponds to an Apiture product resource
  invalidProductId:
    description: The specified product can not be found
    remediation: Resubmit the request with an active product
  invalidProductType:
    description: The selected product is not an active CD product
    remediation: Select an active CD product
  invalidProductTarget:
    description: The product target (personal or business) does not match the current account
    remediation: Select a product that matches the current type for the account
  unsatisfiedProductConstraints:
    description: The account does not satisfy the minimum or maximum balance or other constraints of the selected product
    remediation: Select a product with constraints that the account satisfies
  invalidUnmaskedQueryParam:
    description: Only the values of false or true can be supplied with the unmasked query parameter
    remediation: Resubmit the operation without the query parameter or check the documentation for valid query params
  invalidAccountReference:
    description: The supplied account reference was malformed
    remediation: Check to make sure that the supplied `account` parameter corresponds to an Apiture account resource
    attributes:
      properties:
        account:
          type: string
          description: The malformed `account` parameter
  malformedRequestBody:
    description: The supplied request body was malformed
    remediation: Check to make sure that your request body exists and that it does not contain syntax errors
  cannotPatchState:
    description: The state field cannot be updated via PATCH
    remediation: Resubmit the operation and leave state out of the request body
  duplicateExternalAccount:
    description: An account resource with the same account number and routing number already exists
    remediation: 'If the matching external account is closed or inactive, activate it'
  cannotUpdateImmutableExternalAccountProperties:
    description: Update operations may not change immutable properties of the external account unless the account state is `pending`.
    remediation: Remove immutable properties from the request.
    attributes:
      properties:
        immutableProperties:
          description: Immutable properties that are in the request.
          type: array
          minLength: 1
          items:
            type: string
  cannotUpdateImmutableInternalAccountProperties:
    description: Update operations may not change immutable properties of the internal account.
    remediation: Remove immutable properties from the request.
    attributes:
      properties:
        immutableProperties:
          description: Immutable properties that are in the request.
          type: array
          minLength: 1
          items:
            type: string
  invalidAccountState:
    description: Actions on accounts may only be performed if they are in one of the required states
    remediation: Check the state of your Account and the applicable allowed state transitions in the Accounts API documentation
    attributes:
      properties:
        currentState:
          type: string
          description: The current `state` of the account.
          example: pending
        requestedState:
          type: string
          description: The new `state` value in the request.
          example: frozen
        requiredStates:
          type: array
          items:
            type: string
          description: The set of states the account must be in for the requested state change to be valid.
          example:
            - active
  invalidRolloverProduct:
    description: The rollover product is not an openable deposit account product
    remediation: >-
      Submit a request with a rollover product that is openable (active and available for new account opening), and is eligible for deposits or
      initial funding
    attributes:
      properties:
        rolloverProductUri:
          description: The URI of the rollover product.
          type: string
          format: uri
  invalidTransferTargetAccount:
    description: >-
      The account designated for transferring principal and/or interest upon Certificate of Deposit (CD, a.k.a. Time Deposit) account maturity is an
      invalid URI or not a deposit account
    remediation: 'Submit a request with a `apiture:transferTargetAccount` link to a target account that is active and is eligible for deposits or initial funding'
    attributes:
      properties:
        transferTargetUri:
          description: The URI of the transfer target account
          type: string
          format: uri
  invalidInterestTargetAccount:
    description: The account designated for disbursing interest is an invalid URI or not an eligible account
    remediation: 'Submit a request with a `apiture:interestTargetAccount link of an account that is active and is eligible for deposits'
    attributes:
      properties:
        interestTargetUri:
          description: The URI of the transfer target account.
          type: string
          format: uri
  internalError:
    description: An unexpected internal server error occurred
    remediation: Retry the operation again
    implicit:
      - 5xx
  invalidQueryParameterCombination:
    description: Do not use mutually exclusive query parameters
    remediation: 'Use one or the other, but not both'
    attributes:
      properties:
        mutuallyExclusiveQueryParameters:
          type: array
          minLength: 2
          items:
            type: string
          example:
            - state
            - openable
  percentagesNotEqual100:
    description: 'If beneficiaries are listed, the sum of percentages should equal 100'
    remediation: Adjust the percentages to total 100
  invalidBeneficiaryOrganizationType:
    description: Beneficiary organizations must be trusts or charities
    remediation: Specify an organization that is a trust or charity.
  incompleteBeneficiary:
    description: Beneficiary's individual or organization data incomplete
    remediation: Specify all required data for each beneficiary
  duplicateUser:
    description: The owners or authorized signers contains a person more than one time
    remediation: Remove duplicate users
  unverifiedUser:
    description: A owner or authorized signers in the request is not a valid user or has not been verified
    remediation: 'Retry the request with only valid, verified users'
  notExactlyOnePrimaryOwner:
    description: The owners must contain exactly one primary owner
    remediation: Retry the request with exactly one primary owner
  invalidAccountAuthorizationType:
    description: The request includes an authorization type not allowed for this type of account.
    remediation: >-
      Owners for personal accounts must have the type `joint` or `primary`. Authorized signers for business accounts must all have the type
      `authorizedSigner`
  invalidOrganizationState:
    description: An account may not be created with an organization that is not in an `active` state.
    remediation: Please contact your administrator regarding the non-active organization.
x-apiture-traits:
  - api:
      title: Accounts
      basePath: accounts
      links:
        - getApi
        - getApiDoc
        - getAccounts
        - searchAccounts
        - getExternalAccounts
        - createExternalAccount
        - createAccount
        - getLabels
        - getConfigurationGroups
      applied: true
  - resource:
      name: account
      description: 'A banking account, which is an instance of a banking product.'
      excludeMethods:
        - put
        - delete
      applied: true
  - resource:
      name: external account
      description: A banking account held by another financial institution.
      excludeMethods:
        - put
      applied: true
  - configurable:
      applied: true
x-apiture-annotated-at: '2020-10-02T13:37:40.481Z'
components:
  schemas:
    paymentProviderParameters:
      title: Payment Provider Parameters (v1.0.1)
      description: >-
        Parameters that the client passes to the payment provider user interface component. The set of parameter names is dynamic and not defined by a
        schema, as providers may be deployed after the API has been deployed.
      x-apiture-version: 1.0.1
      example:
        _profile: 'https://api.apiture.com/schemas/accounts/paymentProviderParameters/v1.0.1/profile.json'
        issuer: payrailz
        parameters:
          - name: ssoToken
            value: 'cd8775f7f49a/408a|9afa-982a78bd08bd::7466c8c38489/4541|b695/af7ac2ba4537'
          - name: refreshToken
            value: '130d1a7d_fa0c/453a|86a9_93c411a9df3a::5f1d4ade5c34/40e4|8098/493475dd0c92'
          - name: fspId
            value: cPsSsLTx-2982-zkztbwEP
          - name: payerId
            value: 05df5b59-83e4-4f79-8002-42ddbf415feb
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - issuer
            - parameters
      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'
        issuer:
          description: The name of the payment provider associated with the parameters.
          type: string
        parameters:
          description: An array of individual payment provider parameters.
          type: array
          items:
            $ref: '#/components/schemas/paymentProviderParameter'
      type: object
      x-apiture-flattened: true
    paymentProviderParameter:
      title: Payment Provider Parameter (v1.0.1)
      description: >-
        A single name/value parameter that the client passes to the payment provider user interface component. This is an element of
        [`paymentProviderParameters`](#schema-paymentProviderParameters).
      type: object
      x-apiture-version: 1.0.1
      required:
        - name
        - value
      properties:
        name:
          description: The parameter name.
          type: string
          minLength: 4
          maxLength: 32
          pattern: '^[a-zA-Z][-a-zA-Z0-9_]{3,31}'
        value:
          description: The parameter value.
          type: string
          maxLength: 256
      example:
        name: ssoToken
        value: '77639FAF::7E77::4CDF::B096::4B5C5F971691--fc09b0af::a30b::4D34834F682826EE1C44'
      x-apiture-flattened: true
    summaryExternalAccountFields:
      x-apiture-version: 1.1.0
      title: Fields in External Account Summary Representations (v1.1.0)
      description: Fields of the representation of an external account summary resource.
      x-apiture-fragment: true
      properties:
        name:
          description: The user-assigned name of this external account
          type: string
          maxLength: 128
          example: 3rdParty Bank checking
        description:
          description: The user-assigned description of this external account.
          type: string
          maxLength: 4096
          example: My primary checking account at 3rdParty Bank
        institutionName:
          description: The name of the financial institution.
          type: string
          minLength: 2
          maxLength: 128
          example: 3rd Party Bank
        primaryUserName:
          description: The primary user or owner of the external account.
          type: string
          maxLength: 128
          example: Lucille Wellphunded
        title:
          description: The name of the account holder. This is derived from the user resource.
          type: string
          maxLength: 512
          example: John Smith
        type:
          description: >-
            The type of account.  This is the name of an external product type associated with this external account. (The product type is defined in
            the Products API.)
          type: string
        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'
        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'
        state:
          description: The state of the external account.
          type: string
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/externalAccountState'
        verifiedAt:
          description: >-
            The date-time when the external account was most recently verified. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format,
            UTC.
          type: string
          format: date-time
          example: '2018-01-20T18:13:33.375Z'
        attributes:
          $ref: '#/components/schemas/attributes'
      type: object
      x-apiture-flattened: true
    externalAccountFields:
      x-apiture-version: 1.1.0
      title: Fields in External Account Representations (v1.1.0)
      description: Fields of an external account resource.
      x-apiture-fragment: true
      x-apiture-composition:
        - properties:
            - accountNumbers
      properties:
        accountNumbers:
          description: The masked and full account number
          allOf:
            - $ref: '#/components/schemas/externalAccountNumbers'
      type: object
      x-apiture-flattened: true
    externalAccountNumbers:
      x-apiture-version: 1.0.0
      title: External Account Numbers (v1.0.0)
      description: The account numbers necessary to link an external account.
      type: object
      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 included when accounts are embedded in collections or other resources. This
            value is derived and immutable.
          type: string
          minLength: 8
          maxLength: 32
          example: '*************3210'
          readOnly: true
        full:
          description: >-
            The full account number. This value only appears when `?unmasked=true` is passed on the `GET` request for an account. Not included in the
            summary representation of the account that is included in account collection responses. Pass in this value when linking an external
            account. This field can be updated whenever the account is still in the pending state.
          type: string
          minLength: 4
          maxLength: 17
          example: '9876543210'
      x-apiture-flattened: true
    createExternalAccountNumbers:
      x-apiture-version: 1.0.0
      title: Create External Account Numbers (v1.0.0)
      description: The account numbers necessary to link an external account.
      type: object
      required:
        - full
      properties:
        full:
          description: >-
            The full account number. Pass in this value when linking an external account. This field can be updated whenever the account is still in
            the pending state.
          type: string
          minLength: 4
          maxLength: 17
          example: '9876543210'
      x-apiture-flattened: true
    summaryExternalAccount:
      x-apiture-version: 1.1.0
      title: External Account Summary (v1.1.0)
      description: >-
        Summary representation of an external account resource in external accounts 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/accounts/summaryExternalAccount/v1.1.0/profile.json'
        _links:
          self:
            href: /accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c
        name: My account at 3rdParty Bank
        type: savings
        ifxType: SDA
        state: active
        verifiedAt: '2018-01-20T18:13:33.375Z'
        createdAt: '2018-01-20T05:54:52.375Z'
        routingNumber: '021000021'
        accountNumbers:
          masked: '*************3210'
        institutionName: 3rd Party Bank
        primaryUserName: Lana Michaels
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/summaryExternalAccountFields'
        - properties:
            - _id
            - createdAt
            - accountNumbers
            - _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/externalAccountEmbeddedObjects'
        _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 user-assigned name of this external account
          type: string
          maxLength: 128
          example: 3rdParty Bank checking
        description:
          description: The user-assigned description of this external account.
          type: string
          maxLength: 4096
          example: My primary checking account at 3rdParty Bank
        institutionName:
          description: The name of the financial institution.
          type: string
          minLength: 2
          maxLength: 128
          example: 3rd Party Bank
        primaryUserName:
          description: The primary user or owner of the external account.
          type: string
          maxLength: 128
          example: Lucille Wellphunded
        title:
          description: The name of the account holder. This is derived from the user resource.
          type: string
          maxLength: 512
          example: John Smith
        type:
          description: >-
            The type of account.  This is the name of an external product type associated with this external account. (The product type is defined in
            the Products API.)
          type: string
        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'
        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'
        state:
          description: The state of the external account.
          type: string
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/externalAccountState'
        verifiedAt:
          description: >-
            The date-time when the external account was most recently verified. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format,
            UTC.
          type: string
          format: date-time
          example: '2018-01-20T18:13:33.375Z'
        attributes:
          $ref: '#/components/schemas/attributes'
        _id:
          description: The unique identifier for this external account resource. This is an immutable opaque string.
          readOnly: true
          type: string
        createdAt:
          description: >-
            The date-time when the external account was created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339)format, UTC. This is
            derived and immutable.
          type: string
          format: date-time
          example: '2018-01-20T05:54:52.375Z'
        accountNumbers:
          description: The masked and full account number
          allOf:
            - $ref: '#/components/schemas/externalAccountNumbers'
      type: object
      x-apiture-flattened: true
    createExternalAccount:
      title: Create External Account (v1.1.0)
      description: |
        Representation used to create a new external account. The request should include a *`apiture:productType`* link to a product type.


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

        Response and request bodies using this <strong><code>createExternalAccount</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><strong><code>apiture:productType</code></strong></td>
        <td>URI of the corresponding banking product type.</td><td><code>GET</code></td>
        </table>
      x-apiture-version: 1.1.0
      required:
        - name
        - type
        - accountNumbers
        - routingNumber
        - institutionName
      example:
        _profile: 'https://api.apiture.com/schemas/accounts/createExternalAccount/v1.1.0/profile.json'
        name: My account at 3rdParty Bank
        institutionName: 3rd Party Bank
        primaryUserName: Lana Michaels
        type: savings
        ifxType: SDA
        routingNumber: '021000021'
        accountNumbers:
          full: '9876543210'
        _embedded:
          accountOwners:
            - firstName: Steven
              middleName: Benjamin
              lastName: Storey
              fullName: Steven B. Storey
              type: primary
              addresses:
                - type: home
                  addressLine1: 555 N Front Street
                  addressLine2: Apt 555
                  city: Wilmington
                  regionCode: NC
                  postalCode: '28401'
                  countryCode: US
        _links:
          'apiture:productType':
            href: /products/productTypes/a93c19ba-f96d-4b30-8dd7-92b2d6ffcb0b
      x-apiture-links:
        - rel: 'apiture:productType'
          title: URI of the corresponding banking product type.
          method: get
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryExternalAccountFields'
        - $ref: '#/components/schemas/abstractRequest'
        - properties:
            - accountNumbers
            - _embedded
      properties:
        name:
          description: The user-assigned name of this external account
          type: string
          maxLength: 128
          example: 3rdParty Bank checking
        description:
          description: The user-assigned description of this external account.
          type: string
          maxLength: 4096
          example: My primary checking account at 3rdParty Bank
        institutionName:
          description: The name of the financial institution.
          type: string
          minLength: 2
          maxLength: 128
          example: 3rd Party Bank
        primaryUserName:
          description: The primary user or owner of the external account.
          type: string
          maxLength: 128
          example: Lucille Wellphunded
        title:
          description: The name of the account holder. This is derived from the user resource.
          type: string
          maxLength: 512
          example: John Smith
        type:
          description: >-
            The type of account.  This is the name of an external product type associated with this external account. (The product type is defined in
            the Products API.)
          type: string
        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'
        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'
        state:
          description: The state of the external account.
          type: string
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/externalAccountState'
        verifiedAt:
          description: >-
            The date-time when the external account was most recently verified. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format,
            UTC.
          type: string
          format: date-time
          example: '2018-01-20T18:13:33.375Z'
        attributes:
          $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: Embedded objects.
          allOf:
            - $ref: '#/components/schemas/createExternalAccountEmbeddedObjects'
        _profile:
          description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
          type: string
          format: uri
        accountNumbers:
          description: The masked and full account number
          allOf:
            - $ref: '#/components/schemas/createExternalAccountNumbers'
      type: object
      x-apiture-flattened: true
    externalAccount:
      x-apiture-version: 1.1.1
      title: External Account (v1.1.1)
      description: >
        Representation of an external account resource, a banking account held by

        another financial institution.



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


        Response and request bodies using this <strong><code>externalAccount</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-getExternalAccount'><strong><code>self</code></strong></a></td><td>Fetch a representation of this external
        account</td><td><code>GET</code></td>

        </tr>


        <tr>

        <td><a href='#op-activateAccount'><strong><code>apiture:activate</code></strong></a></td><td>Activate an
        account</td><td><code>POST</code></td>

        </tr>


        <tr>

        <td><a href='#op-deactivateAccount'><strong><code>apiture:deactivate</code></strong></a></td><td>Deactivate an
        account</td><td><code>POST</code></td>

        </tr>


        <tr>

        <td><a href='#op-freezeAccount'><strong><code>apiture:freeze</code></strong></a></td><td>Freeze an account</td><td><code>POST</code></td>

        </tr>


        <tr>

        <td><a href='#op-closeAccount'><strong><code>apiture:close</code></strong></a></td><td>Close an account</td><td><code>POST</code></td>

        </tr>


        <tr>

        <td><a href='#op-reviewAccount'><strong><code>apiture:review</code></strong></a></td><td>The account is under
        review</td><td><code>POST</code></td>

        </tr>

        </table>
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/accounts/externalAccount/v1.1.1/profile.json'
        _links:
          self:
            href: /accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:deactivate':
            href: /accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:freeze':
            href: /accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:close':
            href: /accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c
        _embedded:
          productType:
            _id: 0a8a1349-d652-4d5e-accc-047ec815d78a
            _profile: 'https://api.apiture.com/schemas/products/productType/v1.0.1/profile.json'
            name: savings
            label: Personal Savings
        name: My account at 3rdParty Bank
        type: savings
        ifxType: SDA
        state: active
        primaryUserName: Lucille Wellphunded
        verifiedAt: '2018-01-20T18:13:33.375Z'
        createdAt: '2018-01-20T05:54:52.375Z'
        institutionName: 3rdParty Bank
        routingNumber: '021000021'
        accountNumbers:
          masked: '*************3210'
      x-apiture-links:
        - rel: self
          operationId: getExternalAccount
        - rel: 'apiture:activate'
          operationId: activateAccount
        - rel: 'apiture:deactivate'
          operationId: deactivateAccount
        - rel: 'apiture:freeze'
          operationId: freezeAccount
        - rel: 'apiture:close'
          operationId: closeAccount
        - rel: 'apiture:review'
          operationId: reviewAccount
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryExternalAccount'
        - $ref: '#/components/schemas/externalAccountFields'
      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/externalAccountEmbeddedObjects'
        _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 user-assigned name of this external account
          type: string
          maxLength: 128
          example: 3rdParty Bank checking
        description:
          description: The user-assigned description of this external account.
          type: string
          maxLength: 4096
          example: My primary checking account at 3rdParty Bank
        institutionName:
          description: The name of the financial institution.
          type: string
          minLength: 2
          maxLength: 128
          example: 3rd Party Bank
        primaryUserName:
          description: The primary user or owner of the external account.
          type: string
          maxLength: 128
          example: Lucille Wellphunded
        title:
          description: The name of the account holder. This is derived from the user resource.
          type: string
          maxLength: 512
          example: John Smith
        type:
          description: >-
            The type of account.  This is the name of an external product type associated with this external account. (The product type is defined in
            the Products API.)
          type: string
        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'
        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'
        state:
          description: The state of the external account.
          type: string
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/externalAccountState'
        verifiedAt:
          description: >-
            The date-time when the external account was most recently verified. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format,
            UTC.
          type: string
          format: date-time
          example: '2018-01-20T18:13:33.375Z'
        attributes:
          $ref: '#/components/schemas/attributes'
        _id:
          description: The unique identifier for this external account resource. This is an immutable opaque string.
          readOnly: true
          type: string
        createdAt:
          description: >-
            The date-time when the external account was created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339)format, UTC. This is
            derived and immutable.
          type: string
          format: date-time
          example: '2018-01-20T05:54:52.375Z'
        accountNumbers:
          description: The masked and full account number
          allOf:
            - $ref: '#/components/schemas/externalAccountNumbers'
      type: object
      x-apiture-flattened: true
    externalAccountSummaries:
      x-apiture-version: 1.0.0
      title: External Account Summaries (v1.0.0)
      type: object
      description: A page of embedded external account summaries.
      required:
        - items
      properties:
        items:
          description: An array containing a page of external account items.
          type: array
          items:
            $ref: '#/components/schemas/summaryExternalAccount'
      x-apiture-flattened: true
    externalAccounts:
      x-apiture-version: 1.1.0
      title: External Account Collection (v1.1.0)
      description: >-
        Collection of external accounts. 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`).
      required:
        - _embedded
      example:
        _profile: 'https://api.apiture.com/schemas/accounts/externalAccounts/v1.1.0/profile.json'
        start: '10'
        limit: 10
        count: 67
        name: external accounts
        _links:
          self:
            href: /accounts/externalAccounts?start=10&limit=10
          first:
            href: /accounts/externalAccounts?start=0&limit=10
          next:
            href: /accounts/externalAccounts?start=20&limit=10
          collection:
            href: /accounts/externalAccounts
        _embedded:
          items:
            _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
            name: My account at 3rdParty Bank
            _profile: 'https://api.apiture.com/schemas/accounts/externalAccount/v1.1.0/profile.json'
            type: savings
            ifxType: SDA
            state: active
            primaryUserName: Lucille Wellphunded
            institutionName: 3rdParty Bank
            verifiedAt: '2018-01-20T18:13:33.375Z'
            createdAt: '2018-01-20T05:54:52.375Z'
            routingNumber: '021000021'
            accountNumbers:
              masked: '*************3210'
            _links:
              self:
                href: /accounts/externalAccounts/0399abed-fd3d-4830-a88b-30f38b8a365c
      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.
          allOf:
            - $ref: '#/components/schemas/externalAccountSummaries'
        _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
    externalAccountOwners:
      x-apiture-version: 1.1.0
      title: External Account Owners (v1.1.0)
      description: 'A (possibly empty) list of external account owners. Since this is a small finite set, this is not a paginated collection, just an array.'
      example:
        _profile: 'https://api.apiture.com/schemas/accounts/externalAccountOwners/v1.1.0/profile.json'
        accountOwners:
          - firstName: Steven
            middleName: Benjamin
            lastName: Storey
            fullName: Steven B. Storey
            type: primary
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - accountOwners
      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'
        accountOwners:
          description: The array of account owners. This may be an empty array (0 items) but is always present.
          type: array
          minLength: 0
          items:
            $ref: '#/components/schemas/externalAccountOwner'
      type: object
      x-apiture-flattened: true
    externalAccountOwner:
      x-apiture-version: 1.1.0
      title: External Account Owner (v1.1.0)
      description: 'An external account owner. Since this is a small finite set, this is not a paginated collection, just an array.'
      type: object
      example:
        firstName: Steven
        middleName: Benjamin
        lastName: Storey
        fullName: Steven B. Storey
        type: primary
        addresses:
          - type: home
            addressLine1: 555 N Front Street
            addressLine2: Apt 555
            city: Wilmington
            regionCode: NC
            postalCode: '28401'
            countryCode: US
      x-apiture-composition:
        - $ref: '#/components/schemas/contactName'
        - properties:
            - fullName
            - type
            - addresses
      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
        fullName:
          description: The account owner's full name (first name and last name or owning business name).
          type: string
          maxLength: 128
        type:
          description: The account owner's ownership type.
          allOf:
            - $ref: '#/components/schemas/authorizationType'
        addresses:
          description: 'The owner''s addresses; `addresses[0]` is the primary mailing address of the owning individual or business.'
          type: array
          items:
            $ref: '#/components/schemas/address'
      x-apiture-flattened: true
    accountCreationFields:
      x-apiture-version: 1.0.0
      title: Account Creation Fields (v1.0.0)
      description: Fields used when creating an account.
      x-apiture-fragment: true
      type: object
      properties:
        name:
          description: The user-assigned name of this account.
          type: string
          maxLength: 128
          minLength: 1
        description:
          description: The user-assigned description of this account.
          type: string
          maxLength: 4096
          minLength: 1
        interestPolicy:
          description: >-
            How interest credits on the account (if any) are disbursed. This field is `none` for non-interest bearing accounts. If this is `transfer`,
            the `apiture:interestTargetAccount` link in the account's `_link` references the target account for the disbursements. This field applies
            if the account is a CD (Certificate of Deposit a.k.a. Time Deposit) account.
          allOf:
            - $ref: '#/components/schemas/interestPolicy'
      example:
        name: My College CD
        description: Higher interest college savings
        interestPolicy: capitalize
      x-apiture-flattened: true
    interestPolicy:
      title: Account Interest Policy (v1.0.0)
      description: |-
        How interest credits on the account (if any) are disbursed.

        <strong><code>interestPolicy</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>none</code></strong></td><td>None: This account does not earn interest.</td>
            </tr>
        <tr>
            <td><strong><code>capitalize</code></strong></td><td>Capitalize: When interest is posted, it is deposited back into the account.</td>
            </tr>
        <tr>
            <td><strong><code>transfer</code></strong></td><td>Transfer: When interest is posted, it is transferred to another account.</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `interestPolicy` in the response from the [`getLabels`](#op-getLabels) operation.
      x-apiture-enum: interestPolicy
      type: string
      enum:
        - none
        - capitalize
        - transfer
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    accountFields:
      x-apiture-version: 2.6.0
      title: Account Fields (v2.6.0)
      description: Fields of an internal account.
      x-apiture-fragment: true
      x-apiture-composition:
        - $ref: '#/components/schemas/accountCreationFields'
        - properties:
            - _id
            - state
            - title
            - productName
            - type
            - subtype
            - ifxType
            - accountNumbers
            - balance
            - allowsTransfers
            - openedAt
            - interest
            - cd
            - cycleWithdrawalCount
            - name
            - description
            - institutionName
            - routingNumber
            - paymentsEnabled
            - checkOrderingEnabled
      properties:
        name:
          description: The user-assigned name of this account.
          type: string
          maxLength: 128
          minLength: 1
        description:
          description: The user-assigned description of this account.
          type: string
          maxLength: 4096
          minLength: 1
        interestPolicy:
          description: >-
            How interest credits on the account (if any) are disbursed. This field is `none` for non-interest bearing accounts. If this is `transfer`,
            the `apiture:interestTargetAccount` link in the account's `_link` references the target account for the disbursements. This field applies
            if the account is a CD (Certificate of Deposit a.k.a. Time Deposit) account.
          allOf:
            - $ref: '#/components/schemas/interestPolicy'
        _id:
          description: The unique identifier for this account resource. This is an immutable opaque string.
          readOnly: true
          type: string
        state:
          description: The state of the internal account.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/internalAccountState'
        title:
          description: The name of the account holder. This is derived from the user resource.
          type: string
          maxLength: 512
          example: John Smith
        productName:
          description: The name of the banking product that this account is an instance of. This is derived from the product resource.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        type:
          description: >-
            The name of the banking product type. This is derived from the _product_ resource. The `subtype` is more specific; `type` is a broad
            account category.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        subtype:
          description: The name of the banking product sub type. This is derived from the _product_ resource. This is more specific than the `type`.
          type: string
          maxLength: 128
          minLength: 1
          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'
        accountNumbers:
          description: Different representations of the account number.
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
        balance:
          description: The account balance.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/balance'
        allowsTransfers:
          type: boolean
          description: 'If `true`, the account is open to deposits and credits such as transfers or rollovers.'
          readOnly: true
          default: true
        openedAt:
          description: 'The date-time the account was opened. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.'
          type: string
          format: date-time
          readOnly: true
        interest:
          description: Interest disbursement settings for the account.
          type: object
          allOf:
            - $ref: '#/components/schemas/interest'
        cd:
          description: Certificate of Deposit properties for the account.
          type: object
          allOf:
            - $ref: '#/components/schemas/cd'
        cycleWithdrawalCount:
          description: >-
            The number of withdrawals made against this account within the current statement cycle. For some deposit accounts such as savings
            accounts, this is limited to a maximum defined in the corresponding product's constraints. If exceeded over multiple statement cycles, the
            financial institution may convert the account to a demand deposit (checking) account.
          type: integer
          readOnly: true
          minimum: 0
          example: 2
        institutionName:
          description: 'The name of the financial institution (FI), derived from the FI''s configuration.'
          type: string
          minLength: 2
          maxLength: 128
          readOnly: true
          example: Canapi Bank
        routingNumber:
          description: >-
            The account routing number which identifies the financial institution (FI). The full routing number is derived from the FI's
            configuration.
          type: string
          minLength: 9
          maxLength: 9
          readOnly: true
          example: '021000021'
        paymentsEnabled:
          description: >-
            If true, payments features such as bill pay are enabled and scheduled payments will debit from this account.<br>The property
            `paymentsEnabled` was added on version `2.5.0` of the schema.
          type: boolean
          readOnly: true
          x-apiture-since: 2.5.0
        checkOrderingEnabled:
          description: >-
            If `true`, the user requesting this account resource may order checks for this account through the Check Orders API. The account state
            must be `active` and the associated product must also enable check ordering.<br>The property `checkOrderingEnabled` was added on version
            `2.6.0` of the schema.
          type: boolean
          readOnly: true
          default: false
          x-apiture-since: 2.6.0
      type: object
      x-apiture-flattened: true
    summaryAccount:
      x-apiture-version: 2.6.0
      title: Account Summary (v2.6.0)
      description: |-
        Summary representation of an account resource in accounts 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.


        By default, not all account fields are set when paging through accounts
        via the collection. The following fields are not set unless
        the collection request includes `?fields=*`:

          * `balance`
          * `interest`
          * `cd`


        Additionally, the `summaryAccount` representation does not
        support the full set of links or the nested owners, beneficiaries,
        and authorized signers available in the `account` schema returned by the [`getAccount`](#op-getAccount) operation
        (`GET /accounts/{accountId}`).
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/accounts/summaryAccount/v2.6.0/profile.json'
        _links:
          self:
            href: /accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:product':
            href: /products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3
        name: My savings
        description: My Basic savings account
        routingNumber: '021000021'
        institutionName: Canapi Bank
        state: active
        title: John Smith
        ifxType: SDA
        allowsTransfers: true
        accountNumbers:
          full: '9876543210'
          masked: '*************3210'
        balance:
          current: '3450.30'
          available: '3450.30'
          currency: USD
        openedAt: '2019-04-30T10:01:07.375Z'
        paymentsEnabled: false
        checkOrderingEnabled: false
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/accountFields'
      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 user-assigned name of this account.
          type: string
          maxLength: 128
          minLength: 1
        description:
          description: The user-assigned description of this account.
          type: string
          maxLength: 4096
          minLength: 1
        interestPolicy:
          description: >-
            How interest credits on the account (if any) are disbursed. This field is `none` for non-interest bearing accounts. If this is `transfer`,
            the `apiture:interestTargetAccount` link in the account's `_link` references the target account for the disbursements. This field applies
            if the account is a CD (Certificate of Deposit a.k.a. Time Deposit) account.
          allOf:
            - $ref: '#/components/schemas/interestPolicy'
        _id:
          description: The unique identifier for this account resource. This is an immutable opaque string.
          readOnly: true
          type: string
        state:
          description: The state of the internal account.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/internalAccountState'
        title:
          description: The name of the account holder. This is derived from the user resource.
          type: string
          maxLength: 512
          example: John Smith
        productName:
          description: The name of the banking product that this account is an instance of. This is derived from the product resource.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        type:
          description: >-
            The name of the banking product type. This is derived from the _product_ resource. The `subtype` is more specific; `type` is a broad
            account category.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        subtype:
          description: The name of the banking product sub type. This is derived from the _product_ resource. This is more specific than the `type`.
          type: string
          maxLength: 128
          minLength: 1
          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'
        accountNumbers:
          description: Different representations of the account number.
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
        balance:
          description: The account balance.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/balance'
        allowsTransfers:
          type: boolean
          description: 'If `true`, the account is open to deposits and credits such as transfers or rollovers.'
          readOnly: true
          default: true
        openedAt:
          description: 'The date-time the account was opened. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.'
          type: string
          format: date-time
          readOnly: true
        interest:
          description: Interest disbursement settings for the account.
          type: object
          allOf:
            - $ref: '#/components/schemas/interest'
        cd:
          description: Certificate of Deposit properties for the account.
          type: object
          allOf:
            - $ref: '#/components/schemas/cd'
        cycleWithdrawalCount:
          description: >-
            The number of withdrawals made against this account within the current statement cycle. For some deposit accounts such as savings
            accounts, this is limited to a maximum defined in the corresponding product's constraints. If exceeded over multiple statement cycles, the
            financial institution may convert the account to a demand deposit (checking) account.
          type: integer
          readOnly: true
          minimum: 0
          example: 2
        institutionName:
          description: 'The name of the financial institution (FI), derived from the FI''s configuration.'
          type: string
          minLength: 2
          maxLength: 128
          readOnly: true
          example: Canapi Bank
        routingNumber:
          description: >-
            The account routing number which identifies the financial institution (FI). The full routing number is derived from the FI's
            configuration.
          type: string
          minLength: 9
          maxLength: 9
          readOnly: true
          example: '021000021'
        paymentsEnabled:
          description: >-
            If true, payments features such as bill pay are enabled and scheduled payments will debit from this account.<br>The property
            `paymentsEnabled` was added on version `2.5.0` of the schema.
          type: boolean
          readOnly: true
          x-apiture-since: 2.5.0
        checkOrderingEnabled:
          description: >-
            If `true`, the user requesting this account resource may order checks for this account through the Check Orders API. The account state
            must be `active` and the associated product must also enable check ordering.<br>The property `checkOrderingEnabled` was added on version
            `2.6.0` of the schema.
          type: boolean
          readOnly: true
          default: false
          x-apiture-since: 2.6.0
      type: object
      x-apiture-flattened: true
    createAccount:
      x-apiture-version: 1.0.0
      title: Create Account (v1.0.0)
      description: |-
        Representation used to create a new account. The request must contain a
        link to an active product, user, organization (for a business account)
        and, optionally, an approved account application; the account type and product are
        extracted from that product resource, and additional associations
        to people or organizations that should be attached to the account may come
        from the application, such as co-owners, owning business (if not passed in the `apiture:organization` link), etc. The product must be
        passed as `apiture:product`, user as `apiture:user`, organization as
        `apiture:organization`, and account application should be passed as the
        `apiture:application` link in `_links` in the request.


        Interest-bearing accounts can either have interest disbursements _capitalized_ (back
        into the account) or _transferred_ to another internal account or an external account.
        This account is specified in the `apiture:interestTargetAccount` link
        in the request's `_links`.  The account must be active and
        eligible for deposits/credits.
        This link can be updated in the [`patchAccount`](#op-patchAccount) operations.


        An account for a Certificate of Deposit (CD, a.k.a. Time Deposit) account
        may also specify an `apiture:rolloverProduct` link at creation time.
        If this account rolls over into a new product at maturity,
        this link is the URI of the banking product for the rollover account
        (see the Products API).
        This is used if `cd.maturityPolicy` is `rolloverPrincipalAndInterest`
        or `rolloverPrincipalAndTransferInterest`.


        CD accounts may also specify an existing account (savings, checking) to transfer principal
        and/or interest to upon maturity in the
        `apiture:transferTargetAccount` link. The account must be
        an internal account which is active and available for deposits.
        This is used if `cd.maturityPolicy` is `transferPrincipalAndInterest`
        or `rolloverPrincipalAndTransferInterest`.

        An `apiture:user` must be defined for specifying the owner of a non-business account and as an authorized signer of a business account.

        Business accounts must specify the organization owning the account as an organization
        link, such as `apiture:organization`.
      example:
        _profile: 'https://api.apiture.com/schemas/accounts/createAccount/v1.0.0/profile.json'
        name: My car savings account
        description: 'My savings account used to save for a new car, opened in 2019. I try to put $550/month into this account.'
        _links:
          'apiture:user':
            href: /users/users/00007276-8b25-4e97-ac82-e1e17a2ff7c2
          'apiture:product':
            href: /products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3
          'apiture:organization':
            href: /organizations/organizations/a1c9212c-0a5c-4779-a3fc-95e1c1e92e71
          'apiture:application':
            href: /accountApplications/applications/2f23b9fe-532f-4e82-943e-b079ea55aebc
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractRequest'
        - $ref: '#/components/schemas/accountCreationFields'
      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
        name:
          description: The user-assigned name of this account.
          type: string
          maxLength: 128
          minLength: 1
        description:
          description: The user-assigned description of this account.
          type: string
          maxLength: 4096
          minLength: 1
        interestPolicy:
          description: >-
            How interest credits on the account (if any) are disbursed. This field is `none` for non-interest bearing accounts. If this is `transfer`,
            the `apiture:interestTargetAccount` link in the account's `_link` references the target account for the disbursements. This field applies
            if the account is a CD (Certificate of Deposit a.k.a. Time Deposit) account.
          allOf:
            - $ref: '#/components/schemas/interestPolicy'
      type: object
      x-apiture-flattened: true
    updateAccountProduct:
      x-apiture-version: 1.0.0
      title: Update Account Product (v1.0.0)
      description: Properties required to update a product on an account.
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractRequest'
        - properties:
            - productId
            - consentId
      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
        productId:
          description: The ID of the banking product that this account is converted to. This is the `_id` from a product or product summary object.
          type: string
          readOnly: true
          example: cbbd1529-bbf8-4e55-94e7-6403e9ce1adc
        consentId:
          description: >-
            The id of the user's most recent consent for the new product. This is the `_id` of the consent resource whose `targetUri` is the terms and
            conditions document for the selected product.
          type: string
          readOnly: true
          example: cbbd1529-bbf8-4e55-94e7-6403e9ce1adc
      type: object
      x-apiture-flattened: true
    account:
      x-apiture-version: 2.6.0
      title: Account (v2.6.0)
      description: >
        Representation of an account resource. A banking account, which is an

        instance of a banking product



        A business account may have authorized signers, which are people authorized

        to perform banking operations on the account such as

        initiating funds transfers.



        The `_links` on an external account may

        include the following, depending on the state of the account:


        The `apiture:rolloverProduct` and `apiture:transferTargetAccount`

        links may be updated by the [`patchAccount`](#op-patchAccount)operations.

        The owners are listed by the [`getOwners`](#op-getOwners) operation.

        The beneficiaries are listed and updated by the [`getBeneficiaries`](#op-getBeneficiaries) and

        [`patchBeneficiaries`](#op-patchBeneficiaries) operations.

        The authorized signers are listed and updated by the [`getAuthorizedSigners`](#op-getAuthorizedSigners)

        and [`updateAuthorizedSigners`](#op-updateAuthorizedSigners) operation.



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


        Response and request bodies using this <strong><code>account</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-getAccount'><strong><code>self</code></strong></a></td><td>Fetch a representation of this
        account</td><td><code>GET</code></td>

        </tr>


        <tr>

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

        <td></td><td><code>GET</code></td>


        <tr>

        <td><a href='#op-getOwners'><strong><code>apiture:owners</code></strong></a></td><td>Fetch the primary and joint owners of an
        account</td><td><code>GET</code></td>

        </tr>


        <tr>

        <td><a href='#op-getBeneficiaries'><strong><code>apiture:beneficiaries</code></strong></a></td><td>Fetch the account's
        beneficiaries</td><td><code>GET</code></td>

        </tr>


        <tr>

        <td><a href='#op-getAuthorizedSigners'><strong><code>apiture:authorizedSigners</code></strong></a></td><td>Fetch the business account's
        authorized signers</td><td><code>GET</code></td>

        </tr>


        <tr>

        <td><a href='#op-activateAccount'><strong><code>apiture:activate</code></strong></a></td><td>Activate an
        account</td><td><code>POST</code></td>

        </tr>


        <tr>

        <td><a href='#op-deactivateAccount'><strong><code>apiture:deactivate</code></strong></a></td><td>Deactivate an
        account</td><td><code>POST</code></td>

        </tr>


        <tr>

        <td><a href='#op-freezeAccount'><strong><code>apiture:freeze</code></strong></a></td><td>Freeze an account</td><td><code>POST</code></td>

        </tr>


        <tr>

        <td><a href='#op-closeAccount'><strong><code>apiture:close</code></strong></a></td><td>Close an account</td><td><code>POST</code></td>

        </tr>


        <tr>

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

        <td></td><td><code>GET</code></td>


        <tr>

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

        <td></td><td><code>GET</code></td>


        <tr>

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

        <td></td><td><code>GET</code></td>


        <tr>

        <td><a href='#op-bumpApyRate'><strong><code>apiture:bumpApyRate</code></strong></a></td><td>Bump the account's APY
        rate</td><td><code>POST</code></td>

        </tr>

        </table>
      x-apiture-links:
        - rel: self
          operationId: getAccount
        - rel: 'apiture:productType'
          description: The product type for this account.
          verb: get
        - rel: 'apiture:owners'
          operationId: getOwners
        - rel: 'apiture:beneficiaries'
          operationId: getBeneficiaries
        - rel: 'apiture:authorizedSigners'
          operationId: getAuthorizedSigners
        - rel: 'apiture:activate'
          operationId: activateAccount
        - rel: 'apiture:deactivate'
          operationId: deactivateAccount
        - rel: 'apiture:freeze'
          operationId: freezeAccount
        - rel: 'apiture:close'
          operationId: closeAccount
        - rel: 'apiture:rolloverProduct'
          verb: get
          description: The product for which a rollover account will be created at maturity.
        - rel: 'apiture:transferTargetAccount'
          verb: get
          description: Target account for transferring principal and interest upon maturity of CD accounts.
        - rel: 'apiture:interestTargetAccount'
          verb: get
          description: Target account for transferring interest disbursements (other than maturity).
        - rel: 'apiture:bumpApyRate'
          operationId: bumpApyRate
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/accounts/account/v2.6.0/profile.json'
        name: My 1y CD
        description: My 1-year CD
        productName: 1 Year Basic Certificate of Deposit
        title: John Smith
        routingNumber: '021000021'
        institutionName: Canapi Bank
        state: active
        allowsTransfers: true
        accountNumbers:
          masked: '*************3210'
        balance:
          current: '3450.30'
          available: '3450.30'
          pendingCredits: '3000.00'
          pendingDebits: '1500.00'
          currency: USD
        rates:
          apy: '1.24'
          apye: '1.24'
          nominal: '1.242'
        openedAt: '2019-04-30T10:01:07.375Z'
        type: CD
        subtype: Basic CD
        ifxType: CDA
        interest:
          yearToDate: '30.12'
          sinceOpening: '44.80'
        cd:
          maturesAt: '2019-10-30T08:16:00.000Z'
          term: P1Y
          maturityPolicy: rolloverPrincipalAndInterest
          rolloverProductName: Basic Savings
          transferAccount:
            name: My Premiere Savings
            title: John Smith
            institutionName: 3rd Party Bank
            routingNumber: '021000021'
            accountNumbers:
              masked: '*************3210'
          inDebitGracePeriod: true
          inCreditGracePeriod: true
          gracePeriodDebitEndsAt: '2020-07-30T04:59:59.000Z'
          gracePeriodCreditEndsAt: '2020-07-30T04:59:59.000Z'
        cycleWithdrawalCount: 0
        interestTargetAccount:
          name: My Premiere Savings
          title: John Smith
          institutionName: 3rd Party Bank
          routingNumber: '021000021'
          accountNumbers:
            masked: '*************3210'
        paymentsEnabled: false
        checkOrderingEnabled: false
        coreBanking:
          finxact:
            positionId: '--4WS6jKGGlD4u-----5F-Bg-'
        _embedded:
          product:
            _id: 0aba4bae-f18b-4c12-af99-5f8dbd682ae3
            _profile: 'https://api.apiture.com/schemas/products/product/v1.1.1/profile.json'
        _links:
          self:
            href: /accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:product':
            href: /products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3
          'apiture:deactivate':
            href: /accounts/inactiveAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:freeze':
            href: /accounts/frozenAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:close':
            href: /accounts/closedAccounts?account=0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:acceptApyOffer':
            href: /accounts/acceptedApyOffers?account=0399abed-fd3d-4830-a88b-30f38b8a365c
          'apiture:rolloverProduct':
            href: /products/products/24112ba3-1aa0-4a8c-979c-e40f05786bd7
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryAccount'
        - properties:
            - rates
            - interestTargetAccount
            - _embedded
            - coreBanking
            - 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: Embedded objects.
          allOf:
            - $ref: '#/components/schemas/embeddedAccountObjects'
        _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 user-assigned name of this account.
          type: string
          maxLength: 128
          minLength: 1
        description:
          description: The user-assigned description of this account.
          type: string
          maxLength: 4096
          minLength: 1
        interestPolicy:
          description: >-
            How interest credits on the account (if any) are disbursed. This field is `none` for non-interest bearing accounts. If this is `transfer`,
            the `apiture:interestTargetAccount` link in the account's `_link` references the target account for the disbursements. This field applies
            if the account is a CD (Certificate of Deposit a.k.a. Time Deposit) account.
          allOf:
            - $ref: '#/components/schemas/interestPolicy'
        _id:
          description: The unique identifier for this account resource. This is an immutable opaque string.
          readOnly: true
          type: string
        state:
          description: The state of the internal account.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/internalAccountState'
        title:
          description: The name of the account holder. This is derived from the user resource.
          type: string
          maxLength: 512
          example: John Smith
        productName:
          description: The name of the banking product that this account is an instance of. This is derived from the product resource.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        type:
          description: >-
            The name of the banking product type. This is derived from the _product_ resource. The `subtype` is more specific; `type` is a broad
            account category.
          type: string
          maxLength: 128
          minLength: 1
          readOnly: true
        subtype:
          description: The name of the banking product sub type. This is derived from the _product_ resource. This is more specific than the `type`.
          type: string
          maxLength: 128
          minLength: 1
          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'
        accountNumbers:
          description: Different representations of the account number.
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
        balance:
          description: The account balance.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/balance'
        allowsTransfers:
          type: boolean
          description: 'If `true`, the account is open to deposits and credits such as transfers or rollovers.'
          readOnly: true
          default: true
        openedAt:
          description: 'The date-time the account was opened. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp.'
          type: string
          format: date-time
          readOnly: true
        interest:
          description: Interest disbursement settings for the account.
          type: object
          allOf:
            - $ref: '#/components/schemas/interest'
        cd:
          description: Certificate of Deposit properties for the account.
          type: object
          allOf:
            - $ref: '#/components/schemas/cd'
        cycleWithdrawalCount:
          description: >-
            The number of withdrawals made against this account within the current statement cycle. For some deposit accounts such as savings
            accounts, this is limited to a maximum defined in the corresponding product's constraints. If exceeded over multiple statement cycles, the
            financial institution may convert the account to a demand deposit (checking) account.
          type: integer
          readOnly: true
          minimum: 0
          example: 2
        institutionName:
          description: 'The name of the financial institution (FI), derived from the FI''s configuration.'
          type: string
          minLength: 2
          maxLength: 128
          readOnly: true
          example: Canapi Bank
        routingNumber:
          description: >-
            The account routing number which identifies the financial institution (FI). The full routing number is derived from the FI's
            configuration.
          type: string
          minLength: 9
          maxLength: 9
          readOnly: true
          example: '021000021'
        paymentsEnabled:
          description: >-
            If true, payments features such as bill pay are enabled and scheduled payments will debit from this account.<br>The property
            `paymentsEnabled` was added on version `2.5.0` of the schema.
          type: boolean
          readOnly: true
          x-apiture-since: 2.5.0
        checkOrderingEnabled:
          description: >-
            If `true`, the user requesting this account resource may order checks for this account through the Check Orders API. The account state
            must be `active` and the associated product must also enable check ordering.<br>The property `checkOrderingEnabled` was added on version
            `2.6.0` of the schema.
          type: boolean
          readOnly: true
          default: false
          x-apiture-since: 2.6.0
        rates:
          description: The account's rates of return (for deposit accounts) or interest rate (for debit accounts).
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/interestRates'
        interestTargetAccount:
          description: >-
            If the account is set to disburse earned interest into another account, this is the target account. The fields are derived from the
            account that is assigned with the `apiture:interestTargetAccount` link when [creating](#op-createAccount) or [updating](#op-patchAccount)
            the account.
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/interestTargetAccount'
        coreBanking:
          description: Properties of an account that are specific to the banking core provider.
          allOf:
            - $ref: '#/components/schemas/accountCoreBanking'
        attributes:
          $ref: '#/components/schemas/attributes'
      type: object
      x-apiture-flattened: true
    createExternalAccountEmbeddedObjects:
      title: External Account Embedded Objects (v1.1.0)
      description: Optional embedded resources (the owners) to include when creating an external account.
      type: object
      x-apiture-version: 1.1.0
      properties:
        accountOwners:
          description: The array of account owners. This may be an empty array (0 items) but is always present.
          type: array
          minLength: 0
          items:
            $ref: '#/components/schemas/externalAccountOwner'
      example:
        accountOwners:
          - firstName: Steven
            middleName: Benjamin
            lastName: Storey
            fullName: Steven B. Storey
            type: primary
            addresses:
              - type: home
                addressLine1: 555 N Front Street
                addressLine2: Apt 555
                city: Wilmington
                regionCode: NC
                postalCode: '28401'
                countryCode: US
      x-apiture-flattened: true
    accountCoreBanking:
      title: Account Core Banking (v1.0.0)
      description: >-
        Account properties that are specific to the banking core provider. The actual banking core in which the Apiture platform is executing
        determines what data appears. The sub-object for each banking core is present on an account only if the Apiture system is connected to the
        corresponding core banking provider. The name of each sub-object is the name of that provider.
      type: object
      properties:
        finxact:
          description: >-
            Account properties that are specific to the Finxact banking core system. This object is present only if the Apiture platform is connected
            to a Finxact system.
          allOf:
            - $ref: '#/components/schemas/accountFinxactCoreBanking'
          readOnly: true
      example:
        finxact:
          positionId: '--4WS6lKGlD4u-----5F-Bg-'
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    accountFinxactCoreBanking:
      title: Account Core Banking Properties (v1.0.0)
      description: Account properties that are specific to the Finxact banking core system.
      type: object
      properties:
        positionId:
          description: The ID of the Finxact position ID. This is valid if the account is a single position account.
          type: string
      example:
        positionId: '--4WS6lKGlD4u-----5F-Bg-'
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    externalAccountEmbeddedObjects:
      title: External Account Embedded Objects (v1.0.0)
      description: >-
        Embedded objects to include within an external account's `_embedded` object, as selected with the `embed` query parameter on the
        [`getExternalAccounts`](#op-getExternalAccounts) operation.
      type: object
      properties:
        accountOwners:
          description: The array of account owners.
          type: array
          minLength: 0
          items:
            $ref: '#/components/schemas/externalAccountOwner'
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    embeddedAccountObjects:
      x-apiture-version: 1.2.0
      title: Embedded Account Objects (v1.2.0)
      description: >-
        Embedded objects to include within an account's `_embedded` object, as selected with the `embed` query parameter on the
        [`getAccount`](#op-getAccount) operation.
      type: object
      properties:
        owners:
          description: A personal account's primary and joint owners. This object is only available for personal accounts.
          allOf:
            - $ref: '#/components/schemas/owners'
        beneficiaries:
          description: A personal account's primary and joint owners. This object is only available for personal accounts.
          allOf:
            - $ref: '#/components/schemas/beneficiaries'
        owningBusiness:
          description: >-
            A business account's owning organization. This object is only available for business accounts. This is derived from the `organization` in
            the account application resource with which the account was created. This object is an Organization in the Organizations API. The business
            organization maintains a list of _authorized signers_ who having permission to banking activity on the account.
          allOf:
            - $ref: '#/components/schemas/organization'
          readOnly: true
        authorizedSigners:
          description: A list of authorized signers for a business account. This object is only available for business accounts.
          allOf:
            - $ref: '#/components/schemas/authorizedSigners'
        product:
          description: Summary representation of a product resource in products collections.
          allOf:
            - $ref: '#/components/schemas/summaryProduct'
      x-apiture-flattened: true
    owners:
      x-apiture-version: 1.1.0
      title: Owners (v1.1.0)
      description: >-
        Personal account primary and joint owners. These are fetched and set via the [`getOwners`](#op-getOwners) operations. Owners are added when
        other users accept invitations to become joint account holders. The user cannot directly modify this set of owners.
      example:
        items:
          _id: p001
          userId: bd9e7a93-32cc-435d-ac57-f21faa082318
          customerId: '10047294723672'
          type: primary
          firstName: John
          middleName: Daniel
          lastName: Smith
          taxId: '*****3333'
          citizen: true
          addresses:
            - _id: ha5
              type: home
              addressLine1: 555 N Front Street
              addressLine2: Apt 5555
              city: Wilmington
              regionCode: NC
              postalCode: 28401-5405
              countryCode: US
          preferredMailingAddressId: ha5
          emailAddress: JohnDanielSmith@example.com
        _profile: 'https://api.apiture.com/schemas/accounts/owners/v1.1.0/profile.json'
      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: >-
            An array of account owners. For personal accounts, this array contains exactly one `primary` owner and zero or more `joint` owners. The
            maximum number of joint account owners, including the primary owner, is 10 (but in the future, this will be configurable by the financial
            institution.) The primary owner for new accounts is the user who creates the account application and account. Joint owners are added by
            inviting others.
          type: array
          minLength: 1
          items:
            $ref: '#/components/schemas/accountOwner'
      type: object
      x-apiture-flattened: true
    accountOwner:
      title: Account Owner (v1.0.0)
      description: A primary or joint owner of an account; a person who is authorized to perform banking operations in the account.
      example:
        _id: p001
        userId: bd9e7a93-32cc-435d-ac57-f21faa082318
        customerId: '10047294723672'
        type: primary
        firstName: John
        middleName: Daniel
        lastName: Smith
        taxId: '*****3333'
        citizen: true
        addresses:
          - _id: ha5
            type: home
            addressLine1: 555 N Front Street
            addressLine2: Apt 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
        preferredMailingAddressId: ha5
        emailAddress: JohnDanielSmith@example.com
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/authorization'
        - properties:
            - _id
      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
        _id:
          description: The unique identifier for this account owner resource. This is an immutable opaque string.
          readOnly: true
          type: string
      type: object
      x-apiture-flattened: true
    authorizedSigners:
      title: Authorized Signers (v1.1.0)
      description: >-
        The list of users who are authorized to access the organization and its bank accounts.


        This schema was resolved from
        [`organizations/authorizedSigners`](https://production.api.apiture.com/schemas/organizations/authorizedSigners/v1.1.0/model.json).
      x-apiture-version: 1.1.0
      example:
        items:
          _id: as001
          userId: bd9e7a93-32cc-435d-ac57-f21faa082318
          customerId: '10047294723672'
          type: authorizedSigner
          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: Apt 5555
              city: Wilmington
              regionCode: NC
              postalCode: 28401-5405
              countryCode: US
          preferredMailingAddressId: ha5
          emailAddress: JohnDanielSmith@example.com
        _profile: 'https://api.apiture.com/schemas/organizations/authorizedSigners/v1.1.0/profile.json'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/authorizedSigners/v1.1.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/authorizedSigner'
      type: object
      x-apiture-flattened: true
    beneficiaries:
      x-apiture-version: 2.0.0
      title: Beneficiaries (v2.0.0)
      description: Account beneficiaries who received the account assets if the owner dies. Beneficiaries apply only to personal accounts.
      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 beneficiaries who receive the account assets payable on death (POD) of the account owner(s). This array may be empty. If the
            array is not empty, the percentages in this array should add up to 100 and may not exceed 100. However, if the array contains exactly one
            beneficiary, the percentage is automatically adjusted to 100%. The maximum number of account beneficiaries is 10 (but in the future, this
            will be configurable by the financial institution.) Beneficiaries are updated via the [`patchBeneficiaries`](#op-patchBeneficiaries)
            operation.
          type: array
          maxLength: 10
          items:
            $ref: '#/components/schemas/beneficiary'
      type: object
      x-apiture-flattened: true
    beneficiary:
      x-apiture-version: 2.0.0
      title: Beneficiary (v2.0.0)
      description: >-
        An account beneficiary which receives a percentage of the account assets if the personal account owner dies. A beneficiary is either a person
        or a business organization representing a trust or charity.
      properties:
        type:
          description: Indicates if this beneficiary is a business organization or an individual person.
          type: string
          enum:
            - individual
            - organization
        taxId:
          description: >-
            The beneficiary's encrypted taxId value. In request bodies, this must be the full tax ID, encrypted using current encryption keys. In a
            response, it is a masked tax ID value, with one or more leading `'*'` characters and only the last four characters unmasked, such as
            `"*****3333"`.
          type: string
          x-apiture-encrypt: secret
        _encryption:
          description: Metadata about the encrypted `taxId` property.
          x-apiture-write-only: true
          allOf:
            - $ref: '#/components/schemas/encryptionMetadata'
          example:
            taxId: secret-12345678
        individual:
          description: >-
            Details of a beneficiary who is an individual person. The `individual` property is only used if `type` is `individual` and is thus
            mutually exclusive with `organization`.
          allOf:
            - $ref: '#/components/schemas/individualBeneficiary'
        organization:
          description: >-
            Details of a trust or charity beneficiary. The `organization` property is only used if `type` is `organization` and is thus mutually
            exclusive with `individual`.


            The organization must have a `type` of `trust` or `nonProfit`; if `type` is `nonProfit` the `subtype` must be `charitableTrust`. Each
            organization must also include their TIN in an `identification` record with `type` of `taxId`. Trusts must also include their legal name,
            mailing address, the date the trust was established, and the legal name. Charities and non-profit beneficiary must include the charity's
            legal name and a mailing address.
          allOf:
            - $ref: '#/components/schemas/simpleOrganization'
          example:
            name: Doctors Without Borders USA
            label: Doctors Without Borders
            type: nonProfit
            subtype: charitableTrust
            addresses:
              - type: headquarters
                addressLine1: 40 Rector St.
                addressLine2: 16th Floor
                city: New York
                regionCode: NY
                postalCode: '10006'
        percentage:
          description: |-
            The percent of the account assets that this beneficiary should receive.


            A value of 0 is allowed so a user can change the percentage to a non-zero value
            in the future without having to enter all the beneficiary data again.
          type: integer
          minimum: 0
          maximum: 100
          example: 25
      example:
        type: organization
        taxId: wf+Btcid6QIYsID9R5cCimyco8YJVZwwkqhHrJT6UjBxK1ddL2aKLJt2w8xRzVhClCNJs
        _encryption:
          taxId: secret-12345678
        percent: 40
        organization:
          name: Doctors Without Borders USA
          label: Doctors Without Borders
          type: nonProfit
          subtype: charitableTrust
          addresses:
            - type: headquarters
              addressLine1: 40 Rector St.
              addressLine2: 16th Floor
              city: New York
              regionCode: NY
              postalCode: '10006'
      type: object
      x-apiture-flattened: true
    individualBeneficiary:
      x-apiture-version: 1.0.0
      title: Individual Beneficiary (v1.0.0)
      description: >-
        Details of a beneficiary who is an individual person. The `individual` property is only used if `type` is `individual` and is thus mutually
        exclusive with `organization`.
      required:
        - firstName
        - lastName
        - addresses
        - birthdate
      example:
        type: individual
        percent: 40
        individual:
          firstName: Bobby
          lastName: Tables
          birthDate: '1990-01-01'
          emailAddress: test@example.com
          relationship: Person
        taxId: dhjke45785huryur89rid7liuld8973hdodhwliw474hq4gp47h
        _encryption:
          taxid: secret-12345678
      x-apiture-composition:
        - $ref: '#/components/schemas/individualIdentification'
        - properties:
            - birthdate
            - relationship
      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
        birthdate:
          description: The beneficiary's birth date in `YYYY-MM-DD` format.
          type: string
          format: date
        relationship:
          description: 'The beneficiary''s relationship to the primary account owner, such as `"child"` or `"spouse"`.'
          type: string
      type: object
      x-apiture-flattened: true
    cd:
      x-apiture-version: 1.3.0
      title: Certificate of Deposit (CD) Properties (v1.3.0)
      description: 'Properties of a Certificate of Deposit (CD, a.k.a. Time Deposit) account.'
      type: object
      properties:
        maturesAt:
          description: >-
            The date-time that this account will mature. The account matures on the date which is derived by adding the duration of the `term` to the
            opening date-time. The date-time is a string in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTF format: `YYYY-MM-DDThh:mm:ss.sssZ`.
          type: string
          format: date-time
          example: '2019-10-30T08:16:00.000Z'
        apyBumpedAt:
          description: >-
            The date-time that the user bumped the rate after the financial institution offered a higher rate. This property only exists if the user
            elected to bump the APY rate during this account's current term. If the account is rolled over to a new account, this property does not
            exist (even if the rollover has the same account number). See the [`bumpApyRate`](#op-bumpApyRate) operation. The date-time is a string in
            [RFC 3339](https://tools.ietf.org/html/rfc3339) UTF format: `YYYY-MM-DDThh:mm:ss.sssZ`.
          type: string
          format: date-time
          example: '2019-10-30T08:16:00.000Z'
        term:
          description: |-
            The maturity term.
            The account matures on the date which is derived by adding the
            duration of the `term` to the opening date-time.


            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
          readOnly: true
          example: P6M
        maturityPolicy:
          description: What happens to the account upon maturity.
          allOf:
            - $ref: '#/components/schemas/maturityPolicy'
        rolloverProductName:
          description: >-
            If this account rolls over into a new product at maturity, this is the name of the banking product for the rollover account. The product
            is defined in the `apiture:rolloverProduct` in the account's `_links`.
          type: string
          readOnly: true
        transferAccount:
          description: >-
            Details of the existing internal or external account where interest and/or balance are transferred at CD maturity, depending on the
            settings in `maturityPolicy`. This object only exists if the maturity policy specifies transferring. This object and the properties are
            derived from the account referenced by the `apiture:transferTargetAccount` link that is used in [`createAccount`](#op-createAccount) or
            [`updateAccount`](#op-updateAccount).
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/cdTransferAccount'
        inDebitGracePeriod:
          description: >-
            If this account is within the debit grace period, then it is eligible to withdraw funds without being assessed a penalty. If `true` the
            account is in the grace period in which debits are allowed.
          type: boolean
        inCreditGracePeriod:
          description: >-
            If this account is within the credit grace period, then it is eligible to add funds without being assessed a penalty. If `true` the
            account is in the grace period in which credits are allowed.
          type: boolean
        gracePeriodDebitEndsAt:
          description: >-
            If the account is in a debit-eligible grace period, this is the date the grace period ends for debits in [RFC
            3339](https://tools.ietf.org/html/rfc3339) date-time format, `YYYY-MM-DDThh:mm:ssZ`. Otherwise, this field is omitted.
          type: string
          format: date-time
          example: '2020-07-30T04:59:59.000Z'
        gracePeriodCreditEndsAt:
          description: >-
            If the account is in a credit-eligible grace period, this is the date the grace period ends for credits in [RFC
            3339](https://tools.ietf.org/html/rfc3339) date format, `YYYY-MM-DDThh:mm:ssZ`. Otherwise, this field is omitted.
          type: string
          format: date-time
          example: '2020-07-30T04:59:59.000Z'
        beneficialOwnersConfirmed:
          description: >-
            When updating the maturity settings for a business CD account, a `true` value indicates the user has confirmed the existing beneficial
            owners on the account. This property exists _only_ in [`patchAccount`](#op-patchAccount) _request_ operations and is not present in
            responses. Note: The beneficial owners are part of the owning organization for business accounts; see the Organization's API.
          type: boolean
      example:
        _profile: 'https://api.apiture.com/schemas/accounts/cd/v1.3.0/profile.json'
        maturesAt: '2019-10-30T08:16:00.000Z'
        apyBumpedAt: '2019-10-30T08:16:00.000Z'
        term: P6M
        maturityPolicy: transferPrincipalAndInterest
        transferAccount:
          name: My Premiere Savings
          title: John Smith
          institutionName: 3rd Party Bank
          routingNumber: '021000021'
          accountNumbers:
            masked: '*************3210'
            full: '9876543210'
        inDebitGracePeriod: true
        inCreditGracePeriod: true
        gracePeriodDebitEndsAt: '2020-07-30T04:59:59.000Z'
        gracePeriodCreditEndsAt: '2020-07-30T04:59:59.000Z'
      x-apiture-flattened: true
    interestTargetAccount:
      title: Interest Target Account (v1.0.0)
      description: Properties of the target where the financial institution transfers interest disbursements.
      example:
        name: My Premiere Savings
        title: John Smith
        routingNumber: '021000021'
        accountNumbers:
          masked: '*************3210'
        institutionName: 3rd Party Bank
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/accountIdentification'
      properties:
        name:
          description: The account name.
          type: string
        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 which manages the account.
          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 masked and full account numbers for this account. The `full` value only appears when `?unmasked=true` is passed on the `GET` request.
          type: object
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
          readOnly: true
          example:
            masked: '*************3210'
            full: '9876543210'
      type: object
      x-apiture-flattened: true
    cdTransferAccount:
      title: CD Transfer Account (v1.0.0)
      description: Properties of the target account for transferring funds from a maturing CD account.
      example:
        name: My Premiere Savings
        title: John Smith
        routingNumber: '021000021'
        accountNumbers:
          masked: '*************3210'
        institutionName: 3rd Party Bank
      x-apiture-version: 1.0.0
      x-apiture-composition:
        - $ref: '#/components/schemas/accountIdentification'
      properties:
        name:
          description: The account name.
          type: string
        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 which manages the account.
          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 masked and full account numbers for this account. The `full` value only appears when `?unmasked=true` is passed on the `GET` request.
          type: object
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
          readOnly: true
          example:
            masked: '*************3210'
            full: '9876543210'
      type: object
      x-apiture-flattened: true
    accountIdentification:
      title: Account Identification (v1.0.0)
      description: Properties which identify a specific account.
      type: object
      properties:
        name:
          description: The account name.
          type: string
        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 which manages the account.
          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 masked and full account numbers for this account. The `full` value only appears when `?unmasked=true` is passed on the `GET` request.
          type: object
          allOf:
            - $ref: '#/components/schemas/accountNumbers'
          readOnly: true
          example:
            masked: '*************3210'
            full: '9876543210'
      example:
        name: My Premiere Savings
        title: John Smith
        routingNumber: '021000021'
        accountNumbers:
          masked: '*************3210'
        institutionName: 3rd Party Bank
      x-apiture-version: 1.0.0
      x-apiture-flattened: true
    interest:
      x-apiture-version: 1.0.0
      title: Interest (v1.0.0)
      description: The account's accrued interest. The values are in the `currency` associated with the account.
      type: object
      properties:
        yearToDate:
          description: The interest earned to date since the beginning of the year.
          type: string
          example: '3.12'
          readOnly: true
        sinceOpening:
          description: The interest earned since the account was opened.
          type: string
          example: '34.62'
          readOnly: true
      x-apiture-flattened: true
    accountSummaries:
      x-apiture-version: 2.5.0
      title: Account Summaries (v2.5.0)
      type: object
      description: A page of embedded account summaries.
      required:
        - items
      properties:
        items:
          description: An array containing a page of account items.
          type: array
          items:
            $ref: '#/components/schemas/summaryAccount'
      x-apiture-flattened: true
    accounts:
      x-apiture-version: 2.6.0
      title: Account Collection (v2.6.0)
      description: >-
        Collection of accounts. 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`).
      required:
        - _embedded
      example:
        _profile: 'https://api.apiture.com/schemas/accounts/accounts/v2.6.0/profile.json'
        start: '10'
        limit: 10
        count: 67
        name: accounts
        _links:
          self:
            href: /accounts/accounts?start=10&limit=10
          first:
            href: /accounts/accounts?start=0&limit=10
          next:
            href: /accounts/accounts?start=20&limit=10
          collection:
            href: /accounts/accounts
        _embedded:
          items:
            _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
            _profile: 'https://api.apiture.com/schemas/accounts/summaryAccount/v2.5.0/profile.json'
            name: My basic savings account
            title: John Smith
            state: active
            balance:
              current: '3450.30'
              available: '3450.30'
              currency: USD
            accountNumbers:
              masked: '*************3210'
            paymentsEnabled: false
            _links:
              self:
                href: /accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c
              'apiture:product':
                href: /products/products/0aba4bae-f18b-4c12-af99-5f8dbd682ae3
      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.
          allOf:
            - $ref: '#/components/schemas/accountSummaries'
        _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
    balance:
      x-apiture-version: 1.0.0
      title: Account Balance (v1.0.0)
      description: >-
        The balance of the account. This is derived data and not mutable through the API. Balances may be negative, indicating a deficit or loan
        balance.
      properties:
        current:
          description: The current balance is the available balance plus all pending credits and minus all pending debits.
          type: string
          readOnly: true
          example: '3450.30'
        available:
          description: >-
            The string representation of the exact decimal available balance. For deposit accounts, this reflects the amount that may be used for
            withdrawals or transfers. This field does not apply to debit accounts such as loans.
          type: string
          readOnly: true
          example: '2850.30'
        hold:
          description: >-
            The `hold` balance is the total amount of funds held due to holds placed on individual transactions. Transaction holds reduce the
            available balance until expiration.
          type: string
          readOnly: true
          example: '500.00'
        reserve:
          description: A `reserve` balance is the amount placed on hold by the Financial Institution.  A reserve balance reduces the available balance.
          type: string
          readOnly: true
          example: '100.00'
        pendingCredits:
          description: >-
            The string representation of the total of all pending credits against this account. This contributes to the current balance but not the
            available balance.
          type: string
          readOnly: true
          example: '3000.00'
        pendingDebits:
          description: >-
            The string representation of the total of all pending debits against this account. This contributes to the current balance but not the
            available balance.
          type: string
          readOnly: true
          example: '0.00'
        currency:
          description: 'The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this balance.'
          type: string
          readOnly: true
      example:
        current: '3450.30'
        available: '2850.30'
        hold: '500.00'
        reserve: '100.00'
        currency: USD
      type: object
      x-apiture-flattened: true
    interestRates:
      x-apiture-version: 1.1.0
      title: Interest Rates (v1.1.0)
      description: >-
        The interest rates of the account. For deposit accounts, the rates describe the rate of return; for loan accounts, this includes the interest
        rate charged on balances. The values strings containing a decimal percentage in order to represent the rate exactly to two or three decimal
        places (as indicated by the pattern) For example, `"1.24"` means 1.24%.
      type: object
      properties:
        apy:
          description: 'The annual percentage yield (APY) i the effective yield from interest, including compounding, as a percentage.'
          type: string
          format: decimal
          readOnly: true
          example: '1.24'
          pattern: '^-?\d{1,2}\.\d{2}$'
        apye:
          description: >-
            The annual percentage yield that this account is earning. The `apye` is an annualized rate based on the amount of interest actually
            earned, including compounding, as a percentage of the account's average daily balance. The `apye` is updated every account statement
            period.
          type: string
          format: decimal
          readOnly: true
          pattern: '^-?\d{1,2}\.\d{2}$'
          example: '1.24'
        nominal:
          description: The interest rate that is effective as of the current day. This is the rate before accounting for inflation.
          type: string
          format: decimal
          readOnly: true
          example: '1.242'
          pattern: '^-?\d{1,2}\.\d{2,3}$'
        bumpToApy:
          description: >-
            The APY of a new rate offered by the financial institution. This property exists if and only if the associated deposit product offers a
            new bumped APY rate, typically only on CD (time-deposit) accounts that normally have a fixed APY for the term of the CD. The user can
            accept this APY increase offer via the [`bumpApyRate`](#op-bumpApyRate) operation.
          type: string
          format: decimal
          readOnly: true
          pattern: '^-?\d{1,2}\.\d{2}$'
          example: '1.24'
        originalApy:
          description: >-
            The original APY for this account's term, before the user bumped the APY rate. If the user bumped the rate, the `apy` reflects the new
            bumped APY. This property exists only on CD time-deposit accounts and only if the user has previously bumped APY rate.
          type: string
          format: decimal
          readOnly: true
          pattern: '^-?\d{1,2}\.\d{2}$'
          example: '1.24'
        apr:
          description: The base annual percentage rate (APR); typically present on loan accounts.
          type: string
          format: decimal
          readOnly: true
          pattern: '^-?\d{1,2}\.\d{2,3}$'
          example: '1.242'
      example:
        apy: '1.24'
        nominal: '1.242'
        apye: '1.24'
      x-apiture-flattened: true
    internalAccountState:
      x-apiture-version: 1.0.0
      title: Internal Account State (v1.0.0)
      description: |-
        The state of the account.
        This field is immutable and derived.


        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`.

        <strong><code>internalAccountState</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 new account resource has been created but the account or its data has not been verified and the account is not active.</td>
            </tr>
        <tr>
            <td><strong><code>active</code></strong></td><td>Active: The account has been created and is now active and available for transactions as determined by the account's banking product.</td>
            </tr>
        <tr>
            <td><strong><code>inactive</code></strong></td><td>Inactive: An account which is marked inactive and not available for new transactions. Users can change their Inactive accounts back to active.</td>
            </tr>
        <tr>
            <td><strong><code>frozen</code></strong></td><td>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.</td>
            </tr>
        <tr>
            <td><strong><code>closed</code></strong></td><td>Closed: An account that is closed and removed from use Closed accounts are not eligble 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.</td>
            </tr>
        </table>


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `internalAccountState` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - pending
        - active
        - inactive
        - frozen
        - closed
      x-apiture-enum: internalAccountState
      example: active
      x-apiture-flattened: true
    externalAccountState:
      x-apiture-version: 1.1.0
      title: External Account State (v1.1.0)
      description: >-
        The state of an external (linked) banking account.

        This field is immutable and derived.



        To change the state of an account, `POST` the account ID to

        the corresponding resource endpoints, using the corresponding

        link on the external 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`.

        * To indicate a request to verify the account using micro-deposits, use the `apiture:requestMicroDepositVerification` link to `POST` to
        `/externalAccountsNeedingMicroDepositVerification`.


        <strong><code>externalAccountState</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 new external account that has not been verified</td>
            </tr>
        <tr>
            <td><strong><code>verifying</code></strong></td><td>Verifying: A new account that is being verified. This state only applies to _external_ accounts.</td>
            </tr>
        <tr>
            <td><strong><code>failed</code></strong></td><td>Failed: A external account which has failed account verification.</td>
            </tr>
        <tr>
            <td><strong><code>active</code></strong></td><td>Active: An account which is active and available for use and for making new transactions.</td>
            </tr>
        <tr>
            <td><strong><code>inactive</code></strong></td><td>Inactive: An account which is marked inactive and not available for new transactions. Inactive accounts may be changed back to active.</td>
            </tr>
        <tr>
            <td><strong><code>frozen</code></strong></td><td>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.</td>
            </tr>
        <tr>
            <td><strong><code>closed</code></strong></td><td>Closed: An account that is closed and removed from use. Closed accounts are not eligble 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.</td>
            </tr>
        <tr>
            <td><strong><code>underReview</code></strong></td><td>Under Review: A new account that is under review. This state only applies to _external_ accounts.</td>
            </tr>
        <tr>
            <td><strong><code>microDepositsRequested</code></strong></td><td>Micro-deposits Requested: A new account that is initiaing micro deposits verification. This state only applies to _external_ accounts.</td>
            </tr>
        </table>



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

        named `externalAccountState` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - pending
        - verifying
        - failed
        - active
        - inactive
        - frozen
        - closed
        - underReview
        - microDepositsRequested
      x-apiture-enum: externalAccountState
      example: active
      x-apiture-flattened: true
    accountSearch:
      title: AccountSearch (v1.0.0)
      description: Search parameters for finding an account via sensitive data.
      x-apiture-version: 1.0.0
      required:
        - accountNumber
      example:
        _profile: 'https://api.apiture.com/schemas/accounts/accountSearch/v1.0.0/profile.json'
        accountNumber: '9876543210'
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractRequest'
        - properties:
            - accountNumber
      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
        accountNumber:
          description: The full banking account number.
          type: string
          minLength: 4
          maxLength: 17
          example: '9876543210'
      type: object
      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.

        This schema was resolved from [`common/errorResponse`](https://production.api.apiture.com/schemas/common/errorResponse/v2.0.0/model.json).
      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
    root:
      x-apiture-version: 2.0.1
      title: API Root (v2.0.1)
      description: |-
        A HAL response, with hypermedia `_links` for the top-level resources and operations in API.

        This schema was resolved from [`common/root`](https://production.api.apiture.com/schemas/common/root/v2.0.1/model.json).
      example:
        id: apiName
        name: API name
        apiVersion: 1.0.0
        _profile: 'https://production.api.apiture.com/schemas/common/root/v2.0.1/profile.json'
        _links: {}
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/root/v2.0.1/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
    configurationGroups:
      x-apiture-version: 2.0.1
      title: Configuration Group Collection (v2.0.1)
      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`).


        This schema was resolved from
        [`configurations/configurationGroups`](https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.1/model.json).
      example:
        _profile: 'https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.1/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.1/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.1/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.1/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.
          allOf:
            - $ref: '#/components/schemas/configurationGroupsEmbedded'
        _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.1
      title: Configuration Group (v2.0.1)
      description: >-
        Represents a configuration group.


        This schema was resolved from
        [`configurations/configurationGroup`](https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.0.1/model.json).
      example:
        _profile: 'https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.1/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.1/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).


        This schema was resolved from
        [`configurations/configurationSchema`](https://production.api.apiture.com/schemas/configurations/configurationSchema/v2.0.1/model.json).
      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.


        This schema was resolved from
        [`configurations/configurationValues`](https://production.api.apiture.com/schemas/configurations/configurationValues/v2.0.0/model.json).
      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
    labelGroups:
      title: Label Groups (v1.0.1)
      description: |-
        A set of named groups of labels, each of which contains multiple item labels.


        The abbreviated example shows two groups, one named `structure` and one named `estimatedAnnualRevenue`.
        The first has items with names such as `corporation`, `llc` and `soleProprietorship`,
        with text labels for each in the default and in French. The second has
        items for estimated revenue *ranges* but no localized labels. For example, the item named `from1to10Million`
        has the `label` "$1M to $10M" and the range `[1000000.00,10000000.00)`.

        This schema was resolved from [`common/labelGroups`](https://production.api.apiture.com/schemas/common/labelGroups/v1.0.1/model.json).
      x-apiture-version: 1.0.1
      example:
        _profile: 'https://api.apiture.com/schemas/common/labelGroups/v1.0.1/profile.json'
        groups:
          structure:
            unknown:
              label: Unknown
              code: '0'
              hidden: true
            corporation:
              label: Corporation
              code: '1'
              variants:
                fr:
                  label: Soci\u00e9t\u00e9
            partnership:
              label: Partnership
              code: '2'
              variants:
                fr:
                  label: Partenariat
            llc:
              label: Limited Liability Company
              code: '2'
              variants:
                fr:
                  label: Soci\u00e9t\u00e9 \u00e9 Responsabilit\u00e9 Limit\u00e9e
            nonProfit:
              label: Non Profit
              code: '4'
              variants:
                fr:
                  label: Non Lucratif
            financialInstitution:
              label: Financial Institution
              code: '8'
              variants:
                fr:
                  label: Institution financi\u00e8re
            soleProprietorship:
              label: Sole Proprietorship
              code: '11'
              variants:
                fr:
                  label: Entreprise individuelle
            other:
              label: Other
              code: '254'
              variants:
                fr:
                  label: Autre
          estimatedAnnualRevenue:
            unknown:
              label: Unknown
              code: '0'
            under1Million:
              label: Under $1M
              code: '1'
              range: '[0,1000000.00)'
            from1to10Million:
              label: $1M to $10M
              code: '2'
              range: '[1000000.00,10000000.00)'
            from10to100Million:
              label: $10M to $100M
              code: '3'
              range: '[10000000.00,100000000.00)'
            over100Million:
              label: 'Over $100,000,000.00'
              code: '4'
              range: '[100000000.00,]'
            other:
              label: Other
              code: '254'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/labelGroups/v1.0.1/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - properties:
            - groups
      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'
        groups:
          description: 'Groups of localized labels. This maps *group names* &rarr; [*a group of labels*](#schema-labelgroup) within that group.'
          x-apiture-key: groupName
          additionalProperties:
            $ref: '#/components/schemas/labelGroup'
      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`.


        This schema was resolved from
        [`common/abstractResource`](https://production.api.apiture.com/schemas/common/abstractResource/v2.0.0/model.json).
      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
    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.


        This schema was resolved from [`products/ifxType`](https://production.api.apiture.com/schemas/products/ifxType/v1.0.0/model.json).
      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
    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.

        This schema was resolved from [`common/attributes`](https://production.api.apiture.com/schemas/common/attributes/v2.0.0/model.json).
      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
    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`.


        This schema was resolved from [`common/abstractRequest`](https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/model.json).
      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
    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.

        This schema was resolved from [`common/collection`](https://production.api.apiture.com/schemas/common/collection/v2.0.0/model.json).
      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
    contactName:
      title: Name (v1.0.0)
      description: |-
        A person's name.

        This schema was resolved from [`contacts/contactName`](https://production.api.apiture.com/schemas/contacts/contactName/v1.0.0/model.json).
      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
    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.


        This schema was resolved from
        [`contacts/authorizationType`](https://production.api.apiture.com/schemas/contacts/authorizationType/v1.0.0/model.json).
      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
    address:
      title: Address (v1.0.0)
      description: |-
        A postal address with the address type and an identifier.

        This schema was resolved from [`contacts/address`](https://production.api.apiture.com/schemas/contacts/address/v1.0.0/model.json).
      type: object
      required:
        - type
      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-composition:
        - $ref: '#/components/schemas/simpleAddress'
        - properties:
            - type
            - label
            - otherType
            - _id
      properties:
        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}$'
        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
        _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}$'
      x-apiture-flattened: true
    accountNumbers:
      title: Account Numbers (v1.0.0)
      description: |-
        Different representations of an account number.

        This schema was resolved from [`common/accountNumbers`](https://production.api.apiture.com/schemas/common/accountNumbers/v1.0.0/model.json).
      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
    organization:
      title: Organization (v1.2.1)
      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.

        This schema was resolved from
        [`organizations/organization`](https://production.api.apiture.com/schemas/organizations/organization/v1.2.1/model.json).
      x-apiture-version: 1.2.1
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        customerId: '1000489353781'
        _profile: 'https://api.apiture.com/schemas/organizations/organization/v1.2.1/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: '+19105550155'
            _id: wp0
          - type: mobile
            number: '+191055501554'
            _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
        establishedOn: '2009-07-09'
        identification:
          - type: taxId
            value: 00-9999999
        state: active
        governmentOwned: false
        registeredIn: NC
        publiclyHeld: false
        smallBusiness: true
        taxExempt: false
        currency: USD
        achEnabled: true
        mobileCheckDepositEnabled: true
        wireEnabled: true
        estimatedAnnualRevenue: from1to10Million
        estimatedMonthlyAmounts:
          percentGrossRevenue: from0to25Percent
          sentWire: moreThanOneMillion
          receivedWire: oneHundredThousandToOneMillion
          mobileCheckDeposit: upToOneHundredThousand
          receivedAch: upToOneHundredThousand
          sentAch: moreThanOneMillion
        type: corporation
        subtype: soleProprietorship
        employeeCountLowerBound: 1
        employeeCountUpperBound: 1
        countryOfOperations: US
        yearsOwned: two
        physicalLocationsCount: under10
        regulatory:
          estimatedAnnualRevenue: from1to10Million
          atmOperator: false
          charity: false
          cashesChecksMoreThan1000Usd: false
          internetGamblingIncorporated: false
          marijuanaBusiness: false
          moneyOrderMoreThan1000Usd: false
          thirdPartyBenefit: false
          transmitBehalfOfCustomer: false
          virtualCurrency: false
          intermediaryServices:
            - trustManagement
          subjectToWithholdings: true
        authorizedSigners: []
        beneficialOwners: []
        coreBanking:
          finxact:
            customerGroup: '--64964c9c8e8f----2d-5e-'
            partyOrgId: '--4WS6lkgjD4u-----5F-Bg-'
        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.2.1/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/summaryOrganization'
        - properties:
            - createdAt
            - updatedAt
            - coreBanking
            - 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.'
          allOf:
            - $ref: '#/components/schemas/organizationEmbeddedObjects'
        _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
        establishedOn:
          description: The date the organization was established.
          type: string
          format: date
        establishedDate:
          description: >-
            The date the organization was established.<br>**Warning**: The property `establishedDate` was deprecated on version `v1.1.0` of the
            schema. Use `establishedOn` instead. `establishedDate` will be removed on version `v2.0.0` of the schema.
          x-apiture-deprecated:
            since: 1.1.0
            removeOn: 2.0.0
            replacement: '`establishedOn`'
          type: string
          format: date
          example: '2017-10-01'
        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.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `employeeCountRange`
            in the response from the [`getLabels`](#op-getLabels) operation.
          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
        yearsOwned:
          $ref: '#/components/schemas/yearsOwned'
        physicalLocationsCount:
          $ref: '#/components/schemas/physicalLocationsCount'
        homeUrl:
          description: The organization's home page.
          type: string
        industry:
          description: |-
            Indicates what industry does this organization work within.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `industrySectors`
            in the response from the [`getLabels`](#op-getLabels) operation.
          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: '`true` if mobile check deposits are enabled for the organization.'
          type: boolean
        achEnabled:
          description: '`true` if ACH transfers are enabled the organization.'
          type: boolean
        wireEnabled:
          description: '`true` if wire transfers are enabled for the organization .'
          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.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `regionCodes`
            in the response from the [`getLabels`](#op-getLabels) operation.
          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: '1000489353781'
        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
        coreBanking:
          description: Organization properties that are specific to the banking core provider.
          allOf:
            - $ref: '#/components/schemas/organizationCoreBanking'
          readOnly: true
        attributes:
          type: object
          description: An optional map of name/value pairs which provide additional metadata about the organization.
      type: object
      x-apiture-flattened: true
    summaryProduct:
      title: Product Summary (v2.1.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.



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


        Response and request bodies using this <strong><code>summaryProduct</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-getProduct'><strong><code>self</code></strong></a></td><td>Fetch a representation of this
        product</td><td><code>GET</code></td>

        </tr>


        <tr>

        <td><a href='#op-getProductType'><strong><code>apiture:productType</code></strong></a></td><td>Fetch a representation of this product
        type.</td><td><code>GET</code></td>

        </tr>


        <tr>

        <td><a href='#op-getProductType'><strong><code>apiture:productSubtype</code></strong></a></td><td>Fetch a representation of this product
        type.</td><td><code>GET</code></td>

        </tr>

        </table>



        This schema was resolved from
        [`products/summaryProduct`](https://production.api.apiture.com/schemas/products/summaryProduct/v2.1.0/model.json).
      x-apiture-version: 2.1.0
      x-apiture-links:
        - rel: self
          operationId: getProduct
        - rel: 'apiture:productType'
          operationId: getProductType
        - rel: 'apiture:productSubtype'
          operationId: getProductType
      example:
        _id: a6459cdf-543e-46df-887b-ac5378ee9acd
        _profile: 'https://api.apiture.com/schemas/products/summaryProduct/v2.1.0/profile.json'
        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
        target: business
        _embedded: {}
        ifxType: DDA
        rates:
          apy: '1.45'
          nominal: '1.455'
          apye: '1.45'
          compoundPeriod: P1D
          accrualType: compounding
        _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
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/summaryProduct/v2.1.0/model.json'
      x-apiture-namespace: products
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/productFields'
        - 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 [`getProducts`](#op-getProducts) combines these.


            (Labels and descriptions for the enumeration values are in the `newAccountAvailability` key in the response of the
            [`getLabels`](#op-getLabels) operation.) Upate this property with the [`unlockProduct`](#op-unlockProduct) or
            [`unlockProduct`](#op-unlockProduct) operations
          readOnly: true
          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
        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'
        rates:
          description: The interest rates for this product.
          allOf:
            - $ref: '#/components/schemas/productInterestRates'
        rate:
          description: >-
            The interest rate for this product.<br>**Warning**: The property `rate` was deprecated on version `v2.1.0` of the schema. Use `rates`
            object instead. `rate` will be removed on version `v3.0.0` of the schema.
          x-apiture-deprecated:
            since: 2.1.0
            removeOn: 3.0.0
            replacement: '`rates` object'
          allOf:
            - $ref: '#/components/schemas/rate'
        _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
    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.


        This schema was resolved from [`contacts/authorization`](https://production.api.apiture.com/schemas/contacts/authorization/v1.0.0/model.json).
      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
    encryptionMetadata:
      title: Enryption Metadata (v1.0.1)
      description: >-
        Metadata about encrypted data within a JSON object in a request body.

        This `_encryption` object is a peer of the encrypted data.

        Each nested object that contains encrypted properties

        has it's own `_encryption` object.



        This object is a map of `string` property names &rarr; `string` encryption key alias.

        The keys are names of the encrypted and Base64 encoded property.

        Each value is the `alias` of the

        rotating public encryption key that the client used to encrypt the named property.

        See [Encryption](https://developer.apiture.com/docs/concepts/encryption) for additional details.


        This schema was resolved from
        [`common/encryptionMetadata`](https://production.api.apiture.com/schemas/common/encryptionMetadata/v1.0.1/model.json).
      x-apiture-version: 1.0.1
      x-apiture-key: encryptedPropertyName
      additionalProperties:
        type: string
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/encryptionMetadata/v1.0.1/model.json'
      x-apiture-namespace: common
      type: object
      properties: {}
      x-apiture-flattened: true
    simpleOrganization:
      title: Simple Organization (v1.1.1)
      description: >-
        The simplest form of an organization.


        This schema was resolved from
        [`organizations/simpleOrganization`](https://production.api.apiture.com/schemas/organizations/simpleOrganization/v1.1.1/model.json).
      x-apiture-version: 1.1.1
      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: '+19105550155'
          - type: mobile
            number: '+19105550154'
        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
        establishedOn: '2009-07-09'
        _profile: 'https://api.apiture.com/schemas/organizations/simpleOrganization/v1.1.1/profile.json'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/simpleOrganization/v1.1.1/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - properties:
            - name
            - label
            - type
            - subtype
            - identification
            - addresses
            - phones
            - emailAddresses
            - preferredEmailAddressId
            - preferredPhoneId
            - preferredMailingAddressId
            - establishedOn
            - 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
        establishedOn:
          description: The date the organization was established.
          type: string
          format: date
        establishedDate:
          description: >-
            The date the organization was established.<br>**Warning**: The property `establishedDate` was deprecated on version `v1.1.0` of the
            schema. Use `establishedOn` instead. `establishedDate` will be removed on version `v2.0.0` of the schema.
          x-apiture-deprecated:
            since: 1.1.0
            removeOn: 2.0.0
            replacement: '`establishedOn`'
          type: string
          format: date
          example: '2017-10-01'
      type: object
      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.


        This schema was resolved from
        [`contacts/individualIdentification`](https://production.api.apiture.com/schemas/contacts/individualIdentification/v1.0.0/model.json).
      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
    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.


        This schema was resolved from
        [`products/maturityPolicy`](https://production.api.apiture.com/schemas/products/maturityPolicy/v1.0.0/model.json).
      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
    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.


        This schema was resolved from
        [`configurations/configurationGroupSummary`](https://production.api.apiture.com/schemas/configurations/configurationGroupSummary/v2.0.0/model.json).
      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
    configurationSchemaValue:
      x-apiture-version: 2.0.0
      title: Configuration Schema Value (v2.0.0)
      description: >-
        The data associated with this configuration schema.


        This schema was resolved from
        [`configurations/configurationSchemaValue`](https://production.api.apiture.com/schemas/configurations/configurationSchemaValue/v2.0.0/model.json).
      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
    configurationGroupsEmbedded:
      title: Configuration Groups Embedded Objects (v1.0.0)
      description: >-
        Objects embedded in the [`configurationGroups`](#schema-configurationGroups)collection.


        This schema was resolved from
        [`configurations/configurationGroupsEmbedded`](https://production.api.apiture.com/schemas/configurations/configurationGroupsEmbedded/v1.0.0/model.json).
      type: object
      properties:
        items:
          description: An array containing a page of configuration group items.
          type: array
          items:
            $ref: '#/components/schemas/configurationGroupSummary'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationGroupsEmbedded/v1.0.0/model.json'
      x-apiture-namespace: configurations
      x-apiture-flattened: true
    labelGroup:
      title: Label Group (v1.0.0)
      description: >-
        A map that defines labels for the items in a group. This is a map from each item *name* &rarr; *a [`labelItem`](#schema-labelitem) object*.
        For example, consider a JSON response that includes a property named `revenueEstimate`; the values for `revenueEstimate` must be one of the
        items in the group named `estimatedAnnualRevenue`, with options ranging `under1Million`, to `over100Million`. The item name is used as the
        selected value in an Apiture representation, such as `{ ..., "revenueEstimate" : "from10to100Million" , ...}`, and the item with the name
        `from10to100Million` defines the presentation labels for that item, as well as other metadata about that choice: this is the range
        `[10000000.00,100000000.00)`.


        This allows the client to let the user select a value from a list, such as the following derivde from the labels in the example:

          * Unknown
          * Under $1M
          * $1M to $10M
          * $10M to $100M
          * $100M or more

        Note that the `other` item is hidden from the selection list, as that item is marked as `hidden`. For items which define numeric ranges, a
        client may instead let the customer *directly* enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then
        match that number to one of ranges in the items and set the `revenueEstimate` to the corresponding item's name: `{ ..., "revenueEstimate" :
        "from1to10Million", ... }`.


        This schema was resolved from [`common/labelGroup`](https://production.api.apiture.com/schemas/common/labelGroup/v1.0.0/model.json).
      x-apiture-key: labelName
      x-apiture-version: 1.0.0
      additionalProperties:
        $ref: '#/components/schemas/labelItem'
      example:
        unknown:
          label: Unknown
          code: '0'
          hidden: true
        under1Million:
          label: Under $1M
          code: '1'
          range: '[0,1000000.00)'
          variants:
            fr:
              label: Moins de $1M
        from1to10Million:
          label: $1M to $10M
          code: '2'
          range: '[1000000.00,10000000.00)'
          variants:
            fr:
              label: $1M \u00e0 $10M
        from10to100Million:
          label: $10M to $100M
          code: '3'
          range: '[10000000.00,100000000.00)'
          variants:
            fr:
              - label $10M \u00e0 $100M
        over100Million:
          label: 'Over $100,000,000.00'
          code: '4'
          range: '[100000000.00,]'
          variants:
            fr:
              label: Plus de $10M
        other:
          label: Other
          code: 254
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/labelGroup/v1.0.0/model.json'
      x-apiture-namespace: common
      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.

        This schema was resolved from [`common/error`](https://production.api.apiture.com/schemas/common/error/v2.0.0/model.json).
      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
    configurationValue:
      x-apiture-version: 2.0.0
      title: Configuration Value (v2.0.0)
      description: >-
        The data associated with this configuration.


        This schema was resolved from
        [`configurations/configurationValue`](https://production.api.apiture.com/schemas/configurations/configurationValue/v2.0.0/model.json).
      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
    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.

        This schema was resolved from [`common/links`](https://production.api.apiture.com/schemas/common/links/v1.0.0/model.json).
      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
    attributeValue:
      x-apiture-version: 2.0.0
      title: Attribute Value (v2.0.0)
      description: |-
        The data associated with this attribute.

        This schema was resolved from [`common/attributeValue`](https://production.api.apiture.com/schemas/common/attributeValue/v2.0.0/model.json).
      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
    simpleAddress:
      title: Simple Address (v1.0.0)
      description: |-
        A postal address.

        This schema was resolved from [`contacts/simpleAddress`](https://production.api.apiture.com/schemas/contacts/simpleAddress/v1.0.0/model.json).
      type: object
      properties:
        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}$'
      example:
        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/simpleAddress/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.

        This schema was resolved from [`contacts/addressType`](https://production.api.apiture.com/schemas/contacts/addressType/v1.0.0/model.json).
      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
    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.


        This schema was resolved from
        [`organizations/organizationType`](https://production.api.apiture.com/schemas/organizations/organizationType/v1.0.0/model.json).
      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.


        This schema was resolved from
        [`organizations/organizationSubtype`](https://production.api.apiture.com/schemas/organizations/organizationSubtype/v1.0.0/model.json).
      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 (v1.1.0)
      description: >-
        The type and value of the organizations unique identification numbers.


        This schema was resolved from
        [`organizations/organizationIdentification`](https://production.api.apiture.com/schemas/organizations/organizationIdentification/v1.1.0/model.json).
      type: object
      x-apiture-version: 1.1.0
      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.<br>**Warning**: The property `expiration` was deprecated on version `v1.1.0` of the
            schema. Use `expiresOn` instead. `expiration` will be removed on version `v2.0.0` of the schema.
          type: string
          format: date
          x-apiture-deprecated:
            since: 1.1.0
            removeOn: 2.0.0
            replacement: '`expiresOn`'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationIdentification/v1.1.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    organizationAddress:
      title: Organization Address (v1.0.1)
      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>



        This schema was resolved from
        [`organizations/organizationAddress`](https://production.api.apiture.com/schemas/organizations/organizationAddress/v1.0.1/model.json).
      x-apiture-version: 1.0.1
      x-apiture-links:
        - rel: delete
          operationId: deleteAddress
        - rel: 'apiture:setAsPreferred'
          operationId: setPreferredAddress
      example:
        _profile: 'https://production.api.apiture.com/schemas/organizations/organizationAddress/v1.0.1/profile.json'
        _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: 'https://api.example.com/organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationAddress/v1.0.1/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/address'
        - properties:
            - state
      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'
        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}$'
        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
        _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}$'
        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 (v1.0.2)
      description: >-
        Representation of phone number resources.



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


        Response and request bodies using this <strong><code>organizationPhoneNumber</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>



        This schema was resolved from
        [`organizations/organizationPhoneNumber`](https://production.api.apiture.com/schemas/organizations/organizationPhoneNumber/v1.0.2/model.json).
      x-apiture-version: 1.0.2
      x-apiture-links:
        - rel: delete
          operationId: deletePhoneNumber
        - rel: 'apiture:setAsPreferred'
          operationId: setPreferredPhoneNumber
      example:
        _id: hp1
        type: home
        number: '+19105550155'
        state: approved
        _profile: 'https://api.apiture.com/schemas/organizations/organizationPhoneNumber/v1.0.2/profile.json'
        _links:
          self:
            href: 'https://api.example.com/organizations/organizations/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/hp1'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationPhoneNumber/v1.0.2/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/phoneNumber'
        - properties:
            - state
      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:
          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}$'
        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.1)
      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>



        This schema was resolved from
        [`organizations/organizationEmailAddress`](https://production.api.apiture.com/schemas/organizations/organizationEmailAddress/v1.0.1/model.json).
      x-apiture-version: 1.0.1
      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.1/profile.json'
        type: personal
        number: '+19105550155'
        state: approved
        _links:
          self:
            href: 'https://api.example.com/organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1'
          delete:
            href: 'https://api.example.com/organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1'
          'apiture:setAsPreferred':
            href: 'https://api.example.com/organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredEmailAddresses?value=pe1'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationEmailAddress/v1.0.1/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/typedEmailAddress'
        - properties:
            - state
      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'
        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}$'
        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
    productFields:
      title: Product Fields (v2.1.0)
      description: |-
        Common fields of the product resource.

        This schema was resolved from [`products/productFields`](https://production.api.apiture.com/schemas/products/productFields/v2.1.0/model.json).
      x-apiture-version: 2.1.0
      x-apiture-fragment: true
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/productFields/v2.1.0/model.json'
      x-apiture-namespace: products
      x-apiture-composition:
        - $ref: '#/components/schemas/productState'
        - properties:
            - name
            - label
            - description
            - code
            - newAccountAvailability
            - category
            - ifxType
            - target
            - rates
            - rate
      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 [`getProducts`](#op-getProducts) combines these.


            (Labels and descriptions for the enumeration values are in the `newAccountAvailability` key in the response of the
            [`getLabels`](#op-getLabels) operation.) Upate this property with the [`unlockProduct`](#op-unlockProduct) or
            [`unlockProduct`](#op-unlockProduct) operations
          readOnly: true
          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
        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'
        rates:
          description: The interest rates for this product.
          allOf:
            - $ref: '#/components/schemas/productInterestRates'
        rate:
          description: >-
            The interest rate for this product.<br>**Warning**: The property `rate` was deprecated on version `v2.1.0` of the schema. Use `rates`
            object instead. `rate` will be removed on version `v3.0.0` of the schema.
          x-apiture-deprecated:
            since: 2.1.0
            removeOn: 3.0.0
            replacement: '`rates` object'
          allOf:
            - $ref: '#/components/schemas/rate'
      type: object
      x-apiture-flattened: true
    timeDeposit:
      title: Time Deposit Products (v1.0.0)
      description: |-
        Properties of time deposit products, primarily Certificate of Deposit products.

        This schema was resolved from [`products/timeDeposit`](https://production.api.apiture.com/schemas/products/timeDeposit/v1.0.0/model.json).
      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.

        This schema was resolved from [`products/constraints`](https://production.api.apiture.com/schemas/products/constraints/v1.0.0/model.json).
      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
    summaryOrganization:
      title: Organization Summary (v1.1.1)
      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.


        This schema was resolved from
        [`organizations/summaryOrganization`](https://production.api.apiture.com/schemas/organizations/summaryOrganization/v1.1.1/model.json).
      x-apiture-version: 1.1.1
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/organizations/summaryOrganization/v1.1.1/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.1.1/model.json'
      x-apiture-namespace: organizations
      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
        establishedOn:
          description: The date the organization was established.
          type: string
          format: date
        establishedDate:
          description: >-
            The date the organization was established.<br>**Warning**: The property `establishedDate` was deprecated on version `v1.1.0` of the
            schema. Use `establishedOn` instead. `establishedDate` will be removed on version `v2.0.0` of the schema.
          x-apiture-deprecated:
            since: 1.1.0
            removeOn: 2.0.0
            replacement: '`establishedOn`'
          type: string
          format: date
          example: '2017-10-01'
        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.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `employeeCountRange`
            in the response from the [`getLabels`](#op-getLabels) operation.
          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
        yearsOwned:
          $ref: '#/components/schemas/yearsOwned'
        physicalLocationsCount:
          $ref: '#/components/schemas/physicalLocationsCount'
        homeUrl:
          description: The organization's home page.
          type: string
        industry:
          description: |-
            Indicates what industry does this organization work within.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `industrySectors`
            in the response from the [`getLabels`](#op-getLabels) operation.
          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: '`true` if mobile check deposits are enabled for the organization.'
          type: boolean
        achEnabled:
          description: '`true` if ACH transfers are enabled the organization.'
          type: boolean
        wireEnabled:
          description: '`true` if wire transfers are enabled for the organization .'
          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.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `regionCodes`
            in the response from the [`getLabels`](#op-getLabels) operation.
          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: '1000489353781'
      type: object
      x-apiture-flattened: true
    organizationCoreBanking:
      title: Organization Core Banking Properties (v1.0.0)
      description: >-
        Organization properties that are specific to the banking core provider. The actual banking core in which the Apiture platfiorm is executing
        determines what data appears. The sub-object for each banking core is present on a organization only if the Apiture system is connected to the
        corresponding core banking provider. The name of each sub-object is the name of that provider.


        This schema was resolved from
        [`organizations/organizationCoreBanking`](https://production.api.apiture.com/schemas/organizations/organizationCoreBanking/v1.0.0/model.json).
      type: object
      properties:
        finxact:
          description: >-
            Organization properties that are specific to the Finxact banking core system. This object is present only if the Apiture platform is
            connected to a Finxact system.
          allOf:
            - $ref: '#/components/schemas/organizationFinxactCoreBanking'
          readOnly: true
      example:
        finxact:
          customerGroup: '--64964c9c8e8f----2d-5e-'
          partyOrgId: '--4WS6lkgjD4u-----5F-Bg-'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationCoreBanking/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    organizationEmbeddedObjects:
      title: Organization Embedded Objects (v1.0.0)
      description: >-
        Objects that are conditionally embedded within an `organization` object.


        This schema was resolved from
        [`organizations/organizationEmbeddedObjects`](https://production.api.apiture.com/schemas/organizations/organizationEmbeddedObjects/v1.0.0/model.json).
      type: object
      properties:
        authorizedSigners:
          $ref: '#/components/schemas/authorizedSigners'
        beneficialOwners:
          $ref: '#/components/schemas/beneficialOwners'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationEmbeddedObjects/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    addresses:
      title: Addresses (v1.0.0)
      description: |-
        A list of postal addresses and the preferred mailing address.

        This schema was resolved from [`contacts/addresses`](https://production.api.apiture.com/schemas/contacts/addresses/v1.0.0/model.json).
      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
    labelItem:
      title: Label Item (v1.0.0)
      description: >-
        An item in a [`labelGroup`](#schema-labelgroup), with a set of `variants` which contains different localized labels for the item. Each
        ([`simpleLabel`](#schema-simpleLabel)) variant defines the presentation text label and optional description for a language. Items may also
        have a lookup `code` to map to external syststems, a numeric range, and a `hidden` boolean to indicate the item is normally hidden in the UI.


        This schema was resolved from [`common/labelItem`](https://production.api.apiture.com/schemas/common/labelItem/v1.0.0/model.json).
      x-apiture-version: 1.0.0
      example:
        over100Million:
          label: 'Over $100,000,000.00'
          code: '4'
          range: '[100000000.00,]'
          variants:
            fr:
              label: Plus de $10M
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/labelItem/v1.0.0/model.json'
      x-apiture-namespace: common
      x-apiture-composition:
        - $ref: '#/components/schemas/simpleLabel'
        - properties:
            - variants
            - code
            - hidden
            - range
      properties:
        label:
          type: string
          description: A label or title which may be used as labels or other UI controls which present a value.
          example: Board of Directors
        description:
          type: string
          description: A more detailed localized description of a localizable label.
        variants:
          description: >-
            The language-specific variants of this label. The keys in this object are [RFC 7231](https://tools.ietf.org/html/rfc7231#section-3.1.3.1)
            language codes.
          x-apiture-key: languageCode
          type: object
          additionalProperties:
            $ref: '#/components/schemas/simpleLabel'
          example:
            en:
              label: More then $10M
            es:
              label: Mas de $10M
            fr:
              label: Plus de $10M
        code:
          type: string
          description: 'If the localized value is associated with an external standard or definition, this is a lookup code or key or URI for that value.'
          example: '3'
          minLength: 1
        hidden:
          type: boolean
          description: 'If `true`, this item is normally hidden from the User Interface.'
        range:
          description: >-
            The range of values, if the item describes a bounded numeric value. This is range notation such as `[min,max]`, `(exclusiveMin,max]`,
            `[min,exclusiveMax)`, or `(exclusiveMin,exclusiveMax)`. For example, `[0,100)` is the range greater than or equal to 0 and less than 100.
            If the *min* or *max* value are omitted, that end of the range is unbounded. For example, `(,1000.00)` means less than 1000.00 and
            `[20000.00,]` means 20000.00 or more. The ranges do not overlap or have gaps.
          type: string
          pattern: '^[\[\(](-?(0|[1-9][0-9]*)(\.[0-9]+)?)?,(-?(0|[1-9][0-9]*)(\.[0-9]+)?)?[\]\)]$'
      type: object
      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.


        This schema was resolved from [`common/link`](https://production.api.apiture.com/schemas/common/link/v1.0.0/model.json).
      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
    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.


        This schema was resolved from
        [`organizations/organizationIdentificationType`](https://production.api.apiture.com/schemas/organizations/organizationIdentificationType/v1.0.0/model.json).
      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
    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.


        This schema was resolved from
        [`organizations/profileItemState`](https://production.api.apiture.com/schemas/organizations/profileItemState/v1.0.0/model.json).
      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
    phoneNumber:
      title: Phone Number (v1.0.0)
      description: |-
        A phone number and its role.

        This schema was resolved from [`contacts/phoneNumber`](https://production.api.apiture.com/schemas/contacts/phoneNumber/v1.0.0/model.json).
      type: object
      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-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumber/v1.0.0/model.json'
      x-apiture-namespace: contacts
      x-apiture-flattened: true
    organizationFields:
      title: Organization Fields (v1.1.1)
      description: >-
        Common fields of the organization resource, for organizations which conduct banking.


        This schema was resolved from
        [`organizations/organizationFields`](https://production.api.apiture.com/schemas/organizations/organizationFields/v1.1.1/model.json).
      x-apiture-fragment: true
      x-apiture-version: 1.1.1
      example:
        name: Smith's Auto Detailing
        label: Smith's Detailing
        emailAddresses:
          - type: work
            value: smitties-detailing@example.com
        phones:
          - type: work
            number: '+19105550155'
          - type: mobile
            number: '+19105550154'
        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
        establishedOn: '2009-07-09'
        identification:
          - type: taxId
            value: 00-9999999
        state: active
        currency: USD
        employeeCountRange: from101to250
        employeeCountLowerBound: 101
        employeeCountUpperBound: 250
        yearsOwned: two
        estimatedAnnualRevenue: from1to10Million
        estimatedMonthlyAmounts:
          percentGrossRevenue: from0to25Percent
          sentWire: moreThanOneMillion
          receivedWire: oneHundredThousandToOneMillion
          mobileCheckDeposit: upToOneHundredThousand
          receivedAch: upToOneHundredThousand
          sentAch: moreThanOneMillion
        physicalLocationsCount: under10
        achEnabled: true
        wireEnabled: true
        mobileCheckDepositEnabled: true
        regulatory:
          estimatedAnnualRevenue: from1to10Million
          atmOperator: false
          charity: false
          cashesChecksMoreThan1000Usd: false
          internetGamblingIncorporated: false
          marijuanaBusiness: false
          moneyOrderMoreThan1000Usd: false
          thirdPartyBenefit: false
          transmitBehalfOfCustomer: false
          virtualCurrency: false
          intermediaryServices: trustManagement
          subjectToWithholdings: true
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationFields/v1.1.1/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/simpleOrganization'
        - properties:
            - state
            - tradeName
            - governmentOwned
            - publiclyHeld
            - smallBusiness
            - taxExempt
            - employeeCountRange
            - employeeCountLowerBound
            - employeeCountUpperBound
            - yearsOwned
            - physicalLocationsCount
            - homeUrl
            - industry
            - countryOfOperations
            - regulatory
            - currency
            - mobileCheckDepositEnabled
            - achEnabled
            - wireEnabled
            - 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
        establishedOn:
          description: The date the organization was established.
          type: string
          format: date
        establishedDate:
          description: >-
            The date the organization was established.<br>**Warning**: The property `establishedDate` was deprecated on version `v1.1.0` of the
            schema. Use `establishedOn` instead. `establishedDate` will be removed on version `v2.0.0` of the schema.
          x-apiture-deprecated:
            since: 1.1.0
            removeOn: 2.0.0
            replacement: '`establishedOn`'
          type: string
          format: date
          example: '2017-10-01'
        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.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `employeeCountRange`
            in the response from the [`getLabels`](#op-getLabels) operation.
          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
        yearsOwned:
          $ref: '#/components/schemas/yearsOwned'
        physicalLocationsCount:
          $ref: '#/components/schemas/physicalLocationsCount'
        homeUrl:
          description: The organization's home page.
          type: string
        industry:
          description: |-
            Indicates what industry does this organization work within.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `industrySectors`
            in the response from the [`getLabels`](#op-getLabels) operation.
          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: '`true` if mobile check deposits are enabled for the organization.'
          type: boolean
        achEnabled:
          description: '`true` if ACH transfers are enabled the organization.'
          type: boolean
        wireEnabled:
          description: '`true` if wire transfers are enabled for the organization .'
          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.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `regionCodes`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: NC
          minLength: 2
          maxLength: 2
          pattern: '^[a-zA-Z]{2}$'
          x-apiture-choice: regionCodes
      type: object
      x-apiture-flattened: true
    typedEmailAddress:
      title: Email Address (v1.0.0)
      description: >-
        An email address and the email address type.


        This schema was resolved from
        [`contacts/typedEmailAddress`](https://production.api.apiture.com/schemas/contacts/typedEmailAddress/v1.0.0/model.json).
      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
    productState:
      title: State of a Product or Product Type (v1.0.0)
      description: |-
        The state of a product or type.

        This schema was resolved from [`products/productState`](https://production.api.apiture.com/schemas/products/productState/v1.0.0/model.json).
      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.


        This schema was resolved from
        [`products/newAccountAvailability`](https://production.api.apiture.com/schemas/products/newAccountAvailability/v1.0.0/model.json).
      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
    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.

        This schema was resolved from [`products/productTarget`](https://production.api.apiture.com/schemas/products/productTarget/v1.0.0/model.json).
      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
    productInterestRates:
      x-apiture-version: 1.0.0
      title: Product Interest Rates (v1.0.0)
      description: >-
        The interest rates for accounts based on this product. For deposit products, the rates describe the rate of return. For loan products, this
        includes the interest rate charged on balances. The `apy`, `apye`, `nominal` and `apr` values are a decimal percentage, coded as strings in
        order to represent the rate exactly. Rates are coded to two or three decimal places. Rates can be fixed, such `{ "apy" : "1.40" }` for _1.4%
        APY_. Rates (usually only on loan accounts) may relative to a benchmark, such as `{ "benchmark" : "primeUs", "apr" : "0.50" }` to express
        _U.S. Prime Rate + 0.5%_.


        This schema was resolved from
        [`products/productInterestRates`](https://production.api.apiture.com/schemas/products/productInterestRates/v1.0.0/model.json).
      properties:
        apy:
          description: >-
            The annual percentage yield (APY): the effective yield from interest, including compounding, as a percentage. Used on deposit account
            products.
          type: string
          format: decimal
          readOnly: true
          example: '1.40'
          pattern: '^-?\d{1,2}\.\d{2}$'
        apye:
          description: >-
            The annualized rate based on the amount of interest actually earned, including compounding, as a percentage of the account's average daily
            balance. Used on deposit account products.
          type: string
          format: decimal
          readOnly: true
          example: '1.45'
          pattern: '^-?\d{1,2}\.\d{2}$'
        nominal:
          description: The effective interest rate before accounting for inflation. Used on deposit and loan account products.
          type: string
          format: decimal
          readOnly: true
          example: '1.445'
          pattern: '^-?\d{1,2}\.\d{2,3}$'
        apr:
          description: >-
            The base annual percentage rate (APR) charged on loan accounts. If `benchmark` is set, the current APR is _relative_ to that benchark: For
            example, a rate of `{ 'apr': '1.00', 'benchmark': 'primeUS' }` means the APR is "Prime plus 1.00%": if the current Prime rate is 1.10%,
            the actual APR is 2.10%. A negative rate means a rate below the benchmark.
          type: string
          format: decimal
          readOnly: true
          example: '1.450'
          pattern: '^-?\d{1,2}\.\d{2,3}$'
        benchmark:
          description: >-
            An optional base benchmark that the rate is relative to. This typically only applie to loan products. 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 compounding in the number of years/months/days. `P1D` mean compounded daily and `P1M` mean
            compounded monthly. 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 changes 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
          format: period
          example: P1D
      example:
        apy: '1.40'
        nominal: '1.405'
        apye: '1.40'
        compoundPeriod: P1D
        accrualType: compounding
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/productInterestRates/v1.0.0/model.json'
      x-apiture-namespace: products
      type: object
      x-apiture-flattened: true
    rate:
      title: Interest Rate (v1.1.0)
      x-apiture-version: 1.1.0
      x-apiture-deprecated:
        since: 0.20.0
        replacement: '`rates` object'
        removeOn: 0.22.0
      description: >-
        The interest rate for accounts. For deposit accounts, this is the rate of return. For loan accounts, this is the interest rate charged on
        balances. Rates can be fixed, 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" }`.<br>**Warning**: The schema `rate` was
        deprecated on version `v0.20.0` of the API. Use `rates` object instead. `rate` will be removed on version `v0.22.0` of the API.


        This schema was resolved from [`products/rate`](https://production.api.apiture.com/schemas/products/rate/v1.1.0/model.json).
      properties:
        value:
          description: >-
            The rate, expressed as an decimal percentage string in order to represent the rate exactly. This number must have leading digits before
            the decimal point an two to threee decimal points, such as `2.00` or `0.50` or `1.015`, but not `2` or `.5`.
          type: string
          example: '1.40'
          pattern: '^-?\d{1,2}\.\d{2,3}$'
        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
          format: period
          example: P1D
        type:
          description: The interest rate type.
          type: string
          allOf:
            - $ref: '#/components/schemas/interestRateType'
      example:
        value: '1.40'
        type: apr
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/rate/v1.1.0/model.json'
      x-apiture-namespace: products
      type: object
      x-apiture-flattened: true
    organizationFinxactCoreBanking:
      title: Organization Core Banking Properties (v1.0.0)
      description: >-
        Organization properties that are specific to the Finxact banking core system. (Note that the Finxact `customerId` property is the Apiture
        `organization.customerId`.)


        This schema was resolved from
        [`organizations/organizationFinxactCoreBanking`](https://production.api.apiture.com/schemas/organizations/organizationFinxactCoreBanking/v1.0.0/model.json).
      type: object
      properties:
        customerGroup:
          description: >
            Each organization in Finxact belongs to a organization group. This property is the Finxact identifier of the this organization's customer
            group.
          type: string
          readOnly: true
        partyOrgId:
          description: The unique identifier for the organization in the Finxact system. (This is analogous to the organization's `_id` in Apiture.)
          type: string
          readOnly: true
      example:
        customerGroup: '--64964c9c8e8f----2d-5e-'
        partyOrgId: '--4WS6lkgjD4u-----5F-Bg-'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationFinxactCoreBanking/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    beneficialOwners:
      title: Beneficial Owners (v1.1.0)
      x-apiture-version: 1.1.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.


        This schema was resolved from
        [`organizations/beneficialOwners`](https://production.api.apiture.com/schemas/organizations/beneficialOwners/v1.1.0/model.json).
      required:
        - items
      example:
        items:
          _id: b003
          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: '1982-10-19'
          identification:
            - type: taxId
              value: 111-11-1111
          contactId: 76e018d8-de7e-4631-aad8-fc1aa1d04bf7
        _profile: 'https://api.apiture.com/schemas/organizations/beneficialOwners/v1.1.0/profile.json'
        _links:
          self:
            href: /organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c/beneficialOwners
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/beneficialOwners/v1.1.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
    transactionTypes:
      title: Transaction Types (v1.0.0)
      description: >-
        An array which lists which transaction types are allowed for an account.


        This schema was resolved from
        [`products/transactionTypes`](https://production.api.apiture.com/schemas/products/transactionTypes/v1.0.0/model.json).
      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
    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.


        This schema was resolved from
        [`contacts/phoneNumberType`](https://production.api.apiture.com/schemas/contacts/phoneNumberType/v1.0.0/model.json).
      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
    simpleLabel:
      title: Simple Label (v1.0.0)
      description: |-
        A text label and optional description.

        This schema was resolved from [`common/simpleLabel`](https://production.api.apiture.com/schemas/common/simpleLabel/v1.0.0/model.json).
      x-apiture-version: 1.0.0
      type: object
      required:
        - label
      properties:
        label:
          type: string
          description: A label or title which may be used as labels or other UI controls which present a value.
          example: Board of Directors
        description:
          type: string
          description: A more detailed localized description of a localizable label.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/simpleLabel/v1.0.0/model.json'
      x-apiture-namespace: common
      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.

        This schema was resolved from [`contacts/emailType`](https://production.api.apiture.com/schemas/contacts/emailType/v1.0.0/model.json).
      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
    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.


        This schema was resolved from [`products/prodState`](https://production.api.apiture.com/schemas/products/prodState/v1.0.0/model.json).
      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
    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.


        This schema was resolved from
        [`organizations/organizationState`](https://production.api.apiture.com/schemas/organizations/organizationState/v1.0.0/model.json).
      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
    yearsOwned:
      title: Years Owned (v1.0.0)
      x-apiuture-fragment: true
      description: >-
        The number of years the owners/operators have owned the business.

        **Warning**: the `enum` list will be removed in a future release and the values defined at runtime via the `yearsOwned` group in the response
        from the [`getLabels`](#op-getLabels) operation.


        This schema was resolved from
        [`organizations/yearsOwned`](https://production.api.apiture.com/schemas/organizations/yearsOwned/v1.0.0/model.json).
      type: string
      enum:
        - unknown
        - one
        - two
        - three
        - fourOrMoreYears
        - other
        - notApplicable
      x-apiture-choice: yearsOwned
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/yearsOwned/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-flattened: true
    physicalLocationsCount:
      title: Physical Locations (v1.0.0)
      description: >-
        The number of physical sites, offices, or locations the organization owns, operates, or occupies.

        **Warning**: the `enum` list will be removed in a future release and the values defined at runtime via the `physicalLocationsCount` group in
        the response from the [`getLabels`](#op-getLabels) operation.


        This schema was resolved from
        [`organizations/physicalLocationsCount`](https://production.api.apiture.com/schemas/organizations/physicalLocationsCount/v1.0.0/model.json).
      type: string
      enum:
        - unknown
        - under10
        - from10to50
        - from50to100
        - moreThan100
        - other
        - notApplicable
      x-apiture-choice: physicalLocationsCount
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/physicalLocationsCount/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.


        This schema was resolved from
        [`organizations/regulatory`](https://production.api.apiture.com/schemas/organizations/regulatory/v1.0.0/model.json).
      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.


        This schema was resolved from
        [`organizations/estimatedMonthlyAmounts`](https://production.api.apiture.com/schemas/organizations/estimatedMonthlyAmounts/v1.0.0/model.json).
      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.


        This schema was resolved from
        [`organizations/accountPurpose`](https://production.api.apiture.com/schemas/organizations/accountPurpose/v1.0.0/model.json).
      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
    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.

        This schema was resolved from [`products/accrualType`](https://production.api.apiture.com/schemas/products/accrualType/v1.0.0/model.json).
      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.

        This schema was resolved from
        [`products/interestRateType`](https://production.api.apiture.com/schemas/products/interestRateType/v1.0.0/model.json).
      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
    authorizedSigner:
      title: Authorized Signer (v1.0.0)
      description: >-
        A person who is authorized to perform banking operations on an organization's banking accounts.


        This schema was resolved from
        [`organizations/authorizedSigner`](https://production.api.apiture.com/schemas/organizations/authorizedSigner/v1.0.0/model.json).
      example:
        _id: as001
        userId: bd9e7a93-32cc-435d-ac57-f21faa082318
        customerId: '10047294723672'
        type: authorizedSigner
        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: Apt 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-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/organizations/authorizedSigner/v1.0.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/authorization'
        - properties:
            - _id
      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
        _id:
          description: The unique identifier for this authorized signer resource. This is an immutable opaque string.
          readOnly: true
          type: string
      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.


        This schema was resolved from
        [`products/transactionType`](https://production.api.apiture.com/schemas/products/transactionType/v1.0.0/model.json).
      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
    beneficialOwner:
      title: Beneficial Owner (v1.1.0)
      description: >-
        A person who owns 25% or more of a business organization.


        This schema was resolved from
        [`organizations/beneficialOwner`](https://production.api.apiture.com/schemas/organizations/beneficialOwner/v1.1.0/model.json).
      x-apiture-version: 1.1.0
      required:
        - percentage
        - contactId
        - firstName
        - lastName
        - identification
      example:
        _id: b003
        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: '1982-10-19'
        percentage: 35
        contactId: 8bf04d7d-c1bd-4945-b0ac-40ef02bb3953
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/beneficialOwner/v1.1.0/model.json'
      x-apiture-namespace: organizations
      x-apiture-composition:
        - $ref: '#/components/schemas/simpleContact'
        - properties:
            - _id
            - 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'
        _id:
          description: The unique identifier for this beneficial owner resource. This is an immutable opaque string.
          readOnly: true
          type: string
        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 owners'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
    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.


        This schema was resolved from
        [`organizations/estimatedAnnualRevenue`](https://production.api.apiture.com/schemas/organizations/estimatedAnnualRevenue/v1.0.0/model.json).
      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.


        This schema was resolved from
        [`organizations/intermediaryServices`](https://production.api.apiture.com/schemas/organizations/intermediaryServices/v1.0.0/model.json).
      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.


        This schema was resolved from
        [`organizations/regulatoryValue`](https://production.api.apiture.com/schemas/organizations/regulatoryValue/v1.0.0/model.json).
      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
    simpleContact:
      title: Simple Contact (v1.0.0)
      description: >-
        Basic contact and identification information for a person, consisting of the name, mailing address, phone numbers, email addresses, and
        government identification.


        This schema was resolved from [`contacts/simpleContact`](https://production.api.apiture.com/schemas/contacts/simpleContact/v1.0.0/model.json).
      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: (555) 555-5555
          - _id: mp1
            type: mobile
            number: (999) 555-5555
        preferredPhoneId: hp1
        preferredContactMethod: email
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/simpleContact/v1.0.0/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
    emailAddresses:
      title: Email Addresses (v1.0.0)
      description: >-
        A list of email addresses and the preferred email address.


        This schema was resolved from
        [`contacts/emailAddresses`](https://production.api.apiture.com/schemas/contacts/emailAddresses/v1.0.0/model.json).
      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.0)
      description: |-
        A list of phone numbers and the preferred phone number.

        This schema was resolved from [`contacts/phoneNumbers`](https://production.api.apiture.com/schemas/contacts/phoneNumbers/v1.0.0/model.json).
      x-apiture-fragment: true
      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: (555) 555-5555
          - _id: mp1
            type: mobile
            number: (999) 555-5555
        preferredPhoneId: hp1
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumbers/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.


        This schema was resolved from
        [`contacts/simpleContactFields`](https://production.api.apiture.com/schemas/contacts/simpleContactFields/v1.0.0/model.json).
      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
    identification:
      title: Identification (v1.0.0)
      description: >-
        Official identifying information associated with the contact.


        This schema was resolved from
        [`contacts/identification`](https://production.api.apiture.com/schemas/contacts/identification/v1.0.0/model.json).
      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.


        This schema was resolved from
        [`contacts/preferredContactMethod`](https://production.api.apiture.com/schemas/contacts/preferredContactMethod/v1.0.0/model.json).
      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
    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.


        This schema was resolved from
        [`contacts/identificationType`](https://production.api.apiture.com/schemas/contacts/identificationType/v1.0.0/model.json).
      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
  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.


        This error response may have one of the following `type` values:

        * [`malformedRequestBody`](#err-malformedRequestBody)

        * [`invalidAccountReference`](#err-invalidAccountReference)
      x-apiture-errors:
        - malformedRequestBody
        - invalidAccountReference
      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'
    400InvalidAccountRef:
      description: |-
        Bad Request. The `account` parameter was malformed or does not refer to an account.

        This error response may have one of the following `type` values:
        * [`invalidAccountReference`](#err-invalidAccountReference)
      x-apiture-errors:
        - invalidAccountReference
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400InvalidAccountRequest:
      description: |-
        Bad Request. The `account` parameter was malformed or does not refer to an account.

        This error response may have one of the following `type` values:
        * [`invalidAccountReference`](#err-invalidAccountReference)
        * [`invalidUnmaskedQueryParam`](#err-invalidUnmaskedQueryParam)
      x-apiture-errors:
        - invalidAccountReference
        - invalidUnmaskedQueryParam
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    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.
      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.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    404ExternalAccount:
      description: >-
        Not Found. There is no such external account resource at the specified `{externalAccountId}` The `_error` field in the response will contain
        details about the request error.


        This error response may have one of the following `type` values:

        * [`invalidAccountId`](#err-invalidAccountId)
      x-apiture-errors:
        - invalidAccountId
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    404Account:
      description: >-
        Not Found. There is no such account resource at the specified `{accountId}`. The `_error` field in the response will contain details about the
        request error.


        This error response may have one of the following `type` values:

        * [`invalidAccountId`](#err-invalidAccountId)
      x-apiture-errors:
        - invalidAccountId
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    404AccountOwner:
      description: >-
        Not Found. There is no such account owner resource at the specified `{owner}`. The `_error` field in the response will contain details about
        the request error.


        This error response may have one of the following `type` values:

        * [`invalidAccountId`](#err-invalidAccountId)

        * [`accountOwnerNotFound`](#err-accountOwnerNotFound)
      x-apiture-errors:
        - invalidAccountId
        - accountOwnerNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400AccountBeneficiaries:
      description: |-
        Bad Request. The beneficiary data is invalid or percentages to not total 100%.

        This error response may have one of the following `type` values:
        * [`incompleteBeneficiary`](#err-incompleteBeneficiary)
        * [`invalidBeneficiaryOrganizationType`](#err-invalidBeneficiaryOrganizationType)
        * [`percentagesNotEqual100`](#err-percentagesNotEqual100)
      x-apiture-errors:
        - incompleteBeneficiary
        - invalidBeneficiaryOrganizationType
        - percentagesNotEqual100
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    404AccountBeneficiaries:
      description: >-
        Not Found. There is no such account resource at the specified `{accountId}`, or the account type does not support beneficiaries. The `_error`
        field in the response will contain details about the request error.


        This error response may have one of the following `type` values:

        * [`invalidAccountId`](#err-invalidAccountId)

        * [`noBeneficiariesOnBusinessAccounts`](#err-noBeneficiariesOnBusinessAccounts)
      x-apiture-errors:
        - invalidAccountId
        - noBeneficiariesOnBusinessAccounts
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409AccountBeneficiariesConflict:
      description: |-
        Conflict. Beneficiaries can only be assigned to personal accounts.

        This error response may have one of the following `type` values:
        * [`noBeneficiariesOnBusinessAccounts`](#err-noBeneficiariesOnBusinessAccounts)
      x-apiture-errors:
        - noBeneficiariesOnBusinessAccounts
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    422OwnersRequest:
      description: |-
        Unprocessable Entity. Invalid data in the request to update an accounts owners:
          * A person appears more than once (based on their tax identification)
          * A user is not an invited, verified digital banking user
          * The array is empty or contains more users than is allowed by the FI
          * The request does not specify exactly one primary owner

        This error response may have one of the following `type` values:
        * [`duplicateUser`](#err-duplicateUser)
        * [`unverifiedUser`](#err-unverifiedUser)
        * [`notExactlyOnePrimaryOwner`](#err-notExactlyOnePrimaryOwner)
        * [`invalidAccountAuthorizationType`](#err-invalidAccountAuthorizationType)
      x-apiture-errors:
        - duplicateUser
        - unverifiedUser
        - notExactlyOnePrimaryOwner
        - invalidAccountAuthorizationType
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    422AuthorizedSigners:
      description: |-
        Unprocessable Entity. Invalid data in the request to update an account's authorized signers:
          * A person appears more than once (based on their tax identification)
          * A user is not an invited, verified digital banking user
          * The array is empty or contains more users than is allowed by the FI

        This error response may have one of the following `type` values:
        * [`duplicateUser`](#err-duplicateUser)
        * [`unverifiedUser`](#err-unverifiedUser)
      x-apiture-errors:
        - duplicateUser
        - unverifiedUser
      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.
    409AccountConflict:
      description: >-
        Conflict. The request to change the state of the account is not allowed. For example, one cannot change the state of a `closed` account, or
        change a non-`pending` account to `pending`. 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'
    409BumpApyRateConflict:
      description: Conflict. This account type does not allow bumping the APY rate.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
  parameters:
    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
    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
    externalAccountIdPathParam:
      name: externalAccountId
      description: The unique identifier of this external account. This is an opaque string.
      in: path
      required: true
      schema:
        type: string
    accountIdPathParam:
      name: accountId
      description: The unique identifier of this account. This is an opaque string.
      in: path
      required: true
      schema:
        type: string
    accountQueryParam:
      name: account
      description: A server-supplied value which identifies the account instance.
      in: query
      required: true
      schema:
        type: string
    ifMatchHeaderParam:
      name: If-Match
      description: 'The entity tag that was returned in the `ETag` response. If supplied, the value must match the current entity tag of the resource.'
      in: header
      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
    unmaskedQueryParam:
      name: unmasked
      description: >-
        When requesting an account, the full account number is not included in the response by default, for security reasons. Include this query
        parameter, with a value of `true`, to request that the response body includes the full account number. Such requests are auditable.
      in: query
      required: false
      schema:
        type: boolean
        default: false
    accountFieldsQueryParam:
      name: fields
      description: >-
        Select which fields to include in each account in the collection's `_embedded.items` array. By default, a subset of all the fields in the
        account are returned (detailed in the `summaryAccount` schema). Use the value `*` to request all the fields in the account. Note that there is
        a performance impact of requesting this, since the account balance and interest (year to date) may require additional computation.
      in: query
      required: false
      schema:
        type: string
        default: ''
    nameQueryParam:
      name: name
      in: query
      description: >-
        Subset the accounts or external accounts collection to those with this `name` value. Use `|` to separate multiple values. For example,
        `?name=Bartell` matches only items whose `name` is `Bartell`; `?name=Bartell|kirsten` matches 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
    typeQueryParam:
      name: type
      in: query
      description: >-
        Subset the accounts or external accounts collection to those with this exact `type` value. Use `|` to separate multiple values. For example,
        `?type=Personal%20Savings` matches only items whose `type` is `Personal Savings`; `?type=Personal%20Savings|Investment%20Account` matches
        items whose `type` is `Personal Savings` or `Investment Account`. 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
    stateQueryParam:
      name: state
      in: query
      description: >-
        Subset the accounts or external accounts 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=removed|inactive` matches items whose `state` is `removed` or
        `inactive`. 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
          - active
          - inactive
          - frozen
          - closed
    subtypeQueryParam:
      name: subtype
      in: query
      description: >-
        Subset the accounts or external accounts collection to those with this exact `subtype` value. For example, `?subtype=true` will limit the
        response to only product types which are subtypes. Use `|` to separate multiple values. For example, `?subtype=Basic%20Personal%20Savings`
        matches only items whose `subtype` is `Basic Personal Savings`; `?subtype=Basic%20Personal%20Savings|Basic%20Investment%20Account` matches
        items whose `subtype` is `Basic Personal Savings` or `Basic Investment Account`. 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
    productNameQueryParam:
      name: productName
      in: query
      description: >-
        Subset the accounts collection to those with this `productName` value. Use `|` to separate multiple values. For example,
        `?productName=Basic%20Personal%20Savings` matches only items whose `productName` is `Basic Personal Savings`;
        `?productName=Basic%20Personal%20Savings|Basic%20Investment%20Account` matches items whose `productName` is `Basic Personal Savings` or
        `inactive`. 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
    organizationQueryParam:
      name: organization
      in: query
      description: >-
        Subset the accounts collection to those accounts owned by the organization represented by the uri `organization` value. 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
  requestBodies:
    accountSearch:
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/accountSearch'
        application/json:
          schema:
            $ref: '#/components/schemas/accountSearch'
      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: 'https://auth.devbank.apiture.com/auth/oauth2/authorize'
          tokenUrl: 'https://api.devbank.apiture.com/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 deletable accounts and account-related resources such as transfers.
            banking/readBalance: >-
              Read access to account balances. This must be granted in addition to the `apiture/readBanking` 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.
