openapi: 3.0.0
info:
  title: Organizations
  description: |
    Contact information for organizations (businesses, non-profits,
    trusts, etc.) within the Apiture Banking APIs.
    This API manages business names, addresses, phone numbers,
    and email addresses of organizations. This API also tracks
    additional regulatory information for organizations which
    conduct banking and own business accounts at the financial institution.
    This API also manages authorized signers for the accounts owned by the
    organization as well as the organization's beneficial owners, which are
    people who own at least 25% of the business.

    # 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-addressMustNotBePreferred">addressMustNotBePreferred</h2>

    **Description**: Can not delete the preferred address. <br>
    **Remediation**: Change the organization’s preferred address to another item in order to delete this one.


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

    **Description**: No Address was found for the specified addressId. <br>
    **Remediation**: Ensure the supplied addressId corresponds to an address resource.


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

    **Description**: The authorized signer already exists on the organization. <br>
    **Remediation**: Add an authorized signer with a user not already associated as an authorized signer to the organization.


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

    **Description**: No authorized signer was found for the specified {authorizedSigner}. <br>
    **Remediation**: Ensure the supplied {authorizedSigner} corresponds to an authorized signer resource.


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

    **Description**: No beneficial owner was found for the specified {beneficialOwner}. <br>
    **Remediation**: Ensure the supplied {beneficialOwner} corresponds to a beneficial owner resource.


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

    **Description**: The sum of beneficial owners percentages exceeds 100. <br>
    **Remediation**: Adjust the percentages to total 100 or less.


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

    **Description**: There is another organization with the TaxId. <br>
    **Remediation**: Send a unique TaxId.


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

    **Description**: Can not delete the preferred email address. <br>
    **Remediation**: Change the organization’s preferred email address to another item in order to delete this one.


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

    **Description**: No Email Address was found for the specified emailAddressId. <br>
    **Remediation**: Ensure the supplied emailAddressId corresponds to an email address resource.


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

    **Description**: The current state of that organization does not allow to operate that resource. <br>
    **Remediation**: Ensure the supplied organizationId corresponds to an organization resource in the correct state.

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

    | Property | Type | Description |
    |----------|------|-------------|
    | currentState | string | undefined |
    | allowedStates | [undefined] | undefined |


    <h2 class='errorType' id="err-malformedRequestBodyBadRequest">malformedRequestBodyBadRequest</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-organizationNotFound">organizationNotFound</h2>

    **Description**: No Organization was found for the specified organizationId. <br>
    **Remediation**: Ensure the supplied organizationId corresponds to an organization resource.


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

    **Description**: Can not delete the preferred phone number. <br>
    **Remediation**: Change the organization’s preferred phone number to another item in order to delete this one.


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

    **Description**: No Phone Number was found for the specified phoneNumberId. <br>
    **Remediation**: Ensure the supplied phoneNumberId corresponds to an phone number resource.


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

    **Description**: A property in the request may not be empty. <br>
    **Remediation**: Include a valid value for the property in the request.

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

    | Property | Type | Description |
    |----------|------|-------------|
    | propertyNames | [string] | The name of the property that was omitted or blank |


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

    **Description**: There are too many beneficial owners. <br>
    **Remediation**: The number of beneficial owners must be 10 or less.


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

    **Description**: The user cannot be found or the URI is invalid. <br>
    **Remediation**: Check the URI is formed correctly and references a valid user resource.


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

    **Description**: A link to the user was not supplied for the organization. <br>
    **Remediation**: Include the 'apiture:user' link to a valid user in the _links object of your request.
  version: 0.34.0
  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: Organization
    description: Organization
  - name: Authorized Signers
    description: Organization's Authorized Signers
  - name: Beneficial Owners
    description: Organization's Beneficial Owners
  - name: Addresses
    description: Organization Postal Addresses
  - name: Phone Numbers
    description: Organization Phone Numbers
  - name: Email Addresses
    description: Organization Email Addresses
  - name: Configuration
    description: Organizations Service Configuration
  - name: API
    description: The Organizations API
paths:
  /organizations:
    get:
      summary: Return a collection of organizations
      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 organizations. The [links](https://developer.apiture.com/docs/concepts/links) in the response include pagination links.
      operationId: getOrganizations
      security:
        - apiKey: []
          accessToken:
            - profiles/read
      tags:
        - Organization
      parameters:
        - name: start
          in: query
          description: The zero-based index of the first organization 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 organization representations to return in this page.
          schema:
            type: integer
            format: int32
            default: 100
        - name: sortBy
          in: query
          description: 'Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
          schema:
            type: string
        - $ref: '#/components/parameters/filterQueryParam'
        - $ref: '#/components/parameters/qQueryParam'
        - $ref: '#/components/parameters/typeQueryParam'
        - $ref: '#/components/parameters/stateQueryParam'
        - $ref: '#/components/parameters/nameQueryParam'
        - $ref: '#/components/parameters/customerIdQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organizations'
            application/json:
              schema:
                $ref: '#/components/schemas/organizations'
        '400':
          $ref: '#/components/responses/400'
        '422':
          $ref: '#/components/responses/422'
    post:
      summary: Create a new organization
      description: Create a new organization in the organizations collection.
      operationId: createOrganization
      security:
        - apiKey: []
          accessToken:
            - profiles/write
      tags:
        - Organization
      x-apiture-traits:
        sortBy:
          - state
          - type
          - name
        itemSchema: organization
        filters:
          state:
            filter:
              - eq
              - ne
              - in
          type:
            filter:
              - eq
              - ne
              - in
          customerId:
            filter:
              - eq
          name:
            filter:
              - eq
              - ne
              - lt
              - le
              - gt
              - ge
              - startsWith
              - endsWith
              - contains
              - search
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/createOrganization'
          application/json:
            schema:
              $ref: '#/components/schemas/createOrganization'
        description: The data necessary to create a new organization.
        required: true
      responses:
        '201':
          description: Created
          headers:
            Location:
              description: >-
                The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with
                *`scheme`*`://host`
              schema:
                type: string
                format: uri
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update the resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organization'
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        '400':
          $ref: '#/components/responses/400'
        '409':
          $ref: '#/components/responses/409OrganizationConflict'
  '/organizations/{organizationId}':
    get:
      summary: Fetch a representation of this organization
      description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of this organization resource.'
      operationId: getOrganization
      security:
        - apiKey: []
          accessToken:
            - profiles/read
      tags:
        - Organization
      parameters:
        - $ref: '#/components/parameters/organizationIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
        - name: embed
          in: query
          description: >-
            If set, the `_embedded` object in each organization in the `items` array will include additional embedded objects. This query parameter
            supports the `authorizedSigners` and `beneficialOwners` options. Examples:
              * `?embed=beneficialOwners`
              * `?embed=authorizedSigners,beneficialOwners`
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - authorizedSigners
                - beneficialOwners
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this organization resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organization'
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404Organization'
    put:
      summary: Update this organization
      description: Perform a complete replacement of this organization.
      operationId: updateOrganization
      security:
        - apiKey: []
          accessToken:
            - profiles/write
      tags:
        - Organization
      parameters:
        - $ref: '#/components/parameters/organizationIdPathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      requestBody:
        $ref: '#/components/requestBodies/organization'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this organization resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organization'
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Organization'
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422UdpateOrganization'
    patch:
      summary: Update this organization
      description: >-
        Perform a partial update of this organization. Fields which are omitted are not updated. Nested `_embedded` and `_links` are ignored if
        included.
      operationId: patchOrganization
      security:
        - apiKey: []
          accessToken:
            - profiles/write
      tags:
        - Organization
      parameters:
        - $ref: '#/components/parameters/organizationIdPathParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      requestBody:
        $ref: '#/components/requestBodies/organization'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this organization resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organization'
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Organization'
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
    delete:
      summary: Delete this organization resource
      description: Delete this organization resource.
      operationId: deleteOrganization
      security:
        - apiKey: []
          accessToken:
            - profiles/delete
      tags:
        - Organization
      parameters:
        - $ref: '#/components/parameters/ifMatchHeaderParam'
        - $ref: '#/components/parameters/organizationIdPathParam'
      responses:
        '204':
          $ref: '#/components/responses/204'
        '404':
          $ref: '#/components/responses/404Organization'
        '409':
          $ref: '#/components/responses/409OrganizationConflict'
        '412':
          $ref: '#/components/responses/412'
  '/organizations/{organizationId}/authorizedSigners':
    get:
      summary: Fetch the organization's authorized signers
      description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of the array of the account''s authorized signers.'
      operationId: getAuthorizedSigners
      tags:
        - Authorized Signers
      parameters:
        - $ref: '#/components/parameters/organizationIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this organization 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/404Organization'
      security:
        - apiKey: []
          accessToken:
            - banking/read
    post:
      summary: Create a new authorized signer and associate it to an organization.
      description: >-
        This operation will create a new authorized signer as well as associate and provide the user access to an organization. The signer must be a
        verified user and the user URI must be passed into _links as `apiture:user`. An authorized signer will be added through indirect operations
        such as a successful creation of an organization, or completion of an authorized signer invitation.
      operationId: createAuthorizedSigner
      tags:
        - Authorized Signers
      parameters:
        - $ref: '#/components/parameters/organizationIdPathParam'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/createAuthorizedSigner'
          application/json:
            schema:
              $ref: '#/components/schemas/createAuthorizedSigner'
        description: The authorized signer object.
        required: true
      responses:
        '201':
          description: Created
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/createAuthorizedSigner'
            application/json:
              schema:
                $ref: '#/components/schemas/createAuthorizedSigner'
        '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:

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

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

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

            * [`authorizedSignerAlreadyExists`](#err-authorizedSignerAlreadyExists)
          x-apiture-errors:
            - malformedRequestBodyBadRequest
            - userUriInvalid
            - userUriNotSupplied
            - authorizedSignerAlreadyExists
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
      security:
        - apiKey: []
          accessToken:
            - admin/write
  '/organizations/{organizationId}/authorizedSigners/{authorizedSigner}':
    delete:
      summary: Delete an authorized signer
      description: Remove an authorized signer from an organization.
      operationId: deleteAuthorizedSigner
      tags:
        - Authorized Signers
      parameters:
        - $ref: '#/components/parameters/organizationIdPathParam'
        - name: authorizedSigner
          description: >-
            The identifier of the authorized signer to delete. This value is either the `_id` of the authorized signer, or the zero-based decimal
            index of the authorized signer within the array of [authorized signers](#op-getAuthorizedSigners). Caution: deleting one authorized signer
            changes the array offset of remaining authorized signers.
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Deleted
        '404':
          $ref: '#/components/responses/404AuthorizedSigner'
      security:
        - apiKey: []
          accessToken:
            - admin/write
  '/organizations/{organizationId}/beneficialOwners':
    get:
      summary: Fetch the organization's beneficial owners
      description: >-
        Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of the array of the organization's beneficial owners. This is a
        list of people who own 25% or more of the company. It is tracked for regulatory purposes for all organizations which own business accounts.
      operationId: getBeneficialOwners
      tags:
        - Beneficial Owners
      parameters:
        - $ref: '#/components/parameters/organizationIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this organizations resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/beneficialOwners'
            application/json:
              schema:
                $ref: '#/components/schemas/beneficialOwners'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404Organization'
      security:
        - apiKey: []
          accessToken:
            - banking/read
    put:
      summary: Update the beneficial owners of an account
      description: >-
        Update the array of the beneficial owners. This is a list of people who own 25% or more of the company, and the percentage that they own, or
        who have a major role in the organization. This operation completely replaces the set of beneficial owners.
      operationId: updateBeneficialOwners
      tags:
        - Beneficial Owners
      parameters:
        - $ref: '#/components/parameters/organizationIdPathParam'
        - $ref: '#/components/parameters/ifNoneMatchHeaderParam'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/beneficialOwners'
          application/json:
            schema:
              $ref: '#/components/schemas/beneficialOwners'
        description: The array of beneficial signers.
        required: true
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this organization resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/beneficialOwners'
            application/json:
              schema:
                $ref: '#/components/schemas/beneficialOwners'
        '304':
          $ref: '#/components/responses/304'
        '400':
          $ref: '#/components/responses/400BeneficialOwners'
        '404':
          $ref: '#/components/responses/404Organization'
        '409':
          $ref: '#/components/responses/409BeneficialOwnersConflict'
      security:
        - apiKey: []
          accessToken:
            - admin/write
  '/organizations/{organizationId}/beneficialOwners/{beneficialOwner}':
    delete:
      summary: Delete beneficial owners
      description: Remove a beneficial owner from an organization.
      operationId: deleteBeneficialOwner
      tags:
        - Beneficial Owners
      parameters:
        - $ref: '#/components/parameters/organizationIdPathParam'
        - name: beneficialOwner
          description: >-
            The identifier of the beneficial owner to delete. This value is either the `_id` of the beneficial owner, or the zero-based decimal index
            of the beneficial owner within the array of [beneficial owners](#op-getBeneficialOwners). Caution: deleting one beneficial owner changes
            the array offset of remaining beneficial owners.
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Deleted
        '404':
          $ref: '#/components/responses/404BeneficialOwner'
      security:
        - apiKey: []
          accessToken:
            - admin/write
  '/organizations/{organizationId}/addresses':
    parameters:
      - $ref: '#/components/parameters/organizationIdPathParam'
    get:
      summary: Get an organization's addresses
      description: Return the list of the organization's addresses.
      operationId: getAddresses
      tags:
        - Addresses
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organizationAddresses'
            application/json:
              schema:
                $ref: '#/components/schemas/organizationAddresses'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Organization'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - profiles/read
    post:
      summary: Create a new address.
      description: >-
        Add an address to the list of the organization's addresses. The new address will be `pending` until the financial institution has reviewed and
        approved it, after which it will become `approved`.
      operationId: createAddress
      tags:
        - Addresses
      parameters:
        - name: replaceId
          in: query
          description: >-
            An optional `_id` of an existing address to be _replaced_ with this new address instead of adding a new address, once it has been
            approved. If `replaceId` matches the `_id` of the preferred mailing address the `preferredMailingAddressId` will also be updated to the
            value of `replaceId` once approved. If no existing address matches `replaceId`, the new address is added to the list of addresses.
            Example: `?replaceId=ha1`
          schema:
            type: string
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/organizationAddress'
          application/json:
            schema:
              $ref: '#/components/schemas/organizationAddress'
        description: The data necessary to create a new address.
        required: true
      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/organizationAddress'
            application/json:
              schema:
                $ref: '#/components/schemas/organizationAddress'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Organization'
      security:
        - apiKey: []
          accessToken:
            - profiles/write'
  '/organizations/{organizationId}/addresses/{addressId}':
    parameters:
      - $ref: '#/components/parameters/organizationIdPathParam'
      - $ref: '#/components/parameters/addressIdPathParam'
    get:
      summary: Fetch a representation of this address
      description: 'Return a [HAL](http://developer.apiture.com/docs/concepts/hal) representation of this address resource.'
      operationId: getAddress
      tags:
        - Addresses
      parameters:
        - $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 address resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organizationAddress'
            application/json:
              schema:
                $ref: '#/components/schemas/organizationAddress'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404Address'
      security:
        - apiKey: []
          accessToken:
            - profiles/read
    delete:
      summary: Delete this address resource
      description: Delete this address. The address can only be deleted if it is _not_ the organization's preferred address.
      operationId: deleteAddress
      tags:
        - Addresses
      responses:
        '204':
          $ref: '#/components/responses/204'
        '404':
          $ref: '#/components/responses/404Address'
        '409':
          $ref: '#/components/responses/409AddressConflict'
      security:
        - apiKey: []
          accessToken:
            - profiles/delete
  '/organizations/{organizationId}/emailAddresses':
    parameters:
      - $ref: '#/components/parameters/organizationIdPathParam'
    get:
      summary: Get organization's email addresses
      description: Return the list of the organization's email addresses.
      operationId: getEmailAddresses
      tags:
        - Email Addresses
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organizationEmailAddresses'
            application/json:
              schema:
                $ref: '#/components/schemas/organizationEmailAddresses'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Organization'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - profiles/read
    post:
      summary: Create a new email address
      description: >-
        Add an email address to the list of the organization's email addresses. The new email address will be `pending` until the financial
        institution has reviewed and approved it, after which it will become `approved`.
      operationId: createEmailAddress
      tags:
        - Email Addresses
      parameters:
        - name: replaceId
          in: query
          description: >-
            An optional `_id` of an existing email address to be _replaced_ with this new email address instead of adding a new email address, once it
            has been approved. If `replaceId` matches the `_id` of the preferred email address the `preferredEmailAddressId` will also be updated to
            the value of `replaceId` once approved. If no existing email address matches `replaceId`, the new email address is added to the list of
            email addresses. Example: `?replaceId=e1`
          schema:
            type: string
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/organizationEmailAddress'
          application/json:
            schema:
              $ref: '#/components/schemas/organizationEmailAddress'
        description: The data necessary to create a new email address.
        required: true
      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/organizationEmailAddress'
            application/json:
              schema:
                $ref: '#/components/schemas/organizationEmailAddress'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Organization'
      security:
        - apiKey: []
          accessToken:
            - profiles/write
  '/organizations/{organizationId}/emailAddresses/{emailAddressId}':
    parameters:
      - $ref: '#/components/parameters/organizationIdPathParam'
      - $ref: '#/components/parameters/emailAddressIdPathParam'
    get:
      summary: Fetch a representation of this email address
      description: 'Return a [HAL](http://developer.apiture.com/docs/concepts/hal) representation of this email address resource.'
      operationId: getEmailAddress
      tags:
        - Email Addresses
      parameters:
        - $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 email address resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organizationEmailAddress'
            application/json:
              schema:
                $ref: '#/components/schemas/organizationEmailAddress'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404EmailAddress'
      security:
        - apiKey: []
          accessToken:
            - profiles/read
    delete:
      summary: Delete this email address resource
      description: Delete this email address. The email address can only be deleted if it is _not_ the organization's preferred email address.
      operationId: deleteEmailAddress
      tags:
        - Email Addresses
      responses:
        '204':
          $ref: '#/components/responses/204'
        '404':
          $ref: '#/components/responses/404EmailAddress'
        '409':
          $ref: '#/components/responses/409EmailAddressConflict'
      security:
        - apiKey: []
          accessToken:
            - profiles/delete
  '/organizations/{organizationId}/phoneNumbers':
    parameters:
      - $ref: '#/components/parameters/organizationIdPathParam'
    get:
      summary: Get organization's phone numbers
      description: Return the list of the organization's phone numbers
      operationId: getPhoneNumbers
      tags:
        - Phone Numbers
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organizationPhoneNumbers'
            application/json:
              schema:
                $ref: '#/components/schemas/organizationPhoneNumbers'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Organization'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - profiles/read
    post:
      summary: Create a new phone number
      description: >-
        Add a phone number to the list of the organization's phone numbers. The new number will be `pending` until the financial institution has
        reviewed and approved it, after which it will become `approved`.
      operationId: createPhoneNumber
      tags:
        - Phone Numbers
      parameters:
        - name: replaceId
          in: query
          description: >-
            An optional `_id` of an existing phone number to be _replaced_ with this new phone number instead of adding a new phone number, once it
            has been approved. If `replaceId` matches the `_id` of the preferred phone number the `preferredPhoneId` will also be updated to the value
            of `replaceId` once approved. If no existing phone number matches `replaceId`, the new phone number is added to the list of phone numbers.
            Example: `?replaceId=p1`
          schema:
            type: string
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/organizationPhoneNumber'
          application/json:
            schema:
              $ref: '#/components/schemas/organizationPhoneNumber'
        description: The data necessary to create a new phone number.
        required: true
      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/organizationPhoneNumber'
            application/json:
              schema:
                $ref: '#/components/schemas/organizationPhoneNumber'
        '400':
          $ref: '#/components/responses/400'
        '404':
          $ref: '#/components/responses/404Organization'
      security:
        - apiKey: []
          accessToken:
            - profiles/write
  '/organizations/{organizationId}/phoneNumbers/{phoneNumberId}':
    parameters:
      - $ref: '#/components/parameters/organizationIdPathParam'
      - $ref: '#/components/parameters/phoneNumberIdPathParam'
    get:
      summary: Fetch a representation of this phone number
      description: 'Return a [HAL](http://developer.apiture.com/docs/concepts/hal) representation of this phone number resource.'
      operationId: getPhoneNumber
      tags:
        - Phone Numbers
      parameters:
        - $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 phone number resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organizationPhoneNumber'
            application/json:
              schema:
                $ref: '#/components/schemas/organizationPhoneNumber'
        '304':
          $ref: '#/components/responses/304'
        '404':
          $ref: '#/components/responses/404PhoneNumber'
      security:
        - apiKey: []
          accessToken:
            - profiles/read
    delete:
      summary: Delete this phone number resource
      description: Delete this phone number. The number can only be deleted if it is _not_ the organization's preferred phone number.
      operationId: deletePhoneNumber
      tags:
        - Phone Numbers
      responses:
        '204':
          $ref: '#/components/responses/204'
        '404':
          $ref: '#/components/responses/404PhoneNumber'
        '409':
          $ref: '#/components/responses/409PhoneNumberConflict'
      security:
        - apiKey: []
          accessToken:
            - profiles/delete
  '/organizations/{organizationId}/preferredAddress':
    parameters:
      - $ref: '#/components/parameters/organizationIdPathParam'
    put:
      summary: Set Preferred mailing Address
      description: >-
        Set the organization's preferred mailing address. The organization may set their preferred address to an _approved_ address by passing its
        unique `_id` in either the `value` query parameter or in the request body. This updates the `preferredAddressId` property of the organization.


        This operation is available via the `apiture:setAsPreferred` link on an address if that resource is eligible to be set as the preferred
        address.


        No changes are made if the specified address is already the preferred address.
      operationId: setPreferredAddress
      tags:
        - Addresses
      security:
        - apiKey: []
          accessToken:
            - profiles/write
      parameters:
        - name: value
          description: >-
            The `_id` of the address to assign as the preferred address. If this query parameter exists, the request body, if any, is ignored.
            Example: `?value=ha1`
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/preferredResource'
          application/json:
            schema:
              $ref: '#/components/schemas/preferredResource'
        description: 'The `_id` of the address to assign as the preferred address, as a JSON string (the value must be quoted).'
        required: true
      responses:
        '200':
          description: OK. The organization's `preferredAddressId` is updated to the passed value.
          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 organization resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organization'
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        '404':
          $ref: '#/components/responses/404Organization'
        '409':
          $ref: '#/components/responses/409PreferredConflict'
        '422':
          $ref: '#/components/responses/422PreferredUnprocessable'
  '/organizations/{organizationId}/preferredEmailAddress':
    parameters:
      - $ref: '#/components/parameters/organizationIdPathParam'
    put:
      summary: Set Preferred Email Address
      description: >-
        Set the organization's preferred email address. The organization may set their preferred email address to an _approved_ address by passing its
        unique `_id` in either the `value` query parameter or in the request body. This updates the `preferredEmailAddressId` property of the
        organization.


        This operation is available via the `apiture:setAsPreferred` link on an email address if that resource is eligible to be set as the preferred
        email address.


        No changes are made if the specified email address is already the preferred email address.
      operationId: setPreferredEmailAddress
      tags:
        - Email Addresses
      security:
        - apiKey: []
          accessToken:
            - profiles/write
      parameters:
        - name: value
          description: >-
            The `_id` of the email address to assign as the preferred email address. If this query parameter exists, the request body, if any, is
            ignored. Example: `?value=pe0`
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/preferredResource'
          application/json:
            schema:
              $ref: '#/components/schemas/preferredResource'
        description: 'The `_id` of the email address to assign as the preferred email address, as a JSON string (the value must be quoted).'
        required: true
      responses:
        '200':
          description: OK. The organization's `preferredEmailAddressId` is updated to the passed value.
          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 organization resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organization'
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        '404':
          $ref: '#/components/responses/404Organization'
        '409':
          $ref: '#/components/responses/409PreferredConflict'
        '422':
          $ref: '#/components/responses/422PreferredUnprocessable'
  '/organization/{organizationId}/preferredPhoneNumber':
    parameters:
      - $ref: '#/components/parameters/organizationIdPathParam'
    put:
      summary: Set Preferred Phone Number
      description: >-
        Set the organization's preferred phone number. The organization may set their preferred phone number to an _approved_ number by passing its
        unique `_id` in either the `value` query parameter or in the request body. This updates the `preferredPhoneId` property of the organization.


        This operation is available via the `apiture:setAsPreferred` link on an phone number if that resource is eligible to be set as the preferred
        phone number.


        No changes are made if the specified phone number is already the preferred phone number.
      operationId: setPreferredPhoneNumber
      tags:
        - Phone Numbers
      security:
        - apiKey: []
          accessToken:
            - profiles/write
      parameters:
        - name: value
          description: >-
            The `_id` of the number to assign as the preferred phone number. If this query parameter exists, the request body, if any, is ignored.
            Example: `?value=pe0`
          in: query
          schema:
            type: string
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/preferredResource'
          application/json:
            schema:
              $ref: '#/components/schemas/preferredResource'
        description: 'The `_id` of the number to assign as the preferred phone number, as a JSON string (the value must be quoted).'
        required: true
      responses:
        '200':
          description: OK. The organization's `preferredPhoneId` is updated to the passed value.
          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 organization resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organization'
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        '404':
          $ref: '#/components/responses/404Organization'
        '409':
          $ref: '#/components/responses/409PreferredConflict'
        '422':
          $ref: '#/components/responses/422PreferredUnprocessable'
  /activeOrganizations:
    post:
      summary: Activate an organization.
      tags:
        - Organization
      description: |-
        Activate an organization from an inactive state.

        This operation is invoked from the `apiture:activate` link on an
        organization resource when that organization is eligible to be activated.

        This changes the `state` to `active`.
      operationId: activateOrganization
      security:
        - apiKey: []
          accessToken:
            - profiles/write
      parameters:
        - $ref: '#/components/parameters/organizationQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this organization resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organization'
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        '400':
          $ref: '#/components/responses/400Organization'
        '409':
          $ref: '#/components/responses/409OrganizationConflict'
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
  /inactiveOrganizations:
    post:
      summary: Deactivate an organization.
      tags:
        - Organization
      description: |-
        Deactivate an organization from an active or pending state.

        This operation is invoked from the `apiture:deactivate` link on an
        organization resource when that organization is eligible to be deactivated.

        This changes the `state` to `inactive`.
      operationId: deactivateOrganization
      security:
        - apiKey: []
          accessToken:
            - profiles/write
      parameters:
        - $ref: '#/components/parameters/organizationQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this organization resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organization'
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        '400':
          $ref: '#/components/responses/400Organization'
        '409':
          $ref: '#/components/responses/409OrganizationConflict'
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
  /removedOrganizations:
    post:
      summary: Remove an organization.
      tags:
        - Organization
      description: |-
        Remove an organization by setting its state to `removed`.

        This operation is invoked from the `apiture:remove` link on a
        organization resource when that organization is eligible to be removed.
        The organization must not be in use (there may not be any active associations
        to the organization).

        This changes the `state` to `removed`.
      operationId: removeOrganization
      security:
        - apiKey: []
          accessToken:
            - profiles/write
      parameters:
        - $ref: '#/components/parameters/organizationQueryParam'
        - $ref: '#/components/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          headers:
            ETag:
              description: >-
                The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
                operations which update this organization resource.
              schema:
                type: string
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/organization'
            application/json:
              schema:
                $ref: '#/components/schemas/organization'
        '400':
          $ref: '#/components/responses/400Organization'
        '409':
          $ref: '#/components/responses/409OrganizationConflict'
        '412':
          $ref: '#/components/responses/412'
        '422':
          $ref: '#/components/responses/422'
  '/organizations/{organizationId}/entityAuthorizationForm':
    post:
      summary: Generate an entity authorization Form
      description: |-
        Generate an entity authorization form for this organization.
        The form will include:

          * the name and role of the individual requesting the form
            (derived from the user making the request)
          * the names and roles of all existing authorized signers
          * the names and roles of individuals being invited to
            become authorized signers.


        If the form has not been generated for this request data, 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 form has been generated for this request, the operations returns 200 OK and
        the response body is the PDF formatted entity authorization form.

        Only the authorized signers associated with the owning business organization may invoke this operation.
      operationId: generateEntityAuthorizationForm
      tags:
        - Organization
      parameters:
        - $ref: '#/components/parameters/organizationIdPathParam'
        - name: Accept
          in: header
          description: Optional. Only `application/pdf` is currently supported.
          schema:
            type: string
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/entityAuthorizationFormRequest'
          application/json:
            schema:
              $ref: '#/components/schemas/entityAuthorizationFormRequest'
        required: true
      security:
        - apiKey: []
          accessToken:
            - banking/write
      responses:
        '200':
          description: OK. The request has succeeded.
          headers:
            Content-Type:
              description: >-
                When the entity authorization form is available, the response body will be the PDF formatted entity authorization form for this
                organization.
              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/404Organization'
        '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'
  /configurations:
    get:
      summary: Configuration definition for this API
      description: Returns the configuration for this API
      operationId: getConfiguration
      x-apiture-hidden: true
      tags:
        - Configuration
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configuration'
            application/json:
              schema:
                $ref: '#/components/schemas/configuration'
      security:
        - apiKey: []
          accessToken:
            - profile/read
  /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
      x-apiture-hidden: true
      tags:
        - Configuration
      parameters:
        - name: start
          in: query
          description: The zero-based index of the first configuration group 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 configuration group representations to return in this page.
          schema:
            type: integer
            format: int32
            default: 100
        - name: sortBy
          in: query
          description: 'Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
          schema:
            type: string
        - $ref: '#/components/parameters/filterQueryParam'
        - $ref: '#/components/parameters/qQueryParam'
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/configurationGroups'
            application/json:
              schema:
                $ref: '#/components/schemas/configurationGroups'
        '400':
          $ref: '#/components/responses/400'
        '422':
          $ref: '#/components/responses/422'
      security:
        - apiKey: []
          accessToken:
            - admin/read
  '/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
      x-apiture-hidden: true
      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'
      security:
        - apiKey: []
          accessToken:
            - admin/read
  '/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
      x-apiture-hidden: true
      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'
      security:
        - apiKey: []
          accessToken:
            - admin/read
  '/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:
            - profiles/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'
      requestBody:
        content:
          application/hal+json:
            schema:
              $ref: '#/components/schemas/configurationValues'
          application/json:
            schema:
              $ref: '#/components/schemas/configurationValues'
        required: true
      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'
  '/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 /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 configuraton 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 /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'
      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
      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 administrators may update configurations.
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/errorResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
  /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: []
      parameters:
        - name: Accept-Language
          in: header
          description: >-
            The weighted language tags which indicate the organization'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
  /:
    get:
      summary: Top-level resources and operations in this API
      description: Return links to the top-level resources and operations in this API.
      operationId: getApi
      security:
        - apiKey: []
      responses:
        '200':
          description: OK
          content:
            application/hal+json:
              schema:
                $ref: '#/components/schemas/root'
            application/json:
              schema:
                $ref: '#/components/schemas/root'
      tags:
        - API
  /apiDoc:
    get:
      summary: Return API definition document
      description: Return the OpenAPI document that describes this API.
      operationId: getApiDoc
      security:
        - apiKey: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
            application/openapi+json;version=2.0:
              schema:
                type: object
            application/openapi+yaml;version=2.0:
              schema:
                type: object
      tags:
        - API
x-apiture-traits:
  - api:
      title: Organizations
      basePath: organizations
      links:
        - getApi
        - getApiDoc
        - getOrganizations
        - createOrganization
        - getLabels
      applied: true
  - resource:
      name: organization
      description: 'Organization data (mailing addresses, phone numbers, email addresses) for an organization (business, non-profit, trust).'
      excludeMethods:
        - delete
      applied: true
  - resource:
      name: address
      pluralName: addresses
      resourceSchema: organizationAddress
      collectionSchema: organizationAddresses
      excludeMethods:
        - put
        - patch
      pathPrefix: '/organizations/{organizationId}'
      paginated: false
      sortable: false
      filterable: false
      searchable: false
      simpleModelSchema: true
      article: an
      applied: true
  - resource:
      name: email address
      pluralName: email addresses
      resourceSchema: organizationEmailAddress
      collectionSchema: organizationEmailAddresses
      excludeMethods:
        - put
        - patch
      pathPrefix: '/organizations/{organizationId}'
      paginated: false
      sortable: false
      filterable: false
      searchable: false
      simpleModelSchema: true
      article: an
      applied: true
  - resource:
      name: phone number
      resourceSchema: organizationPhoneNumber
      collectionSchema: organizationPhoneNumbers
      excludeMethods:
        - put
        - patch
      pathPrefix: '/organizations/{organizationId}'
      paginated: false
      sortable: false
      filterable: false
      searchable: false
      simpleModelSchema: true
      applied: true
  - security:
      baseScope: profiles
      applied: true
x-apiture-errors:
  organizationNotFound:
    description: No Organization was found for the specified organizationId
    remediation: Ensure the supplied organizationId corresponds to an organization resource
  beneficialOwnerNotFound:
    description: 'No beneficial owner was found for the specified {beneficialOwner}'
    remediation: 'Ensure the supplied {beneficialOwner} corresponds to a beneficial owner resource'
  authorizedSignerNotFound:
    description: 'No authorized signer was found for the specified {authorizedSigner}'
    remediation: 'Ensure the supplied {authorizedSigner} corresponds to an authorized signer resource'
  duplicateTaxId:
    description: There is another organization with the TaxId.
    remediation: Send a unique TaxId.
  invalidOrganizationState:
    description: The current state of that organization does not allow to operate that resource
    remediation: Ensure the supplied organizationId corresponds to an organization resource in the correct state
    attributes:
      properties:
        currentState:
          type: string
        allowedStates:
          type: array
          items: string
          minLength: 1
  tooManyBeneficialOwners:
    description: There are too many beneficial owners
    remediation: The number of beneficial owners must be 10 or less
  beneficialOwnersPercentageExceed100:
    description: The sum of beneficial owners percentages exceeds 100
    remediation: Adjust the percentages to total 100 or less
  addressNotFound:
    description: No Address was found for the specified addressId
    remediation: Ensure the supplied addressId corresponds to an address resource
  emailAddressNotFound:
    description: No Email Address was found for the specified emailAddressId
    remediation: Ensure the supplied emailAddressId corresponds to an email address resource
  phoneNumberNotFound:
    description: No Phone Number was found for the specified phoneNumberId
    remediation: Ensure the supplied phoneNumberId corresponds to an phone number resource
  phoneMustNotBePreferred:
    description: Can not delete the preferred phone number.
    remediation: Change the organization’s preferred phone number to another item in order to delete this one.
  emailAddressMustNotBePreferred:
    description: Can not delete the preferred email address.
    remediation: Change the organization’s preferred email address to another item in order to delete this one.
  addressMustNotBePreferred:
    description: Can not delete the preferred address.
    remediation: Change the organization’s preferred address to another item in order to delete this one.
  userUriInvalid:
    description: The user cannot be found or the URI is invalid.
    remediation: Check the URI is formed correctly and references a valid user resource.
  userUriNotSupplied:
    description: A link to the user was not supplied for the organization
    remediation: 'Include the ''apiture:user'' link to a valid user in the _links object of your request'
  malformedRequestBodyBadRequest:
    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
  authorizedSignerAlreadyExists:
    description: The authorized signer already exists on the organization.
    remediation: Add an authorized signer with a user not already associated as an authorized signer to the organization.
  propertyRequired:
    description: A property in the request may not be empty.
    remediation: Include a valid value for the property in the request.
    attributes:
      properties:
        propertyNames:
          description: The name of the property that was omitted or blank
          type: array
          minLength: 1
          items:
            type: string
servers:
  - url: 'https://api.devbank.apiture.com/organizations'
components:
  parameters:
    organizationIdPathParam:
      name: organizationId
      description: The unique identifier of this organization. This is an opaque string. This value is the `_id` of the organization.
      in: path
      required: true
      schema:
        type: string
    organizationQueryParam:
      name: organization
      description: >-
        A string which identifies existing organization whose state is being changed by `POST`ing it to a resource set. The server supplies this value
        when returning a link to operate on a specific organization. The value may be a `{organizationId}` or an organization URI.
      in: query
      required: true
      schema:
        type: string
    phoneNumberIdPathParam:
      name: phoneNumberId
      description: The unique identifier of this phone number. This is an opaque string.
      in: path
      required: true
      schema:
        type: string
    emailAddressIdPathParam:
      name: emailAddressId
      description: The unique identifier of this email address. This is an opaque string.
      in: path
      required: true
      schema:
        type: string
    addressIdPathParam:
      name: addressId
      description: The unique identifier of this address. This is an opaque string.
      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
    nameQueryParam:
      name: name
      in: query
      description: >-
        Subset the organizations 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 organizations collection to those with this exact type value. Use `|` to separate multiple values. For example, `?type=corporation`
        matches only items whose type is `corporation`; `?type=llp|llc` matches items whose type is `llp` or `llc`. 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 organizations 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
          - removed
          - merged
    customerIdQueryParam:
      name: customerId
      in: query
      description: >-
        Subset the organization collection to those whose `customerId` matches this 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
    qQueryParam:
      name: q
      in: query
      description: 'Optional search string. See [searching](https://developer.apiture.com/docs/concepts/searching).'
      schema:
        type: string
    ifMatchHeaderParam:
      name: If-Match
      description: The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
      in: header
      schema:
        type: string
    ifNoneMatchHeaderParam:
      name: If-None-Match
      description: >-
        The entity tag that was returned in the `ETag` response. If the resource's current entity tag matches, the `GET` will return 304 (Not
        Modified) and no response body, else the resource representation will be returned.
      in: header
      schema:
        type: string
    configurationGroupNamePathParam:
      name: groupName
      description: The unique name of this configuration group.
      in: path
      required: true
      schema:
        type: string
    configurationGroupValueNamePathParam:
      name: valueName
      description: >-
        The unique name of a value in a configuration group. This is the name of the value in the `schema`. A `{valueName}` must be a simple
        identifier following the pattern _`letter [letter | digit | '-' | '_']*`_
      in: path
      required: true
      schema:
        type: string
  responses:
    '204':
      description: No Content. The resource was deleted successfully.
    '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:

        * [`malformedRequestBodyBadRequest`](#err-malformedRequestBodyBadRequest)
      x-apiture-errors:
        - malformedRequestBodyBadRequest
      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 or request body 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'
    422UdpateOrganization:
      description: >-
        Unprocessable Entity. One or more of the query parameters or request body was well formed but otherwise invalid. The `_error` field in the
        response will contain details about the request error.


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

        * [`propertyRequired`](#err-propertyRequired)
      x-apiture-errors:
        - propertyRequired
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400Organization:
      description: Bad Request. The `organization` or `organizationUri` was malformed or does not refer to an organization.
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    400BeneficialOwners:
      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:

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

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


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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

        * [`addressNotFound`](#err-addressNotFound)
      x-apiture-errors:
        - organizationNotFound
        - addressNotFound
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409OrganizationConflict:
      description: |-
        Conflict. There is a conflict between the request and the current state of the resource. It may be one of the following:
          * An organization with the associated taxId already exists
          * The `state` of a `removed` organization may not be changed.
          * The `state` cannot be updated via a `PUT` or `POST` request. Please use the appropriate endpoint to change the state.
          * Some key fields of the organization record may not be changed or
          removed, such as their `taxId`

        This error response may have one of the following `type` values:
        * [`duplicateTaxId`](#err-duplicateTaxId)
        * [`invalidOrganizationState`](#err-invalidOrganizationState)
      x-apiture-errors:
        - duplicateTaxId
        - invalidOrganizationState
    409AuthorizedSignersConflict:
      description: |-
        Conflict. There is a conflict in the request to update an organization'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
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409BeneficialOwnersConflict:
      description: |-
        Conflict. There is a conflict in the request to update an organization's beneficial owners:
          * A user appears more than once
          * The array contains more users than is allowed by the FI
          * The sum of ownership percentages exceeds 100%
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409AddressConflict:
      description: |-
        Conflict. The selected address cannot be deleted because it is currently the organization's preferred address.

        This error response may have one of the following `type` values:
        * [`addressMustNotBePreferred`](#err-addressMustNotBePreferred)
      x-apiture-errors:
        - addressMustNotBePreferred
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409EmailAddressConflict:
      description: |-
        Conflict. The selected email address cannot be deleted because it is currently the organization's preferred email address.

        This error response may have one of the following `type` values:
        * [`emailAddressMustNotBePreferred`](#err-emailAddressMustNotBePreferred)
      x-apiture-errors:
        - emailAddressMustNotBePreferred
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409PhoneNumberConflict:
      description: |-
        Conflict. The selected phone number cannot be deleted because it is currently the organization's preferred phone number.

        This error response may have one of the following `type` values:
        * [`phoneMustNotBePreferred`](#err-phoneMustNotBePreferred)
      x-apiture-errors:
        - phoneMustNotBePreferred
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    409PreferredConflict:
      description: 'Conflict. The selected phone number, address, or email address cannot be set as the preferred because it is still `pending`.'
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/errorResponse'
        application/json:
          schema:
            $ref: '#/components/schemas/errorResponse'
    422PreferredUnprocessable:
      description: 'Unprocessable Entity. The selected phone number, address, or email address cannot be set as the preferred because no such item exists.'
      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'
  requestBodies:
    organization:
      content:
        application/hal+json:
          schema:
            $ref: '#/components/schemas/organization'
        application/json:
          schema:
            $ref: '#/components/schemas/organization'
      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:
            profiles/read: Read access to user and contact related resources.
            profiles/write: Write (update) access to user and contact related resources.
            profiles/delete: Delete access to user and contact related resources.
            profiles/readPii: >-
              Read access to personally identifiable information such as  tax ID numbers, phone numbers, email and postal addresses. This must be
              granted in addition to the `profiles/read` scope in order to read such data, but is included in the `profiles/full` scope.
            profiles/full: Full access to user and contact related resources.
  schemas:
    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>
      x-apiture-version: 1.0.1
      x-apiture-links:
        - rel: delete
          operationId: deleteAddress
        - rel: 'apiture:setAsPreferred'
          operationId: setPreferredAddress
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/address'
        - type: object
          properties:
            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'
      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/schema.json'
      x-apiture-namespace: organizations
    organizationAddresses:
      title: Organization Addresses (v1.0.1)
      description: The list of the organization's addresses.
      x-apiture-version: 1.0.1
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - type: object
          properties:
            items:
              description: An array containing address items.
              type: array
              items:
                $ref: '#/components/schemas/organizationAddress'
              minItems: 1
              maxItems: 2
      example:
        _profile: 'https://api.apiture.com/schemas/organizations/organizationAddresses/v1.0.1/profile.json'
        items:
          - _id: ha1
            type: home
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
            state: approved
            _profile: 'https://api.apiture.com/schemas/organizations/organizationAddress/v1.0.1/profile.json'
            _links:
              self:
                href: 'https://api.example.com/organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1'
          - _id: wa1
            type: work
            addressLine1: 123 S 3rd Street
            addressLine2: Apt 42
            city: Wilmington
            regionCode: NC
            postalCode: 28411-5405
            countryCode: US
            _profile: 'https://api.apiture.com/schemas/organizations/organizationAddress/v1.0.1/profile.json'
            _links:
              self:
                href: 'https://api.example.com/organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/wa1'
        _links:
          self:
            href: 'https://api.example.com/organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationAddresses/v1.0.1/schema.json'
      x-apiture-namespace: organizations
    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>
      x-apiture-version: 1.0.1
      x-apiture-links:
        - rel: delete
          operationId: deleteEmailAddress
        - rel: 'apiture:setAsPreferred'
          operationId: setPreferredEmailAddress
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/typedEmailAddress'
        - type: object
          properties:
            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'
      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/schema.json'
      x-apiture-namespace: organizations
    entityAuthorizationFormRequest:
      title: Entity Authorization Form Request (v1.0.1)
      description: Data necessary to generate an entity authorization form.
      x-apiture-version: 1.0.1
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - type: object
          properties:
            invitees:
              description: 'A list of zero or more invited authorized signers. If empty or omitted, the form will list only existing authorized signers.'
              type: array
              items:
                $ref: '#/components/schemas/invitedAuthorizedSigner'
              maxLength: 8
      example:
        _profile: 'https://api.apiture.com/schemas/organizations/entityAuthorizationFormRequest/v1.0.1/profile.json'
        invitees:
          - firstName: Lucille
            lastName: Wellphunded
            role: Owner
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/entityAuthorizationFormRequest/v1.0.1/schema.json'
      x-apiture-namespace: organizations
    invitedAuthorizedSigner:
      title: Invited Authorized Signer (v1.0.0)
      description: The name and role of an individual who is being invited to the organization as an authorized signer.
      required:
        - firstName
        - lastName
        - role
      allOf:
        - $ref: '#/components/schemas/contactName'
        - type: object
          properties:
            role:
              description: The role or job title that the individual holds within the organization.
              type: string
      example:
        firstName: Lucille
        lastName: Wellphunded
        role: Owner
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/invitedAuthorizedSigner/v1.0.0/schema.json'
      x-apiture-namespace: organizations
    preferredResource:
      title: Preferred Resource (v1.0.0)
      description: >-
        The `_id` of an address, email address, or phone number resource to set as the organization's preferred item. The `_id` is represented as a
        JSON string. (Note: the value *must* be quoted.)
      type: string
      minLength: 1
      maxLength: 4
      example: pe0
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/preferredResource/v1.0.0/schema.json'
      x-apiture-namespace: organizations
    organizationEmailAddresses:
      title: The organization's email addresses (v1.0.1)
      description: The list of the organization's email addresses.
      x-apiture-version: 1.0.1
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - type: object
          properties:
            items:
              description: An array containing email address items.
              type: array
              items:
                $ref: '#/components/schemas/organizationEmailAddress'
      example:
        _profile: 'https://api.apiture.com/schemas/organizations/organizationEmailAddresses/v1.0.1/profile.json'
        items:
          - _id: pe0
            type: personal
            label: Personal
            number: user7838@example.com
            state: approved
            _profile: 'https://api.apiture.com/schemas/organizations/organizationEmailAddress/v1.0.1/profile.json'
            _links:
              self:
                href: 'https://api.devbank.apiture.com//organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe0'
          - _id: pe2
            type: personal
            label: Personal
            value: John.Smith@example.com
            state: approved
            _profile: 'https://api.apiture.com/schemas/organizations/organizationEmailAddress/v1.0.1/profile.json'
            _links:
              self:
                href: 'https://api.devbank.apiture.com//organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/EmailAddresses/pe2'
        _links:
          self:
            href: 'https://api.example.com/organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationEmailAddresses/v1.0.1/schema.json'
      x-apiture-namespace: organizations
    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>
      x-apiture-version: 1.0.2
      x-apiture-links:
        - rel: delete
          operationId: deletePhoneNumber
        - rel: 'apiture:setAsPreferred'
          operationId: setPreferredPhoneNumber
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/phoneNumber'
        - type: object
          properties:
            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'
      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/schema.json'
      x-apiture-namespace: organizations
    organizationPhoneNumbers:
      title: The organization's phone numbers (v1.0.2)
      description: The list of the organization's phone numbers.
      x-apiture-version: 1.0.2
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - type: object
          properties:
            items:
              description: An array containing phone number items.
              type: array
              items:
                $ref: '#/components/schemas/organizationPhoneNumber'
      example:
        _profile: 'https://api.apiture.com/schemas/organizations/organizationPhoneNumbers/v1.0.2/profile.json'
        items:
          - _id: mp0
            type: mobile
            label: Mobile
            number: '+19105550155'
            state: approved
            _profile: 'https://api.apiture.com/schemas/organization/organizationPhoneNumber/v1.0.2/profile.json'
            _links:
              self:
                href: 'https://api.example.com/organizations/organizations/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/mp0'
          - _id: mp2
            type: home
            label: Home
            number: '+19105550154'
            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/mp2'
        _links:
          self:
            href: 'https://api.example.com/useorganizationsrs/organizations/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationPhoneNumbers/v1.0.2/schema.json'
      x-apiture-namespace: organizations
    profileItemState:
      title: Organization Profile Item State (v1.0.0)
      description: >-
        The state of an item (address, email address, or phone number) within the organization's profile. New addresses, email addresses, or phone
        numbers start with the state `pending`, which means approval by the financial institution is pending. After they have been verified, the state
        becomes `approved`. Some normalizing or sanitizing of the value may occur when this happens (for example, a ZIP code may change to ZIP+4
        format). `pending` items may not be assigned as the preferred item.


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

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


        <table>

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


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



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

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


        **Warning**: the `enum` list will be removed in a future release and the values defined at runtime via the `accountPurpose` group in the
        response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - unknown
        - creditCardProcessing
        - generalOperatingFunds
        - lottery
        - payroll
        - savings
        - other
        - notApplicable
      x-apiture-choice: accountPurpose
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/accountPurpose/v1.0.0/schema.json'
      x-apiture-namespace: organizations
    estimatedAnnualRevenue:
      title: Estimated Annual Revenue (v1.0.0)
      x-apiuture-fragment: true
      description: >-
        The estimated annual revenue in USD.


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


        **Warning**: the `enum` list will be removed in a future release and the values defined at runtime via the `intermediaryServices` group in the
        response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - unknown
        - accounting
        - fundsManagement
        - insurance
        - investment
        - legal
        - medical
        - notary
        - realEstate
        - taxPreparation
        - trustManagement
        - gambling
        - securities
        - loanFinance
        - pawnBrokerage
        - travelAgency
        - vehicleSales
        - foreignCurrency
        - preciousMetals
        - other
        - notApplicable
      x-apiture-choice: intermediaryServices
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/intermediaryServices/v1.0.0/schema.json'
      x-apiture-namespace: organizations
    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.
      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/schema.json'
      x-apiture-namespace: organizations
    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.
      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/schema.json'
      x-apiture-namespace: organizations
    createAuthorizedSigner:
      title: New Authorized Signer (v1.0.0)
      description: The user authorized for organizational access.
      allOf:
        - $ref: '#/components/schemas/createAuthorization'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/createAuthorizedSigner/v1.0.0/schema.json'
      x-apiture-namespace: organizations
    authorizedSigners:
      title: Authorized Signers (v1.1.0)
      description: The list of users who are authorized to access the organization and its bank accounts.
      x-apiture-version: 1.1.0
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - type: object
          properties:
            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'
      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/schema.json'
      x-apiture-namespace: organizations
    authorizedSigner:
      title: Authorized Signer (v1.0.0)
      description: A person who is authorized to perform banking operations on an organization's banking accounts.
      allOf:
        - $ref: '#/components/schemas/authorization'
        - type: object
          properties:
            _id:
              description: The unique identifier for this authorized signer resource. This is an immutable opaque string.
              readOnly: true
              type: string
      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/schema.json'
      x-apiture-namespace: organizations
    beneficialOwner:
      title: Beneficial Owner (v1.2.0)
      description: A person who owns 25% or more of a business organization.
      x-apiture-version: 1.2.0
      required:
        - percentage
        - contactId
        - firstName
        - lastName
        - identification
      allOf:
        - $ref: '#/components/schemas/simpleContact'
        - type: object
          properties:
            _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.
      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.2.0/schema.json'
      x-apiture-namespace: organizations
    beneficialOwners:
      title: Beneficial Owners (v1.2.0)
      x-apiture-version: 1.2.0
      description: >-
        A list of people who own at least 25% of the business or who have a major role in the organization. The sum of the percentages may not exceed
        100%. The percentage may be less than 25 for non-owners with a major role, or to retain other owners whose percentage may change to 25% in the
        future.
      required:
        - items
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - type: object
          properties:
            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'
      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.2.0/profile.json'
        _links:
          self:
            href: 'https://api.devbank.apiture.com//organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c/beneficialOwners'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/beneficialOwners/v1.2.0/schema.json'
      x-apiture-namespace: organizations
    organizationType:
      title: Organization Type (v1.0.0)
      description: |-
        The primary organization type.

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

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `organizationSubtype`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: organizationSubtype
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationSubtype/v1.0.0/schema.json'
      x-apiture-namespace: organizations
    organizationIdentification:
      title: Organization Identification (v1.1.0)
      description: The type and value of the organizations unique identification numbers.
      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/schema.json'
      x-apiture-namespace: organizations
    simpleOrganization:
      title: Simple Organization (v1.1.1)
      description: The simplest form of an organization.
      x-apiture-version: 1.1.1
      allOf:
        - type: object
          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'
      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/schema.json'
      x-apiture-namespace: organizations
    organizationIdentificationType:
      title: Organization Identification Type (v1.0.0)
      description: |-
        The type of the form of an organization's identification. `taxId` is the only supported type at this time.

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

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

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


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `organizationIdentificationType` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - taxId
        - dunsNumber
      x-apiture-enum: organizationIdentificationType
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationIdentificationType/v1.0.0/schema.json'
      x-apiture-namespace: organizations
    organizationState:
      title: Organization State (v1.0.0)
      description: >-
        The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
        operation.


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

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


        <table>

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


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



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

        named `organizationState` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      enum:
        - pending
        - inactive
        - active
        - merged
        - removed
      x-apiture-enum: organizationState
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationState/v1.0.0/schema.json'
      x-apiture-namespace: organizations
    organizationFields:
      title: Organization Fields (v1.2.0)
      description: 'Common fields of the organization resource, for organizations which conduct banking.'
      x-apiture-fragment: true
      x-apiture-version: 1.2.0
      allOf:
        - $ref: '#/components/schemas/simpleOrganization'
        - type: object
          properties:
            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'
            estimatedMonthlyCounts:
              description: Estimated banking activity per month.
              allOf:
                - $ref: '#/components/schemas/estimatedMonthlyCounts'
            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
      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
          sentAch: moreThanOneMillion
          receivedAch: upToOneHundredThousand
          mobileCheckDeposit: upToOneHundredThousand
          remoteCheckDeposit: upToOneHundredThousand
          sentWire: moreThanOneMillion
          receivedWire: oneHundredThousandToOneMillion
        estimatedMonthlyCounts:
          sentAch: oneHunredOneToOneThousand
          receivedAch: oneHunredOneToOneThousand
          mobileCheckDeposit: oneToOneHundred
          remoteCheckDeposit: oneToOneHundred
          sentWire: oneToOneHundred
          receivedWire: oneToOneHundred
        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.2.0/schema.json'
      x-apiture-namespace: organizations
    regulatoryValue:
      title: Regulatory Value (v1.0.0)
      description: The value associated with this regulatory property.
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/regulatoryValue/v1.0.0/schema.json'
      x-apiture-namespace: organizations
    createOrganization:
      title: Create Organization (v1.2.0)
      description: Representation used to create a new organization.
      x-apiture-version: 1.2.0
      required:
        - name
        - registeredIn
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/organizationFields'
        - type: object
          properties:
            attributes:
              type: object
              description: An optional map of name/value pairs which provide additional metadata about the organization.
      example:
        _profile: 'https://api.apiture.com/schemas/organizations/createOrganization/v1.2.0/profile.json'
        _links:
          'apiture:user':
            href: 'https://api.example.com/users/users/00007276-8b25-4e97-ac82-e1e17a2ff7c2'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/createOrganization/v1.2.0/schema.json'
      x-apiture-namespace: organizations
    estimatedMonthlyAmounts:
      title: Estimated Monthly Amounts (v1.1.0)
      description: Estimated monthly amounts for banking services.
      type: object
      x-apiture-version: 1.1.0
      properties:
        percentGrossRevenue:
          title: Percent of Gross Revenue derived from Money Services
          description: |-
            The percentage of gross revenue the organization derives from money services per month. Use this or `achTransactions`.

            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: |-
            The estimated total amount sent by ACH per month.

            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: |-
            The estimated total amount received by ACH per month.

            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
        achTransactions:
          description: |-
            The estimated total amount sent or received by ACH per month. Use this or `sentAch`/`receivedAch`.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyAchTransactionAmounts`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneHundredThousandToOneMillion
          x-apiture-choice: estimatedMonthlyAchTransactionAmounts
        mobileCheckDeposit:
          description: |-
            The estimated amount deposited by mobile app per month.

            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
        remoteCheckDeposit:
          description: |-
            The estimated amount deposited remotely, via scanned images, per month.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyRemoteCheckDepositAmounts`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneHundredThousandToOneMillion
          x-apiture-choice: estimatedMonthlyRemoteCheckDepositAmounts
        sentWire:
          description: |-
            The estimated wire transfer amount sent per month. Use this or `wireTransfers`.

            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: |-
            The estimated wire transfers amount received per month. Use this or `wireTransfers`.

            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
        wireTransfers:
          description: |-
            The estimated wire transfer amount sent or received per month. Use this or `sentWire`/`receivedWire`.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyWireTransferAmounts`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneHundredThousandToOneMillion
          x-apiture-choice: estimatedMonthlyWireTransferAmounts
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/estimatedMonthlyAmounts/v1.1.0/schema.json'
      x-apiture-namespace: organizations
    estimatedMonthlyCounts:
      title: Estimated Monthly Counts (v1.0.0)
      description: Estimated monthly activity for banking services.
      type: object
      properties:
        sentAch:
          description: |-
            The estimated number of ACH transactions sent per month. Use this or `achTransaction`.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlySentAchCount`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneHunredOneToOneThousand
          x-apiture-choice: estimatedMonthlySentAchCount
        receivedAch:
          description: |-
            The estimated number of ACH transactions sent per month. Use this or `achTransaction`.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyReceivedAchCount`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneHunredOneToOneThousand
          x-apiture-choice: estimatedMonthlyReceivedAchCount
        achTransactions:
          description: |-
            The estimated total number of ACH transactions per month. Use this or `sendAch`/`receivedAch.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyAchTransactionCount`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneHunredOneToOneThousand
          x-apiture-choice: estimatedMonthlyAchTransactionCount
        mobileCheckDeposit:
          description: |-
            The estimated number of mobile app deposits per month.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyMobileCheckDepositCount`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneHunredOneToOneThousand
          x-apiture-choice: estimatedMonthlyMobileCheckDepositCount
        remoteCheckDeposit:
          description: |-
            The estimated number of remote deposits (via scanned images) per month.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyRemoteCheckDepositCount`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneHunredOneToOneThousand
          x-apiture-choice: estimatedMonthlyRemoteCheckDepositCount
        sentWire:
          description: |-
            The estimated number of wires sent per month. Use this or `wireTransfers`.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlySentWireCount`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneToOneHundred
          x-apiture-choice: estimatedMonthlySentWireCount
        receivedWire:
          description: |-
            The estimated number of wires received per month. Use this or `wireTransfers`.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyReceivedWireCount`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneToOneHundred
          x-apiture-choice: estimatedMonthlyReceivedWireCount
        wireTransfers:
          description: |-
            The estimated number of wire transfers sent or received per month. Use this or `sentWire`/`receivedWire`.

            The allowed values for this property are defined at runtime in the
            [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyWireTransferCount`
            in the response from the [`getLabels`](#op-getLabels) operation.
          type: string
          example: oneToOneHundred
          x-apiture-choice: estimatedMonthlyWireTransferCount
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/estimatedMonthlyCounts/v1.0.0/schema.json'
      x-apiture-namespace: organizations
    summaryOrganization:
      title: Organization Summary (v1.2.0)
      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.
      x-apiture-version: 1.2.0
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/organizationFields'
        - type: object
          properties:
            _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'
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        _profile: 'https://api.apiture.com/schemas/organizations/summaryOrganization/v1.2.0/profile.json'
        _links:
          self:
            href: 'https://api.example.com/organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/summaryOrganization/v1.2.0/schema.json'
      x-apiture-namespace: organizations
    organization:
      title: Organization (v1.3.0)
      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.
      x-apiture-version: 1.3.0
      allOf:
        - $ref: '#/components/schemas/summaryOrganization'
        - type: object
          properties:
            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.
            _embedded:
              description: 'Embedded objects, as selected with the `?embed` query parameter.'
              allOf:
                - $ref: '#/components/schemas/organizationEmbeddedObjects'
      example:
        _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
        customerId: '1000489353781'
        _profile: 'https://api.apiture.com/schemas/organizations/organization/v1.3.0/profile.json'
        name: Smith's Auto Detailing
        label: Smith's Detailing
        tradeName: Smith's Auto Detailing
        emailAddresses:
          - _id: ea0
            type: work
            value: smitties-detailing@example.com
        preferredEmailAddressId: ea0
        phones:
          - type: work
            number: '+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
          sentAch: moreThanOneMillion
          receivedAch: upToOneHundredThousand
          mobileCheckDeposit: upToOneHundredThousand
          remoteCheckDeposit: upToOneHundredThousand
          sentWire: moreThanOneMillion
          receivedWire: oneHundredThousandToOneMillion
        estimatedMonthlyCounts:
          sentAch: oneHunredOneToOneThousand
          receivedAch: oneHunredOneToOneThousand
          mobileCheckDeposit: oneToOneHundred
          remoteCheckDeposit: oneToOneHundred
          sentWire: oneToOneHundred
          receivedWire: oneToOneHundred
        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: 'https://api.example.com/organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c'
          'apiture:deactivate':
            href: 'https://api.example.com/organizations/inactiveOrganizations?organization=0399abed-fd3d-4830-a88b-30f38b8a365c'
        _embedded: {}
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organization/v1.3.0/schema.json'
      x-apiture-namespace: organizations
    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.
      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/schema.json'
      x-apiture-namespace: organizations
    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`.)
      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/schema.json'
      x-apiture-namespace: organizations
    organizationEmbeddedObjects:
      title: Organization Embedded Objects (v1.0.0)
      description: Objects that are conditionally embedded within an `organization` object.
      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/schema.json'
      x-apiture-namespace: organizations
    organizations:
      title: Organization Collection (v1.2.0)
      description: |-
        Collection of organizations. The items in the collection are ordered in the `_embedded.items` array; the `name` is `organizations`.
         The top-level `_links` object may contain pagination links (`self`, `next`, `prev`, `first`, `last`, `collection`).
      x-apiture-version: 1.2.0
      allOf:
        - $ref: '#/components/schemas/collection'
        - type: object
          properties:
            _embedded:
              description: Embedded objects.
              allOf:
                - $ref: '#/components/schemas/organizationsEmbeddedObjects'
      example:
        start: 0
        limit: 10
        _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.2.0/profile.json'
        _links:
          self:
            href: 'https://api.example.com/organizations/organizations?start=10&limit=10'
          first:
            href: 'https://api.example.com/organizations/organizations?start=0&limit=10'
          next:
            href: 'https://api.example.com/organizations/organizations?start=20&limit=10'
          collection:
            href: 'https://api.example.com/organizations/organizations'
        count: 10
        name: organizations
        _embedded:
          items:
            - _id: 331af113-8f7b-422d-89fe-d0489cc43e5d
              name: Cause for Paws
              label: Cause for Paws
              type: trust
              state: pending
              _profile: 'https://api.apiture.com/schemas/organizations/summaryOrganization/v1.2.0/profile.json'
              _links:
                self:
                  href: 'https://api.apiture.com/organizations/organizations/331af113-8f7b-422d-89fe-d0489cc43e5d'
                'apiture:activate':
                  href: 'https://api.apiture.com/organizations/activeOrganizations?organization=331af113-8f7b-422d-89fe-d0489cc43e5d'
            - _id: a1a6bbef-ac51-4d5f-a30e-4034b0a5aca7
              name: Cause for Paws
              label: Cause for Paws
              type: nonprofit
              state: pending
              _profile: 'https://api.apiture.com/schemas/organizations/summaryOrganization/v1.2.0/profile.json'
              _links:
                self:
                  href: 'https://api.apiture.com/organizations/organizations/a1a6bbef-ac51-4d5f-a30e-4034b0a5aca7'
                'apiture:activate':
                  href: 'https://api.apiture.com/organizations/activeOrganizations?organization=a1a6bbef-ac51-4d5f-a30e-4034b0a5aca7'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizations/v1.2.0/schema.json'
      x-apiture-namespace: organizations
    organizationsEmbeddedObjects:
      title: Organizations Embedded Objects (v1.3.0)
      description: Objects that are conditionally embedded within an `organizations` object.
      type: object
      x-apiture-version: 1.3.0
      properties:
        items:
          description: An array containing a page of organization items.
          type: array
          items:
            $ref: '#/components/schemas/summaryOrganization'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationsEmbeddedObjects/v1.3.0/schema.json'
      x-apiture-namespace: organizations
    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.'
      allOf:
        - $ref: '#/components/schemas/abstractResource'
      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
    configuration:
      x-apiture-version: 2.0.0
      title: Configuration
      description: Represents the configuration for various services.
      properties:
        _links:
          $ref: '#/components/schemas/links'
      example:
        _links:
          self:
            href: /configurations/configurations/
          'apiture:groups':
            href: /configurations/configurations/groups
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configuration/v2.0.0/model.json'
      x-apiture-namespace: configurations
    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`).
      allOf:
        - $ref: '#/components/schemas/collection'
        - type: object
          properties:
            _embedded:
              description: Embedded objects.
              allOf:
                - $ref: '#/components/schemas/configurationGroupsEmbedded'
      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:
            - _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
    configurationGroup:
      x-apiture-version: 2.0.1
      title: Configuration Group (v2.0.1)
      description: Represents a configuration group.
      allOf:
        - $ref: '#/components/schemas/configurationGroupSummary'
        - type: object
          properties:
            schema:
              $ref: '#/components/schemas/configurationSchema'
            values:
              $ref: '#/components/schemas/configurationValues'
      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: 63000
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.0.1/model.json'
      x-apiture-namespace: configurations
    configurationSchema:
      x-apiture-version: 2.0.1
      title: Configuration Schema (v2.0.1)
      description: |-
        The schema which defines the name and types of the
        variables that are part of this configuration definition.
        Property names must be simple identifiers
        which follow the pattern `letter [letter | digit | - | _]*`.

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

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


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


        For example, multiple configurations may use the same schema
        that defines values `a`, `b`, and `c`, but each configuration
        may have their own unique values for `a`, `b`, and `c`
        which is separate from the schema.
      type: object
      additionalProperties:
        $ref: '#/components/schemas/configurationValue'
      example:
        dailyLimit: 5
        cutoffTime: 63000
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationValues/v2.0.0/model.json'
      x-apiture-namespace: configurations
    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)`.
      x-apiture-version: 1.0.1
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - type: object
          properties:
            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'
      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
    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.'
      example:
        id: apiName
        name: API name
        apiVersion: 1.0.0
        _profile: 'https://api.apiture.com/schemas/common/root/v2.0.1/profile.json'
        _links: {}
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - type: object
          properties:
            _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.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/root/v2.0.1/model.json'
      x-apiture-namespace: common
    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`.
      allOf:
        - $ref: '#/components/schemas/abstractRequest'
        - type: object
          properties:
            _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'
              readOnly: true
      example:
        _profile: 'https://production.api.apiture.com/schemas/common/abstractResource/v2.0.0/profile.json'
        _links:
          self:
            href: 'https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/abstractResource/v2.0.0/model.json'
      x-apiture-namespace: common
    address:
      title: Address (v1.0.0)
      description: A postal address with the address type and an identifier.
      type: object
      required:
        - type
      allOf:
        - $ref: '#/components/schemas/simpleAddress'
        - type: object
          properties:
            type:
              description: The type of this address.
              allOf:
                - $ref: '#/components/schemas/addressType'
            label:
              description: 'A text label, suitable for presentation to the end user. This is derived from `type` or from `otherType` if `type` is `other`'
              type: string
              readOnly: true
              minLength: 4
              maxLength: 32
            otherType:
              description: The actual address type if `type` is `other`.
              minLength: 4
              maxLength: 32
              type: string
            _id:
              description: >-
                An identifier for this address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
                provide one. The `_id` must be unique across all addresses within the `addresses` array.
              type: string
              minLength: 1
              maxLength: 8
              example: ha5
              pattern: '^[-a-zA-Z0-9_]{1,8}$'
      example:
        _id: ha5
        type: home
        addressLine1: 555 N Front Street
        addressLine2: Suite 5555
        city: Wilmington
        regionCode: NC
        postalCode: 28401-5405
        countryCode: US
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/address/v1.0.0/model.json'
      x-apiture-namespace: contacts
    typedEmailAddress:
      title: Email Address (v1.0.0)
      description: An email address and the email address type.
      properties:
        value:
          description: 'The email address, such as `JohnBankCustomer@example.com`'
          type: string
          format: email
          minLength: 8
          maxLength: 120
          example: JohnBankCustomer@example.com
        type:
          description: The kind of email address.
          allOf:
            - $ref: '#/components/schemas/emailType'
        _id:
          description: >-
            An identifier for this email address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
            provide one. The `_id` must be unique across all email addresses within the `emailAddresses` array.
          type: string
          minLength: 1
          maxLength: 8
          example: ha3
          pattern: '^[-a-zA-Z0-9_]{1,8}$'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/typedEmailAddress/v1.0.0/model.json'
      x-apiture-namespace: contacts
    contactName:
      title: Name (v1.0.0)
      description: A person's name.
      x-apiture-fragment: true
      properties:
        firstName:
          description: The person's first name (or given name).
          type: string
        middleName:
          description: The person's middle name.
          type: string
        lastName:
          description: The person's last name (or surname).
          type: string
      example:
        firstName: John
        middleName: Daniel
        lastName: Smith
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/contactName/v1.0.0/model.json'
      x-apiture-namespace: contacts
    phoneNumber:
      title: Phone Number (v1.0.1)
      description: A phone number and its role.
      type: object
      x-apiture-version: 1.0.1
      required:
        - type
        - number
      properties:
        type:
          description: The type or role of this phone number.
          allOf:
            - $ref: '#/components/schemas/phoneNumberType'
        number:
          description: >-
            The phone number, as a string. The service strips all spaces, hyphens, periods and parentheses from input. The default country code prefix
            is `+1`. Phone numbers are returned in responses in [E.164](https://en.wikipedia.org/wiki/E.164) format with a leading `+`, country code
            (up to 3 digits) and subscriber number for a total of up to 15 digits. See [Phone Number
            Representations](https://developer.apiture.com/docs/concepts/phone-numbers/) for more information.
          type: string
          example: '+19105550155'
          minLength: 8
          maxLength: 20
        label:
          description: 'A text label, suitable for presentation to the end user. This is also used if `type` is `other`.'
          type: string
          example: assistant
          maxLength: 32
        _id:
          description: >-
            An identifier for this phone number, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
            provide one. The `_id` must be unique across all phone numbers within the `phones` array.
          type: string
          minLength: 1
          maxLength: 8
          example: ha5
          pattern: '^[-a-zA-Z0-9_]{1,8}$'
      example:
        _id: hp1
        type: home
        number: '+19105550155'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumber/v1.0.1/model.json'
      x-apiture-namespace: contacts
    createAuthorization:
      title: Create Authorization (v1.0.0)
      description: >-
        The object representation of a newly created authorization. The fields listed will assist in the information needed to gain access to a bank
        account or organization. A link to the user must be passed in _links as `apiture:user` for implementations of this object as it explains the
        direct association.
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - $ref: '#/components/schemas/authorization'
      example:
        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
        _links:
          'apiture:user':
            href: 'https://api.devbank.apiture.com/users/users/bd9e7a93-32cc-435d-ac57-f21faa082318'
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/createAuthorization/v1.0.0/model.json'
      x-apiture-namespace: contacts
    authorization:
      title: Authorization (v1.0.0)
      description: >-
        Represents a person authorized for account access. This object contains key identification information for the person and the type of access
        or role that the person has in relation to the banking account or organization.
      required:
        - type
        - userId
        - customerId
        - firstName
        - lastName
        - citizen
        - taxId
        - addresses
      allOf:
        - $ref: '#/components/schemas/individualIdentification'
        - type: object
          properties:
            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
      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
    simpleContact:
      title: Simple Contact (v1.0.2)
      description: >-
        Basic contact and identification information for a person, consisting of the name, mailing address, phone numbers, email addresses, and
        government identification.
      x-apiture-version: 1.0.2
      allOf:
        - $ref: '#/components/schemas/contactName'
        - $ref: '#/components/schemas/addresses'
        - $ref: '#/components/schemas/emailAddresses'
        - $ref: '#/components/schemas/phoneNumbers'
        - $ref: '#/components/schemas/simpleContactFields'
      example:
        firstName: John
        middleName: Daniel
        lastName: Smith
        preferredName: John
        suffix: MD
        identification:
          - type: taxId
            value: '*****3333'
        addresses:
          - _id: ha1
            type: home
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
        preferredMailingAddressId: ha1
        emailAddresses:
          - id: pe0
            value: api@apiture.com
            type: personal
          - id: wp1
            value: support@apiture.com
            type: work
        preferredEmailAddressId: pe0
        phones:
          - _id: hp1
            type: home
            number: '+19105550155'
          - _id: mp1
            type: mobile
            number: '+19105550159'
        preferredPhoneId: hp1
        preferredContactMethod: email
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/simpleContact/v1.0.2/model.json'
      x-apiture-namespace: contacts
    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.
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - type: object
          properties:
            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
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/collection/v2.0.0/model.json'
      x-apiture-namespace: common
    links:
      title: Links (v1.0.0)
      x-apiture-version: 1.0.0
      description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
      type: object
      x-apiture-key: linkRelationName
      additionalProperties:
        $ref: '#/components/schemas/link'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/links/v1.0.0/model.json'
      x-apiture-namespace: common
    configurationSchemaValue:
      x-apiture-version: 2.0.0
      title: Configuration Schema Value (v2.0.0)
      description: The data associated with this configuration schema.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationSchemaValue/v2.0.0/model.json'
      x-apiture-namespace: configurations
    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.
      allOf:
        - $ref: '#/components/schemas/abstractResource'
        - type: object
          properties:
            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.
      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
    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 derived 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", ... }`.
      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
    configurationValue:
      x-apiture-version: 2.0.0
      title: Configuration Value (v2.0.0)
      description: The data associated with this configuration.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationValue/v2.0.0/model.json'
      x-apiture-namespace: configurations
    simpleAddress:
      title: Simple Address (v1.0.0)
      description: A postal address.
      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
    addressType:
      title: Address Type (v1.0.0)
      description: |-
        The type of a postal address.

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

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `addressType`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: addressType
      enum:
        - unknown
        - home
        - prior
        - work
        - school
        - mailing
        - vacation
        - shipping
        - billing
        - headquarters
        - commercial
        - site
        - property
        - other
        - notApplicable
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/addressType/v1.0.0/model.json'
      x-apiture-namespace: contacts
    abstractRequest:
      x-apiture-version: 2.0.0
      title: Abstract Request (v2.0.0)
      description: >-
        An abstract schema used to define other request-only schemas. This is a [HAL](https://tools.ietf.org/html/draft-kelly-json-hal-08) resource
        representation, minus the `_error` defined in `abstractResource`.
      properties:
        _links:
          $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
          readOnly: true
      example:
        _profile: 'https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json'
        _links:
          self:
            href: 'https://api.devbank.apiture.com/applications/'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/model.json'
      x-apiture-namespace: common
    error:
      x-apiture-version: 2.0.0
      title: Error (v2.0.0)
      description: Describes an error in an API request or in a service called via the API.
      required:
        - message
      properties:
        message:
          type: string
          description: A localized message string describing the error condition.
        _id:
          description: >-
            A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at
            the source of the error). This is is an opaque string.
          readOnly: true
          type: string
        statusCode:
          description: The HTTP status code associate with this error.
          type: integer
          minimum: 100
          maximum: 599
          example: 422
        type:
          type: string
          description: >-
            An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to
            render an appropriate message or hint. This provides a finer level of granularity than the `statusCode`. For example, instead of just 400
            Bad Request, the `type` may be much more specific. such as `integerValueNotInAllowedRange` or `numericValueExceedsMaximum` or
            `stringValueNotInAllowedSet`.
        occurredAt:
          type: string
          format: date-time
          description: 'An [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp indicating when the error occurred.'
          example: '2018-02-02T03:37:15.375Z'
        attributes:
          description: >-
            Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the
            `minimum` and `maximum` values. This allows clients to present error messages as they see fit (the API does not assume the
            client/presentation tier). The set of attributes varies by error `type`.
          allOf:
            - $ref: '#/components/schemas/attributes'
        remediation:
          type: string
          description: An optional localized string which provides hints for how the user or client can resolve the error.
        errors:
          description: An optional array of nested error objects. This property is not always present.
          type: array
          items:
            $ref: '#/components/schemas/error'
        _links:
          $ref: '#/components/schemas/links'
      example:
        _id: 2eae46e1575c0a7b0115a4b3
        message: Descriptive error message...
        statusCode: 422
        type: errorType1
        remediation: Remediation string...
        occurredAt: '2018-01-25T05:50:52.375Z'
        errors:
          - _id: ccdbe2c5c938a230667b3827
            message: An optional embedded error
          - _id: dbe9088dcfe2460f229338a3
            message: Another optional embedded error
        _links:
          describedby:
            href: 'https://developer.apiture.com/errors/errorType1'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/error/v2.0.0/model.json'
      x-apiture-namespace: common
    emailType:
      title: Email Type (v1.0.0)
      description: |-
        The kind of email address.


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

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `emailType`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: emailType
      enum:
        - unknown
        - personal
        - work
        - school
        - other
        - notApplicable
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/emailType/v1.0.0/model.json'
      x-apiture-namespace: contacts
    addresses:
      title: Addresses (v1.0.0)
      description: A list of postal addresses and the preferred mailing address.
      x-apiture-fragment: true
      properties:
        addresses:
          description: An array of postal/mailing addresses.
          type: array
          items:
            $ref: '#/components/schemas/address'
        preferredMailingAddressId:
          description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
          type: string
          minLength: 1
          maxLength: 4
      example:
        addresses:
          - _id: ha1
            type: home
            addressLine1: 555 N Front Street
            addressLine2: Suite 5555
            city: Wilmington
            regionCode: NC
            postalCode: 28401-5405
            countryCode: US
          - _id: wa1
            type: work
            addressLine1: 123 S 3rd Street
            addressLine2: Apt 42
            city: Wilmington
            regionCode: NC
            postalCode: 28411-5405
            countryCode: US
        preferredMailingAddressId: ha1
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/addresses/v1.0.0/model.json'
      x-apiture-namespace: contacts
    emailAddresses:
      title: Email Addresses (v1.0.0)
      description: A list of email addresses and the preferred email address.
      x-apiture-fragment: true
      properties:
        emailAddresses:
          description: An array of email addresses.
          type: array
          items:
            $ref: '#/components/schemas/typedEmailAddress'
        preferredEmailAddressId:
          description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          type: string
          minLength: 1
          maxLength: 4
      example:
        emailAddresses:
          - id: pe0
            value: api@apiture.com
            type: personal
          - id: wp1
            value: support@apiture.com
            type: work
        preferredEmailAddressId: pe0
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/emailAddresses/v1.0.0/model.json'
      x-apiture-namespace: contacts
    phoneNumbers:
      title: Phone Numbers (v1.0.1)
      description: A list of phone numbers and the preferred phone number.
      x-apiture-fragment: true
      x-apiture-version: 1.0.1
      properties:
        phones:
          description: An array of phone numbers.
          type: array
          items:
            $ref: '#/components/schemas/phoneNumber'
        preferredPhoneId:
          description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
          type: string
          minLength: 1
          maxLength: 4
      example:
        phones:
          - _id: hp1
            type: home
            number: '+19105550155'
          - _id: mp1
            type: mobile
            number: '+19105550159'
        preferredPhoneId: hp1
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumbers/v1.0.1/model.json'
      x-apiture-namespace: contacts
    simpleContactFields:
      title: Simple Contact Fields (v1.0.1)
      description: Additional properties for a person or contact.
      x-apiture-fragment: true
      x-apiture-version: 1.0.1
      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-resolved-from: 'https://production.api.apiture.com/schemas/contacts/simpleContactFields/v1.0.1/model.json'
      x-apiture-namespace: contacts
    phoneNumberType:
      title: Phone Number Type (v1.0.0)
      description: |-
        The type or role of this phone number.

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

        The allowed values for this property are defined at runtime in the
        [label group](https://developer.apiture.com/concepts/label-groups) named `phoneNumberType`
        in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-choice: phoneNumberType
      enum:
        - unknown
        - home
        - work
        - mobile
        - fax
        - other
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumberType/v1.0.0/model.json'
      x-apiture-namespace: contacts
    configurationGroupsEmbedded:
      title: Configuration Groups Embedded Objects (v1.0.0)
      description: 'Objects embedded in the [`configurationGroups`](#schema-configurationGroups)collection.'
      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
    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.
      allOf:
        - $ref: '#/components/schemas/contactName'
        - $ref: '#/components/schemas/addresses'
        - type: object
          properties:
            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
      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
    authorizationType:
      title: Account Authorization type (v1.0.0)
      description: |-
        The type of this account access authorization.
         * *`primary`* the person is the primary owner of a personal account.
         There may be only one primary owner.
         * *`joint`* the person is a non-primary joint owner of a
         personal account.
         * *`authorizedSigner`* the person is an authorized signer
         for all business accounts owned by the organization.

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

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

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


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `authorizationType` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-enum: authorizationType
      enum:
        - primary
        - joint
        - authorizedSigner
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/authorizationType/v1.0.0/model.json'
      x-apiture-namespace: contacts
    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.
      x-apiture-version: 1.0.0
      allOf:
        - $ref: '#/components/schemas/simpleLabel'
        - type: object
          properties:
            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]+)?)?[\]\)]$'
      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
    link:
      x-apiture-version: 1.0.0
      title: Link (v1.0.0)
      description: >-
        Describes a hypermedia link within a `_links` object in HAL representations. In Apiture APIs, links are [HAL
        links](https://developer.apiture.com/docs/concepts/links), but Apiture APIs do not use the `name` or `hreflang` properties of HAL. Apiture
        links _may_ include a `method` property.
      required:
        - href
      properties:
        href:
          type: string
          format: uri
          description: The URI or URI template for the resource/operation this link refers to.
        type:
          type: string
          description: The media type for the resource.
        templated:
          type: boolean
          description: 'If true, the link''s href is a [URI template](https://tools.ietf.org/html/rfc6570).'
        title:
          type: string
          description: An optional human-readable localized title for the link.
        deprecation:
          type: string
          format: uri
          description: 'If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.'
        profile:
          type: string
          format: uri
          description: 'The URI of a profile document, a JSON document which describes the target resource/operation.'
      example:
        href: 'https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f'
        title: Application
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/link/v1.0.0/model.json'
      x-apiture-namespace: common
    attributes:
      x-apiture-version: 2.0.0
      title: Attributes (v2.0.0)
      description: An optional map of name/value pairs which contains additional dynamic data about the resource.
      type: object
      x-apiture-key: attributeName
      additionalProperties:
        $ref: '#/components/schemas/attributeValue'
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/attributes/v2.0.0/model.json'
      x-apiture-namespace: common
    simpleLabel:
      title: Simple Label (v1.0.0)
      description: A text label and optional description.
      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
    attributeValue:
      x-apiture-version: 2.0.0
      title: Attribute Value (v2.0.0)
      description: The data associated with this attribute.
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/attributeValue/v2.0.0/model.json'
      x-apiture-namespace: common
    identification:
      title: Identification (v1.0.1)
      description: Official identifying information associated with the contact.
      type: object
      x-apiture-version: 1.0.1
      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.
          allOf:
            - $ref: '#/components/schemas/identificationType'
        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-resolved-from: 'https://production.api.apiture.com/schemas/contacts/identification/v1.0.1/model.json'
      x-apiture-namespace: contacts
    preferredContactMethod:
      title: Preferred Contact Method (v1.0.0)
      description: |-
        The contact's preferred method of communication.

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

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

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

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

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


        These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
        named `identificationType` in the response from the [`getLabels`](#op-getLabels) operation.
      type: string
      x-apiture-enum: identificationType
      enum:
        - taxId
        - passportNumber
      x-apiture-version: 1.0.0
      x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/identificationType/v1.0.0/model.json'
      x-apiture-namespace: contacts
x-apiture-annotated-at: '2020-10-22T19:36:34.828Z'
