swagger: '2.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.



    ## <span class='errorType' id="err-organizationAccessForbidden">organizationAccessForbidden</span>

    **Description**: The credentials supplied in the request are insufficient to grant access. <br>
    **Remediation**: Check the supplied credentials for validity.


    ## <span class='errorType' id="err-organizationNotFound">organizationNotFound</span>

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


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

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


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

    **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 |


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

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


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

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


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

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


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

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


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

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


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

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


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

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


    ## <span class='errorType' id="err-addressMustNotBePreferred">addressMustNotBePreferred</span>

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


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

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


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

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


    ## <span class='errorType' id="err-malformedRequestBodyBadRequest">malformedRequestBodyBadRequest</span>

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


    ## <span class='errorType' id="err-preconditionRequiredIfMatchHeader">preconditionRequiredIfMatchHeader</span>

    **Description**: The required if-match header was not supplied. <br>
    **Remediation**: Send a valid if-match header.


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

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


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

    **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 |
  version: 0.26.2
  contact:
    name: Apiture
    url: 'https://developer.apiture.com'
    email: api@apiture.com
  termsOfService: 'https://developer.apiture.com/docs/Apiture-Open-API-License-Agreement.pdf'
schemes:
  - https
basePath: /organizations
consumes:
  - application/hal+json
  - application/json
produces:
  - application/hal+json
  - application/json
tags:
  - name: API
    description: Endpoints which describe this API.
  - name: Organization
    description: Organization
  - name: Authorized Signers
    description: Organization's Authorized Signers
  - name: Beneficial Owners
    description: Organization's Beneficial Owners
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.
          type: integer
          format: int64
          default: 0
        - name: limit
          in: query
          description: The maximum number of organization representations to return in this page.
          type: integer
          format: int32
          default: 100
        - name: sortBy
          in: query
          type: string
          description: 'Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
        - $ref: '#/parameters/filterQueryParam'
        - $ref: '#/parameters/qQueryParam'
        - $ref: '#/parameters/typeQueryParam'
        - $ref: '#/parameters/stateQueryParam'
        - $ref: '#/parameters/nameQueryParam'
        - $ref: '#/parameters/customerIdQueryParam'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organizations'
        '400':
          $ref: '#/responses/400'
        '422':
          $ref: '#/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
      parameters:
        - name: organization
          in: body
          description: The data necessary to create a new organization.
          required: true
          schema:
            $ref: '#/definitions/createOrganization'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/organization'
          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`
              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.
              type: string
        '400':
          $ref: '#/responses/400'
        '409':
          $ref: '#/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: '#/parameters/organizationIdPathParam'
        - $ref: '#/parameters/ifNoneMatchHeaderParam'
        - name: embed
          in: query
          type: array
          items:
            type: string
            collectionFormat: csv
            enum:
              - authorizedSigners
              - beneficialOwners
          collectionFormat: csv
          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`
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organization'
          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.
              type: string
        '304':
          $ref: '#/responses/304'
        '404':
          $ref: '#/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: '#/parameters/organizationIdPathParam'
        - name: organization
          in: body
          required: true
          schema:
            $ref: '#/definitions/organization'
        - $ref: '#/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organization'
          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.
              type: string
        '400':
          $ref: '#/responses/400'
        '404':
          $ref: '#/responses/404Organization'
        '412':
          $ref: '#/responses/412'
        '422':
          $ref: '#/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: '#/parameters/organizationIdPathParam'
        - name: organization
          in: body
          required: true
          schema:
            $ref: '#/definitions/organization'
        - $ref: '#/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organization'
          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.
              type: string
        '400':
          $ref: '#/responses/400'
        '404':
          $ref: '#/responses/404Organization'
        '412':
          $ref: '#/responses/412'
        '422':
          $ref: '#/responses/422'
    delete:
      summary: Delete this organization resource
      description: Delete this organization resource.
      operationId: deleteOrganization
      security:
        - apiKey: []
          accessToken:
            - profiles/delete
      tags:
        - Organization
      parameters:
        - $ref: '#/parameters/ifMatchHeaderParam'
        - $ref: '#/parameters/organizationIdPathParam'
      responses:
        '204':
          $ref: '#/responses/204'
        '404':
          $ref: '#/responses/404Organization'
        '409':
          $ref: '#/responses/409OrganizationConflict'
        '412':
          $ref: '#/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: '#/parameters/organizationIdPathParam'
        - $ref: '#/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/authorizedSigners'
          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.
              type: string
        '304':
          $ref: '#/responses/304'
        '404':
          $ref: '#/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.


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

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

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

        * [`authorizedSignerAlreadyExists`](#err-authorizedSignerAlreadyExists)
      operationId: createAuthorizedSigner
      tags:
        - Authorized Signers
      parameters:
        - $ref: '#/parameters/organizationIdPathParam'
        - name: authorizedSigner
          in: body
          description: The authorized signer object.
          required: true
          schema:
            $ref: '#/definitions/createAuthorizedSigner'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/createAuthorizedSigner'
        '400':
          $ref: '#/responses/400'
      x-apiture-errors:
        - userUriInvalid
        - userUriNotSupplied
        - authorizedSignerAlreadyExists
      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: '#/parameters/organizationIdPathParam'
        - $ref: '#/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/beneficialOwners'
          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.
              type: string
        '304':
          $ref: '#/responses/304'
        '404':
          $ref: '#/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: '#/parameters/organizationIdPathParam'
        - $ref: '#/parameters/ifNoneMatchHeaderParam'
        - name: beneficialOwners
          in: body
          description: The array of beneficial signers.
          required: true
          schema:
            $ref: '#/definitions/beneficialOwners'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/beneficialOwners'
          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.
              type: string
        '304':
          $ref: '#/responses/304'
        '400':
          $ref: '#/responses/400BeneficialOwners'
        '404':
          $ref: '#/responses/404Organization'
        '409':
          $ref: '#/responses/409BeneficialOwnersConflict'
      security:
        - apiKey: []
          accessToken:
            - admin/write
  '/organizations/{organizationId}/addresses':
    parameters:
      - $ref: '#/parameters/organizationIdPathParam'
    get:
      summary: Get an organization's addresses
      description: Return the list of the organization's addresses.
      operationId: getAddresses
      tags:
        - Address
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organizationAddresses'
        '400':
          $ref: '#/responses/400'
        '404':
          $ref: '#/responses/404Organization'
        '422':
          $ref: '#/responses/422'
      security:
        - apiKey: []
          accessToken:
            - profiles/read
      parameters: []
    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:
        - Address
      parameters:
        - name: address
          in: body
          description: The data necessary to create a new address.
          required: true
          schema:
            $ref: '#/definitions/organizationAddress'
        - name: replaceId
          in: query
          type: string
          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`
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/organizationAddress'
          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`
              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.
              type: string
        '400':
          $ref: '#/responses/400'
        '404':
          $ref: '#/responses/404Organization'
      security:
        - apiKey: []
          accessToken:
            - profiles/write'
  '/organizations/{organizationId}/addresses/{addressId}':
    parameters:
      - $ref: '#/parameters/organizationIdPathParam'
      - $ref: '#/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:
        - Address
      parameters:
        - $ref: '#/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organizationAddress'
          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.
              type: string
        '304':
          $ref: '#/responses/304'
        '404':
          $ref: '#/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:
        - Address
      responses:
        '204':
          $ref: '#/responses/204'
        '404':
          $ref: '#/responses/404Address'
        '409':
          $ref: '#/responses/409AddressConflict'
      security:
        - apiKey: []
          accessToken:
            - profiles/delete
      parameters: []
  '/organizations/{organizationId}/emailAddresses':
    parameters:
      - $ref: '#/parameters/organizationIdPathParam'
    get:
      summary: Get organization's email addresses
      description: Return the list of the organization's email addresses.
      operationId: getEmailAddresses
      tags:
        - Email Address
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organizationEmailAddresses'
        '400':
          $ref: '#/responses/400'
        '404':
          $ref: '#/responses/404Organization'
        '422':
          $ref: '#/responses/422'
      security:
        - apiKey: []
          accessToken:
            - profiles/read
      parameters: []
    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 Address
      parameters:
        - name: emailAddress
          in: body
          description: The data necessary to create a new email address.
          required: true
          schema:
            $ref: '#/definitions/organizationEmailAddress'
        - name: replaceId
          in: query
          type: string
          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`
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/organizationEmailAddress'
          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`
              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.
              type: string
        '400':
          $ref: '#/responses/400'
        '404':
          $ref: '#/responses/404Organization'
      security:
        - apiKey: []
          accessToken:
            - profiles/write
  '/organizations/{organizationId}/emailAddresses/{emailAddressId}':
    parameters:
      - $ref: '#/parameters/organizationIdPathParam'
      - $ref: '#/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 Address
      parameters:
        - $ref: '#/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organizationEmailAddress'
          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.
              type: string
        '304':
          $ref: '#/responses/304'
        '404':
          $ref: '#/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 Address
      responses:
        '204':
          $ref: '#/responses/204'
        '404':
          $ref: '#/responses/404EmailAddress'
        '409':
          $ref: '#/responses/409EmailAddressConflict'
      security:
        - apiKey: []
          accessToken:
            - profiles/delete
      parameters: []
  '/organizations/{organizationId}/phoneNumbers':
    parameters:
      - $ref: '#/parameters/organizationIdPathParam'
    get:
      summary: Get organization's phone numbers
      description: Return the list of the organization's phone numbers
      operationId: getPhoneNumbers
      tags:
        - Phone Number
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organizationPhoneNumbers'
        '400':
          $ref: '#/responses/400'
        '404':
          $ref: '#/responses/404Organization'
        '422':
          $ref: '#/responses/422'
      security:
        - apiKey: []
          accessToken:
            - profiles/read
      parameters: []
    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 Number
      parameters:
        - name: phoneNumber
          in: body
          description: The data necessary to create a new phone number.
          required: true
          schema:
            $ref: '#/definitions/organizationPhoneNumber'
        - name: replaceId
          in: query
          type: string
          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`
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/organizationPhoneNumber'
          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`
              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.
              type: string
        '400':
          $ref: '#/responses/400'
        '404':
          $ref: '#/responses/404Organization'
      security:
        - apiKey: []
          accessToken:
            - profiles/write
  '/organizations/{organizationId}/phoneNumbers/{phoneNumberId}':
    parameters:
      - $ref: '#/parameters/organizationIdPathParam'
      - $ref: '#/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 Number
      parameters:
        - $ref: '#/parameters/ifNoneMatchHeaderParam'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organizationPhoneNumber'
          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.
              type: string
        '304':
          $ref: '#/responses/304'
        '404':
          $ref: '#/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 Number
      responses:
        '204':
          $ref: '#/responses/204'
        '404':
          $ref: '#/responses/404PhoneNumber'
        '409':
          $ref: '#/responses/409PhoneNumberConflict'
      security:
        - apiKey: []
          accessToken:
            - profiles/delete
      parameters: []
  '/organizations/{organizationId}/preferredAddress':
    parameters:
      - $ref: '#/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:
        - Address
      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
          type: string
        - name: body
          description: 'The `_id` of the address to assign as the preferred address, as a JSON string (the value must be quoted).'
          in: body
          required: true
          schema:
            $ref: '#/definitions/preferredResource'
      responses:
        '200':
          description: OK. The organization's `preferredAddressId` is updated to the passed value.
          schema:
            $ref: '#/definitions/organization'
          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.
              type: string
        '404':
          $ref: '#/responses/404Organization'
        '409':
          $ref: '#/responses/409PreferredConflict'
        '422':
          $ref: '#/responses/422PreferredUnprocessable'
  '/organizations/{organizationId}/preferredEmailAddress':
    parameters:
      - $ref: '#/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 Address
      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
          type: string
        - name: body
          description: 'The `_id` of the email address to assign as the preferred email address, as a JSON string (the value must be quoted).'
          in: body
          required: true
          schema:
            $ref: '#/definitions/preferredResource'
      responses:
        '200':
          description: OK. The organization's `preferredEmailAddressId` is updated to the passed value.
          schema:
            $ref: '#/definitions/organization'
          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.
              type: string
        '404':
          $ref: '#/responses/404Organization'
        '409':
          $ref: '#/responses/409PreferredConflict'
        '422':
          $ref: '#/responses/422PreferredUnprocessable'
  '/organization/{organizationId}/preferredPhoneNumber':
    parameters:
      - $ref: '#/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 Number
      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
          type: string
        - name: body
          description: 'The `_id` of the number to assign as the preferred phone number, as a JSON string (the value must be quoted).'
          in: body
          required: true
          schema:
            $ref: '#/definitions/preferredResource'
      responses:
        '200':
          description: OK. The organization's `preferredPhoneId` is updated to the passed value.
          schema:
            $ref: '#/definitions/organization'
          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.
              type: string
        '404':
          $ref: '#/responses/404Organization'
        '409':
          $ref: '#/responses/409PreferredConflict'
        '422':
          $ref: '#/responses/422PreferredUnprocessable'
  /:
    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
          schema:
            $ref: '#/definitions/root'
      tags:
        - API
      parameters: []
  /apiDoc:
    get:
      summary: Return API definition document
      description: Return the OpenAPI document that describes this API.
      operationId: getApiDoc
      security:
        - apiKey: []
      produces:
        - application/json
        - application/openapi+json;version=2.0
        - application/openapi+yaml;version=2.0
      responses:
        '200':
          description: OK
          schema:
            type: object
      tags:
        - API
      parameters: []
  /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
          type: string
          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).
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/labelGroups'
      tags:
        - API
  /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: '#/parameters/organizationQueryParam'
        - name: organizationUri
          description: >-
            The URI of an existing organization which is eligible to be activated. This parameter is **deprecated**. Use the `?organization=` query
            parameter instead.
          type: string
          in: query
        - $ref: '#/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organization'
          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.
              type: string
        '400':
          $ref: '#/responses/400Organization'
        '409':
          $ref: '#/responses/409OrganizationConflict'
        '412':
          $ref: '#/responses/412'
        '422':
          $ref: '#/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: '#/parameters/organizationQueryParam'
        - name: organizationUri
          description: >-
            The URI of an existing organization which is eligible to be deactivated. This parameter is **deprecated**. Use the `?organization=` query
            parameter instead.
          type: string
          in: query
          required: true
        - $ref: '#/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organization'
          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.
              type: string
        '400':
          $ref: '#/responses/400Organization'
        '409':
          $ref: '#/responses/409OrganizationConflict'
        '412':
          $ref: '#/responses/412'
        '422':
          $ref: '#/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: '#/parameters/organizationQueryParam'
        - name: organizationUri
          description: >-
            The URI of an existing organization which is eligible to be removed. This parameter is **deprecated**. Use the `?organization=` query
            parameter instead.
          type: string
          in: query
          required: true
        - $ref: '#/parameters/ifMatchHeaderParam'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/organization'
          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.
              type: string
        '400':
          $ref: '#/responses/400Organization'
        '409':
          $ref: '#/responses/409OrganizationConflict'
        '412':
          $ref: '#/responses/412'
        '422':
          $ref: '#/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.
      produces:
        - application/pdf
      operationId: generateEntityAuthorizationForm
      tags:
        - Entity Authorization Form
      parameters:
        - $ref: '#/parameters/organizationIdPathParam'
        - name: Accept
          in: header
          description: Optional. Only `application/pdf` is currently supported.
          type: string
        - name: body
          in: body
          required: true
          schema:
            $ref: '#/definitions/entityAuthorizationFormRequest'
      security:
        - apiKey: []
          accessToken:
            - banking/write
      responses:
        '200':
          description: OK. The request has succeeded.
          headers:
            Content-Type:
              type: string
              description: >-
                When the entity authorization form is available, the response body will be the PDF formatted entity authorization form for this
                organization.
        '202':
          description: 'Accepted. The request has been accepted for processing, but the processing has not been completed.'
          headers:
            Retry-After:
              type: string
              description: |-
                Indicates a suggested delay in seconds after which the client should retry the operation.
                Example: `Retry-After: 10`
        '404':
          $ref: '#/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`.
          schema:
            $ref: '#/definitions/errorResponse'
parameters:
  organizationIdPathParam:
    name: organizationId
    description: The unique identifier of this organization. This is an opaque string.
    in: path
    type: string
    required: true
  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.
    type: string
    in: query
    required: true
  phoneNumberIdPathParam:
    name: phoneNumberId
    description: The unique identifier of this phone number. This is an opaque string.
    in: path
    type: string
    required: true
  emailAddressIdPathParam:
    name: emailAddressId
    description: The unique identifier of this email address. This is an opaque string.
    in: path
    type: string
    required: true
  addressIdPathParam:
    name: addressId
    description: The unique identifier of this address. This is an opaque string.
    in: path
    type: string
    required: true
  filterQueryParam:
    name: filter
    in: query
    description: 'Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).'
    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).
    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).
    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).
    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).
    type: string
  qQueryParam:
    name: q
    in: query
    description: 'Optional search string. See [searching](https://developer.apiture.com/docs/concepts/searching).'
    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
    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
    type: string
securityDefinitions:
  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
    flow: accessCode
    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.
    authorizationUrl: /auth/oauth2/authorize
    tokenUrl: /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.
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)
    schema:
      $ref: '#/definitions/errorResponse'
    x-apiture-errors:
      - malformedRequestBodyBadRequest
  '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.
    schema:
      $ref: '#/definitions/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.
    schema:
      $ref: '#/definitions/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)
    schema:
      $ref: '#/definitions/errorResponse'
    x-apiture-errors:
      - propertyRequired
  400Organization:
    description: Bad Request. The `organization` or `organizationUri` was malformed or does not refer to an organization.
    schema:
      $ref: '#/definitions/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)
    schema:
      $ref: '#/definitions/errorResponse'
    x-apiture-errors:
      - tooManyBeneficialOwners
      - beneficialOwnersPercentageExceed100
  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)
    schema:
      $ref: '#/definitions/errorResponse'
    x-apiture-errors:
      - organizationNotFound
  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)
    schema:
      $ref: '#/definitions/errorResponse'
    x-apiture-errors:
      - organizationNotFound
      - phoneNumberNotFound
  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)
    schema:
      $ref: '#/definitions/errorResponse'
    x-apiture-errors:
      - organizationNotFound
      - emailAddressNotFound
  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)
    schema:
      $ref: '#/definitions/errorResponse'
    x-apiture-errors:
      - organizationNotFound
      - addressNotFound
  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
    schema:
      $ref: '#/definitions/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%
    schema:
      $ref: '#/definitions/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)
    schema:
      $ref: '#/definitions/errorResponse'
    x-apiture-errors:
      - addressMustNotBePreferred
  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)
    schema:
      $ref: '#/definitions/errorResponse'
    x-apiture-errors:
      - emailAddressMustNotBePreferred
  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)
    schema:
      $ref: '#/definitions/errorResponse'
    x-apiture-errors:
      - phoneMustNotBePreferred
  409PreferredConflict:
    description: 'Conflict. The selected phone number, address, or email address cannot be set as the preferred because it is still `pending`.'
    schema:
      $ref: '#/definitions/errorResponse'
  422PreferredUnprocessable:
    description: 'Unprocessable Entity. The selected phone number, address, or email address cannot be set as the preferred because no such item exists.'
    schema:
      $ref: '#/definitions/errorResponse'
definitions:
  organizationAddress:
    title: Organization Address (v1.0.0)
    description: >
      Representation of an organization's address resource.



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


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

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


      <table>

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


      <tr>

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

      </tr>


      <tr>

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

      </tr>

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



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


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

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


      <table>

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


      <tr>

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

      </tr>


      <tr>

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

      </tr>

      </table>
    x-apiture-links:
      - rel: delete
        operationId: deleteEmailAddress
      - rel: 'apiture:setAsPreferred'
        operationId: setPreferredEmailAddress
    example:
      _id: pe1
      _profile: 'https://api.apiture.com/schemas/organizations/organizationEmailAddress/v1.0.0/profile.json'
      type: personal
      number: 555-555-5555
      state: approved
      _links:
        self:
          href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1
        delete:
          href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1
        'apiture:setAsPreferred':
          href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredEmailAddresses?value=pe1
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/typedEmailAddress'
      - properties:
          - state
      - $ref: '#/definitions/abstractResource'
    properties:
      value:
        description: 'The email address, such as `JohnBankCustomer@example.com`'
        type: string
        format: email
        minLength: 8
        maxLength: 120
        example: JohnBankCustomer@example.com
      type:
        description: The kind of email address.
        allOf:
          - $ref: '#/definitions/emailType'
      _id:
        description: >-
          An identifier for this email address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
          provide one. The `_id` must be unique across all email addresses within the `emailAddresses` array.
        type: string
        minLength: 1
        maxLength: 8
        example: ha3
        pattern: '^[-a-zA-Z0-9_]{1,8}$'
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      state:
        description: >-
          The state of this email address. `pending` email addresses require financial institution approval. Only `approved` numbers may be set as the
          preferred email address.
        allOf:
          - $ref: '#/definitions/profileItemState'
    type: object
    x-apiture-flattened: true
  entityAuthorizationFormRequest:
    title: Entity Authorization Form Request (v1.0.0)
    description: Data necessary to generate an entity authorization form.
    example:
      _profile: 'https://production.api.apiture.com/schemas/organizations/entityAuthorizationFormRequest/v1.0.0/profile.json'
      invitees:
        - firstName: Lucille
          lastName: Wellphunded
          role: Owner
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/abstractResource'
      - properties:
          - invitees
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      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: '#/definitions/invitedAuthorizedSigner'
        maxLength: 8
    type: object
    x-apiture-flattened: true
  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
    example:
      firstName: Lucille
      lastName: Wellphunded
      role: Owner
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/contactName'
      - properties:
          - role
    properties:
      firstName:
        description: The person's first name (or given name).
        type: string
      middleName:
        description: The person's middle name.
        type: string
      lastName:
        description: The person's last name (or surname).
        type: string
      role:
        description: The role or job title that the individual holds within the organization.
        type: string
    type: object
    x-apiture-flattened: true
  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-flattened: true
  organizationEmailAddresses:
    title: The organization's email addresses (v1.0.0)
    description: The list of the organization's email addresses.
    example:
      _profile: 'https://api.apiture.com/schemas/organizations/organizationEmailAddresses/v1.0.0/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.0/profile.json'
          _links:
            self:
              href: /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.0/profile.json'
          _links:
            self:
              href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/EmailAddresses/pe2
      _links:
        self:
          href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - properties:
          - items
      - $ref: '#/definitions/abstractResource'
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      items:
        description: An array containing email address items.
        type: array
        items:
          $ref: '#/definitions/organizationEmailAddress'
    type: object
    x-apiture-flattened: true
  organizationPhoneNumber:
    title: Phone Number (v1.0.0)
    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-links:
      - rel: delete
        operationId: deletePhoneNumber
      - rel: 'apiture:setAsPreferred'
        operationId: setPreferredPhoneNumber
    example:
      _id: hp1
      _profile: 'https://api.apiture.com/schemas/organizations/organizationPhoneNumber/v1.0.0/profile.json'
      type: home
      number: 555-555-5555
      state: approved
      _links:
        self:
          href: /organizations/organizations/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/hp1
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/phoneNumber'
      - properties:
          - state
      - $ref: '#/definitions/abstractResource'
    properties:
      type:
        description: The type or role of this phone number.
        allOf:
          - $ref: '#/definitions/phoneNumberType'
      number:
        description: 'The phone number, as a string.'
        type: string
        example: 555-555-5555
        minLength: 8
        maxLength: 16
      label:
        description: 'A text label, suitable for presentation to the end user. This is also used if `type` is `other`.'
        type: string
        example: assistant
        maxLength: 32
      _id:
        description: >-
          An identifier for this phone number, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
          provide one. The `_id` must be unique across all phone numbers within the `phones` array.
        type: string
        minLength: 1
        maxLength: 8
        example: ha5
        pattern: '^[-a-zA-Z0-9_]{1,8}$'
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      state:
        description: >-
          The state of this phone number. `pending` numbers require financial institution approval. Only `approved` numbers may be set as the
          preferred phone number.
        allOf:
          - $ref: '#/definitions/profileItemState'
    type: object
    x-apiture-flattened: true
  organizationPhoneNumbers:
    title: The organization's phone numbers (v1.0.0)
    description: The list of the organization's phone numbers.
    example:
      _profile: 'https://api.apiture.com/schemas/organizations/organizationPhoneNumbers/v1.0.0/profile.json'
      items:
        - _id: mp0
          type: mobile
          label: Mobile
          number: 555-555-5555
          state: approved
          _profile: 'https://api.apiture.com/schemas/organization/organizationPhoneNumber/v1.0.0/profile.json'
          _links:
            self:
              href: /organizations/organizations/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/mp0
        - _id: mp2
          type: home
          label: Home
          number: 555-444-4444
          state: approved
          _profile: 'https://api.apiture.com/schemas/organizations/organizationPhoneNumber/v1.0.0/profile.json'
          _links:
            self:
              href: /organizations/organizations/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/mp2
      _links:
        self:
          href: /useorganizationsrs/organizations/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - properties:
          - items
      - $ref: '#/definitions/abstractResource'
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      items:
        description: An array containing phone number items.
        type: array
        items:
          $ref: '#/definitions/organizationPhoneNumber'
    type: object
    x-apiture-flattened: true
  profileItemState:
    title: Organization Profile Item State (v1.0.0)
    description: >
      The state of an item (address, email address, or phone number) within the organization's profile. New addresses, email addresses, or phone
      numbers start with the state `pending`, which means approval by the financial institution is pending. After they have been verified, the state
      becomes `approved`. Some normalizing or sanitizing of the value may occur when this happens (for example, a ZIP code may change to ZIP+4
      format). `pending` items may not be assigned as the preferred item.


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

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

      (described by the named profileItemState)


      <table>

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


      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.


      <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>
    type: string
    enum:
      - pending
      - approved
    example: approved
    x-apiture-enum: profileItemState
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  percentGrossRevenue:
    title: Percent of Gross Revenue derived from Money Services (v1.0.0)
    x-apiture-fragment: true
    description: >-
      The percentage of gross revenue the organization derives from money services.


      **Warning**: the `enum` list will be removed in a future release. and the values defined at runtime via the `percentGrossRevenue` group in the
      response from the [`getLabels`](#op-getLabels) operation.
    type: string
    enum:
      - unknown
      - from0to25Percent
      - from26to50Percent
      - from51to75Percent
      - from75to100Percent
      - other
      - notApplicable
    x-apiture-choice: percentGrossRevenue
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  regulatory:
    title: Regulatory (v1.0.0)
    description: Responses to regulatory-related questions.
    type: object
    properties:
      estimatedAnnualRevenue:
        description: The range of estimated revenue in US dollars.
        allOf:
          - $ref: '#/definitions/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: '#/definitions/intermediaryServices'
      subjectToWithholdings:
        description: 'If `true`, the organization is subject to tax withholdings.'
        type: boolean
        default: false
    additionalProperties:
      $ref: '#/definitions/regulatoryValue'
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  accountPurpose:
    title: Account purpose (v1.0.0)
    x-apiuture-fragment: true
    description: >-
      The purpose of the account.


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


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


      **Warning**: the `enum` list will be removed in a future release. and the values defined at runtime via the `intermediaryServices` group in the
      response from the [`getLabels`](#op-getLabels) operation.
    type: string
    enum:
      - unknown
      - accounting
      - fundsManagement
      - insurance
      - investment
      - legal
      - medical
      - notary
      - realEstate
      - taxPreparation
      - trustManagement
      - gambling
      - securities
      - loanFinance
      - pawnBrokerage
      - travelAgency
      - vehicleSales
      - foreignCurrency
      - preciousMetals
      - other
      - notApplicable
    x-apiture-choice: intermediaryServices
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  yearsOwned:
    title: Years Owned (v1.0.0)
    x-apiuture-fragment: true
    description: >-
      The years the organization has owned/managed their 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-flattened: true
  physicalLocationsCount:
    title: Physical Locations (v1.0.0)
    description: |-
      The number of physical locations, branches, offices, or sites the organization owns.

      The allowed values for this property are defined at runtime in the
      [label group](https://developer.apiture.com/concepts/label-groups) named `physicalLocationsCount`
      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-flattened: true
  createAuthorizedSigner:
    title: New Authorized Signer (v1.0.0)
    description: The user authorized for organizational access.
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/createAuthorization'
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      firstName:
        description: The person's first name (or given name).
        type: string
      middleName:
        description: The person's middle name.
        type: string
      lastName:
        description: The person's last name (or surname).
        type: string
      addresses:
        description: An array of postal/mailing addresses.
        type: array
        items:
          type: object
          $ref: '#/definitions/address'
      preferredMailingAddressId:
        description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
        type: string
        minLength: 1
        maxLength: 4
      taxId:
        description: Official government identification (tax ID) for this person.
        type: string
      citizen:
        description: Indicates if the person is a (US) citizen.
        type: boolean
      emailAddress:
        description: Optional email address.
        type: string
        format: email
      userId:
        description: The unique ID of the user. This is the `_id` value of the user resource from the Users API.
        type: string
        example: bd9e7a93-32cc-435d-ac57-f21faa082318
      customerId:
        description: >-
          The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the user
          in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Users API).
        type: string
        minLength: 1
        maxLength: 100
        readOnly: true
        example: 00047294723672
      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: '#/definitions/authorizationType'
      role:
        description: The person's role at the organization. This attribute is required when the authorization type is authorizedSigner.
        type: string
    type: object
    x-apiture-flattened: true
  authorizedSigners:
    title: Authorized Signers (v1.0.0)
    description: The list of users who are authorized to access the organization and its bank accounts.
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/abstractResource'
      - properties:
          - items
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      items:
        description: >-
          The array of authorized signers for this business and their role within the organization. These people have account access for all business
          accounts owned by the business. The items in this array must all have the `type` of `authorizedSigner`.
        type: array
        minLength: 1
        items:
          $ref: '#/definitions/authorization'
    type: object
    x-apiture-flattened: true
  beneficialOwner:
    title: Beneficial Owner (v1.0.0)
    description: A person who owns 25% or more of a business organization.
    required:
      - percentage
      - contactId
      - firstName
      - lastName
      - identification
    example:
      firstName: William
      lastName: Wellphunded
      addresses:
        - addressLine1: 1234 S Front Street
          city: Wilmington
          regionCode: NC
          postalCode: 28401-5405
          countryCode: US
          type: home
      identification:
        - type: taxId
          value: 111-11-1111
      role: Chief Financial Officer
      birthdate: {}
      percentage: 35
      contactId: 8bf04d7d-c1bd-4945-b0ac-40ef02bb3953
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/simpleContact'
      - properties:
          - role
          - percentage
          - birthdate
          - contactId
    properties:
      firstName:
        description: The person's first name (or given name).
        type: string
      middleName:
        description: The person's middle name.
        type: string
      lastName:
        description: The person's last name (or surname).
        type: string
      addresses:
        description: An array of postal/mailing addresses.
        type: array
        items:
          type: object
          $ref: '#/definitions/address'
      preferredMailingAddressId:
        description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
        type: string
        minLength: 1
        maxLength: 4
      emailAddresses:
        description: An array of email addresses.
        type: array
        items:
          $ref: '#/definitions/typedEmailAddress'
      preferredEmailAddressId:
        description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
        type: string
        minLength: 1
        maxLength: 4
      phones:
        description: An array of phone numbers.
        type: array
        items:
          $ref: '#/definitions/phoneNumber'
      preferredPhoneId:
        description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
        type: string
        minLength: 1
        maxLength: 4
      prefix:
        description: A title or honorific prefix such as Dr. or Fr.
        type: string
        maxLength: 20
      suffix:
        description: A title or honorific suffix such as PhD or DDS.
        type: string
        maxLength: 20
      preferredName:
        description: >-
          The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
          `firstName`.
        type: string
      identification:
        description: A collection of official identifying information associated with the contact.
        x-apiture-pii: true
        type: array
        items:
          $ref: '#/definitions/identification'
      preferredContactMethod:
        description: The contact's preferred method of communication.
        allOf:
          - $ref: '#/definitions/preferredContactMethod'
      role:
        type: string
        description: The person's role at the organization.
      percentage:
        description: The percent of the business that this person owns.
        type: integer
        minimum: 0
        maximum: 100
        example: 25
      birthdate:
        description: The beneficial's birth date in `YYYY-MM-DD` format.
        type: string
        format: date
      contactId:
        type: string
        description: >-
          The `_id` of an existing contact resource associated with the beneficial owner. Create the beneficial owner contact resource using the
          Contacts API.
    type: object
    x-apiture-flattened: true
  beneficialOwners:
    title: Beneficial Owners (v1.0.0)
    description: >-
      A list of people who own at least 25% of the business or who have a major role in the organization. The sum of the percentages may not exceed
      100%. The percentage may be less than 25 for non-owners with a major role, or to retain other owners whose percentage may change to 25% in the
      future.
    required:
      - items
    example:
      items:
        - firstName: William
          lastName: Wellphunded
          addresses:
            - addressLine1: 1234 S Front Street
              city: Wilmington
              regionCode: NC
              postalCode: 28401-5405
              countryCode: US
              type: home
          role: Chief Financial Officer
          percentage: 35
          birthdate: {}
          identification:
            - type: taxId
              value: 111-11-1111
      _links:
        self:
          href: /organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c/beneficialOwners
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/abstractResource'
      - properties:
          - items
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      items:
        description: 'A list of people who own at least 25% of the business, and the percentage owned.'
        type: array
        maxLength: 10
        items:
          $ref: '#/definitions/beneficialOwner'
    type: object
    x-apiture-flattened: true
  organizationType:
    title: Organization Type (v1.0.0)
    description: |-
      The primary organization type.

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

      The allowed values for this property are defined at runtime in the
      [label group](https://developer.apiture.com/concepts/label-groups) named `organizationSubtype`
      in the response from the [`getLabels`](#op-getLabels) operation.
    type: string
    x-apiture-choice: organizationSubtype
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  organizationIdentification:
    title: Organization Identification (v1.0.0)
    description: The type and value of the organizations unique identification numbers.
    type: object
    required:
      - type
      - value
    properties:
      value:
        description: 'The value of this form of identification (the tax ID as a string, for example)'
        type: string
      type:
        description: The type of this form of identification. `taxId` is the only supported type at this time.
        allOf:
          - $ref: '#/definitions/organizationIdentificationType'
      expiresOn:
        description: The date when this form of identification expires.
        type: string
        format: date
      expiration:
        description: The date when this form of identification expires. **Note** This property is deprecated; use `expiresOn`.
        type: string
        format: date
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  simpleOrganization:
    title: Simple Organization (v1.0.0)
    description: The simplest form of an organization.
    example:
      name: Smith's Auto Detailing
      label: Smith's Detailing
      emailAddresses:
        - type: work
          value: smitties-detailing@example.com
      identification:
        - type: taxId
          value: 00-9999999
      phones:
        - type: work
          number: (555) 555-5555
        - type: mobile
          number: (999) 555-5555
      addresses:
        - type: work
          addressLine1: 555 N Front Street
          addressLine2: Suite 5555
          city: Wilmington
          regionCode: NC
          postalCode: 28401-5405
          countryCode: US
        - type: work
          addressLine1: 123 S 3rd Street
          addressLine2: Apt 42
          city: Wilmington
          regionCode: NC
          postalCode: 28411-5405
          countryCode: US
      establishedDate: 2009-07-09T
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - properties:
          - name
          - label
          - type
          - subtype
          - identification
          - addresses
          - phones
          - emailAddresses
          - preferredEmailAddressId
          - preferredPhoneId
          - preferredMailingAddressId
          - establishedDate
    properties:
      name:
        description: The organization's official full name
        type: string
      label:
        description: The organization's common name.
        type: string
      type:
        description: |-
          Indicates what type of organization this resource represents.


          The enumeration values are described by the `organizationType`
          value in the response of the `getLabels` operation.
        allOf:
          - $ref: '#/definitions/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: '#/definitions/organizationSubtype'
      identification:
        description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
        type: array
        items:
          $ref: '#/definitions/organizationIdentification'
      addresses:
        description: An array containing address items.
        type: array
        items:
          $ref: '#/definitions/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: '#/definitions/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: '#/definitions/organizationEmailAddress'
      preferredEmailAddressId:
        description: |-
          The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          This value is set with the `setPreferredEmailAddress` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      preferredPhoneId:
        description: >-
          The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
          the `setPreferredPhoneNumber` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      preferredMailingAddressId:
        description: >-
          The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
          `setPreferredMailingAddress` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      establishedDate:
        description: The date the organization was established.
        type: string
        format: date
    type: object
    x-apiture-flattened: true
  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) values
      (described by the named organizationIdentificationType)

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

      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.

      <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>
    type: string
    enum:
      - taxId
      - dunsNumber
    x-apiture-enum: organizationIdentificationType
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  organizationState:
    title: Organization State (v1.0.0)
    description: >
      The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
      operation.


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

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

      (described by the named organizationState)


      <table>

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


      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.


      <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>
    type: string
    enum:
      - pending
      - inactive
      - active
      - merged
      - removed
    x-apiture-enum: organizationState
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  organizationFields:
    title: Organization Fields (v1.0.0)
    description: 'Common fields of the organization resource, for organizations which conduct banking.'
    x-apiture-fragment: true
    example:
      name: Smith's Auto Detailing
      label: Smith's Detailing
      emailAddresses:
        - type: work
          value: smitties-detailing@example.com
      phones:
        - type: work
          number: (555) 555-5555
        - type: mobile
          number: (999) 555-5555
      addresses:
        - type: work
          addressLine1: 555 N Front Street
          addressLine2: Suite 5555
          city: Wilmington
          regionCode: NC
          postalCode: 28401-5405
          countryCode: US
        - type: work
          addressLine1: 123 S 3rd Street
          addressLine2: Apt 42
          city: Wilmington
          regionCode: NC
          postalCode: 28411-5405
          countryCode: US
      establishedDate: 2009-07-09T
      identification:
        - type: taxId
          value: 00-9999999
      state: active
      currency: USD
      estimatedAnnualRevenue: from1to10Million
      estimatedMonthlyAmounts:
        sentWire: moreThanOneMillion
        receivedWire: oneHundredThousandToOneMillion
        mobileCheckDeposit: upToOneHundredThousand
        receivedAch: upToOneHundredThousand
        sentAch: moreThanOneMillion
      physicalLocationsCount: under10
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/simpleOrganization'
      - properties:
          - state
          - tradeName
          - governmentOwned
          - publiclyHeld
          - smallBusiness
          - taxExempt
          - employeeCountRange
          - employeeCountLowerBound
          - employeeCountUpperBound
          - homeUrl
          - industry
          - countryOfOperations
          - regulatory
          - currency
          - mobileCheckDepositEnabled
          - achEnabled
          - estimatedMonthlyAmounts
          - accountPurpose
          - registeredIn
    properties:
      name:
        description: The organization's official full name
        type: string
      label:
        description: The organization's common name.
        type: string
      type:
        description: |-
          Indicates what type of organization this resource represents.


          The enumeration values are described by the `organizationType`
          value in the response of the `getLabels` operation.
        allOf:
          - $ref: '#/definitions/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: '#/definitions/organizationSubtype'
      identification:
        description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
        type: array
        items:
          $ref: '#/definitions/organizationIdentification'
      addresses:
        description: An array containing address items.
        type: array
        items:
          $ref: '#/definitions/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: '#/definitions/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: '#/definitions/organizationEmailAddress'
      preferredEmailAddressId:
        description: |-
          The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          This value is set with the `setPreferredEmailAddress` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      preferredPhoneId:
        description: >-
          The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
          the `setPreferredPhoneNumber` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      preferredMailingAddressId:
        description: >-
          The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
          `setPreferredMailingAddress` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      establishedDate:
        description: The date the organization was established.
        type: string
        format: date
      state:
        description: >-
          The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
          operation.
        allOf:
          - $ref: '#/definitions/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
      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: '#/definitions/regulatory'
      currency:
        description: >-
          The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. TODO: ISO
          4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
        type: string
        minLength: 3
        maxLength: 3
      mobileCheckDepositEnabled:
        description: Indicates that the organization use mobile check deposits.
        type: boolean
      achEnabled:
        description: Indicates that the organization use ACH transfers.
        type: boolean
      estimatedMonthlyAmounts:
        description: Estimated monthly amounts for banking services.
        allOf:
          - $ref: '#/definitions/estimatedMonthlyAmounts'
      accountPurpose:
        title: Account purpose
        description: The purpose of the account.
        allOf:
          - $ref: '#/definitions/accountPurpose'
      registeredIn:
        description: |-
          The US state or other region in which the organization is registered.

          The allowed values for this property are defined at runtime in the
          [label group](https://developer.apiture.com/concepts/label-groups) named `regionCodes`
          in the response from the [`getLabels`](#op-getLabels) operation.
        type: string
        example: NC
        minLength: 2
        maxLength: 2
        pattern: '^[a-zA-Z]{2}$'
        x-apiture-choice: regionCodes
    type: object
    x-apiture-flattened: true
  regulatoryValue:
    title: Regulatory Value (v1.0.0)
    description: The value associated with this regulatory property.
    x-apiture-version: 1.0.0
    type: object
    properties: {}
    x-apiture-flattened: true
  createOrganization:
    title: Create Organization (v1.0.0)
    description: Representation used to create a new organization.
    required:
      - name
      - registeredIn
    example:
      _profile: 'https://api.apiture.com/schemas/organizations/organization/v1.0.0/profile.json'
      _links:
        'apiture:user':
          href: /users/users/00007276-8b25-4e97-ac82-e1e17a2ff7c2
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/abstractResource'
      - $ref: '#/definitions/organizationFields'
      - properties:
          - attributes
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      name:
        description: The organization's official full name
        type: string
      label:
        description: The organization's common name.
        type: string
      type:
        description: |-
          Indicates what type of organization this resource represents.


          The enumeration values are described by the `organizationType`
          value in the response of the `getLabels` operation.
        allOf:
          - $ref: '#/definitions/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: '#/definitions/organizationSubtype'
      identification:
        description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
        type: array
        items:
          $ref: '#/definitions/organizationIdentification'
      addresses:
        description: An array containing address items.
        type: array
        items:
          $ref: '#/definitions/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: '#/definitions/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: '#/definitions/organizationEmailAddress'
      preferredEmailAddressId:
        description: |-
          The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          This value is set with the `setPreferredEmailAddress` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      preferredPhoneId:
        description: >-
          The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
          the `setPreferredPhoneNumber` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      preferredMailingAddressId:
        description: >-
          The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
          `setPreferredMailingAddress` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      establishedDate:
        description: The date the organization was established.
        type: string
        format: date
      state:
        description: >-
          The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
          operation.
        allOf:
          - $ref: '#/definitions/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
      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: '#/definitions/regulatory'
      currency:
        description: >-
          The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. TODO: ISO
          4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
        type: string
        minLength: 3
        maxLength: 3
      mobileCheckDepositEnabled:
        description: Indicates that the organization use mobile check deposits.
        type: boolean
      achEnabled:
        description: Indicates that the organization use ACH transfers.
        type: boolean
      estimatedMonthlyAmounts:
        description: Estimated monthly amounts for banking services.
        allOf:
          - $ref: '#/definitions/estimatedMonthlyAmounts'
      accountPurpose:
        title: Account purpose
        description: The purpose of the account.
        allOf:
          - $ref: '#/definitions/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
      attributes:
        type: object
        description: An optional map of name/value pairs which provide additional metadata about the organization.
    type: object
    x-apiture-flattened: true
  estimatedMonthlyAmounts:
    title: Estimated Monthly Amounts (v1.0.0)
    description: Estimated monthly amounts for banking services.
    type: object
    properties:
      percentGrossRevenue:
        title: Percent of Gross Revenue derived from Money Services
        description: |-
          The percentage of gross revenue the organization derives from money services.

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

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

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

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

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

          The allowed values for this property are defined at runtime in the
          [label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyReceivedWireAmounts`
          in the response from the [`getLabels`](#op-getLabels) operation.
        type: string
        example: moreThanOneMillion
        x-apiture-choice: estimatedMonthlyReceivedWireAmounts
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  summaryOrganization:
    title: Organization Summary (v1.0.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.
    example:
      _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
      _profile: 'https://api.apiture.com/schemas/organizations/organization/v1.0.0/profile.json'
      _links:
        self:
          href: /organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/abstractResource'
      - $ref: '#/definitions/organizationFields'
      - properties:
          - _id
          - customerId
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      name:
        description: The organization's official full name
        type: string
      label:
        description: The organization's common name.
        type: string
      type:
        description: |-
          Indicates what type of organization this resource represents.


          The enumeration values are described by the `organizationType`
          value in the response of the `getLabels` operation.
        allOf:
          - $ref: '#/definitions/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: '#/definitions/organizationSubtype'
      identification:
        description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
        type: array
        items:
          $ref: '#/definitions/organizationIdentification'
      addresses:
        description: An array containing address items.
        type: array
        items:
          $ref: '#/definitions/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: '#/definitions/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: '#/definitions/organizationEmailAddress'
      preferredEmailAddressId:
        description: |-
          The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          This value is set with the `setPreferredEmailAddress` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      preferredPhoneId:
        description: >-
          The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
          the `setPreferredPhoneNumber` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      preferredMailingAddressId:
        description: >-
          The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
          `setPreferredMailingAddress` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      establishedDate:
        description: The date the organization was established.
        type: string
        format: date
      state:
        description: >-
          The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
          operation.
        allOf:
          - $ref: '#/definitions/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
      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: '#/definitions/regulatory'
      currency:
        description: >-
          The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. TODO: ISO
          4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
        type: string
        minLength: 3
        maxLength: 3
      mobileCheckDepositEnabled:
        description: Indicates that the organization use mobile check deposits.
        type: boolean
      achEnabled:
        description: Indicates that the organization use ACH transfers.
        type: boolean
      estimatedMonthlyAmounts:
        description: Estimated monthly amounts for banking services.
        allOf:
          - $ref: '#/definitions/estimatedMonthlyAmounts'
      accountPurpose:
        title: Account purpose
        description: The purpose of the account.
        allOf:
          - $ref: '#/definitions/accountPurpose'
      registeredIn:
        description: |-
          The US state or other region in which the organization is registered.

          The allowed values for this property are defined at runtime in the
          [label group](https://developer.apiture.com/concepts/label-groups) named `regionCodes`
          in the response from the [`getLabels`](#op-getLabels) operation.
        type: string
        example: NC
        minLength: 2
        maxLength: 2
        pattern: '^[a-zA-Z]{2}$'
        x-apiture-choice: regionCodes
      _id:
        description: The unique identifier for this organization resource. This is an immutable opaque string.
        readOnly: true
        type: string
      customerId:
        description: >-
          The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the
          organization in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Organizations API).
        type: string
        minLength: 1
        maxLength: 100
        readOnly: true
        example: 000489353781
    type: object
    x-apiture-flattened: true
  organization:
    title: Organization (v1.0.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.
    example:
      _id: 0399abed-fd3d-4830-a88b-30f38b8a365c
      customerId: 000489353781
      _profile: 'https://api.apiture.com/schemas/organizations/organization/v1.0.0/profile.json'
      name: Smith's Auto Detailing
      label: Smith's Detailing
      tradeName: Smith's Auto Detailing
      emailAddresses:
        - _id: ea0
          type: work
          value: smitties-detailing@example.com
      preferredEmailAddressId: ea0
      phones:
        - type: work
          number: (555) 555-5555
          _id: wp0
        - type: mobile
          number: (999) 555-5555
          _id: wp1
      preferredPhoneNumberId: wp0
      addresses:
        - type: work
          addressLine1: 555 N Front Street
          addressLine2: Suite 5555
          city: Wilmington
          regionCode: NC
          postalCode: 28401-5405
          countryCode: US
        - type: work
          addressLine1: 123 S 3rd Street
          addressLine2: Apt 42
          city: Wilmington
          regionCode: NC
          postalCode: 28411-5405
          countryCode: US
      preferredMailingAddressId: wa0
      establishedDate: 2009-07-09T
      identification:
        - type: taxId
          value: 00-9999999
      state: active
      governmentOwned: false
      registeredIn: NC
      publiclyHeld: false
      smallBusiness: true
      taxExempt: false
      currency: USD
      estimatedAnnualRevenue: from1to10Million
      estimatedMonthlyAmounts:
        sentWire: moreThanOneMillion
        receivedWire: oneHundredThousandToOneMillion
        mobileCheckDeposit: upToOneHundredThousand
        receivedAch: upToOneHundredThousand
        sentAch: moreThanOneMillion
      type: corporation
      subtype: soleProprietorship
      employeeCountLowerBound: 1
      employeeCountUpperBound: 1
      countryOfOperations: US
      physicalLocationsCount: under10
      mobileCheckDepositEnabled: true
      achEnabled: true
      authorizedSigners: []
      beneficialOwners: []
      createdAt: '2018-04-17T10:04:46.375Z'
      updatedAt: '2018-04-17T10:12:58.375Z'
      _links:
        self:
          href: /organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c
        'apiture:deactivate':
          href: /organizations/inactiveOrganizations?organization=0399abed-fd3d-4830-a88b-30f38b8a365c
      _embedded: {}
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/summaryOrganization'
      - properties:
          - createdAt
          - updatedAt
          - attributes
          - _embedded
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'Embedded objects, as selected with the `?embed` query parameter.'
        type: object
        properties:
          authorizedSigners:
            $ref: '#/definitions/authorizedSigners'
          beneficialOwners:
            $ref: '#/definitions/beneficialOwners'
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      name:
        description: The organization's official full name
        type: string
      label:
        description: The organization's common name.
        type: string
      type:
        description: |-
          Indicates what type of organization this resource represents.


          The enumeration values are described by the `organizationType`
          value in the response of the `getLabels` operation.
        allOf:
          - $ref: '#/definitions/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: '#/definitions/organizationSubtype'
      identification:
        description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
        type: array
        items:
          $ref: '#/definitions/organizationIdentification'
      addresses:
        description: An array containing address items.
        type: array
        items:
          $ref: '#/definitions/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: '#/definitions/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: '#/definitions/organizationEmailAddress'
      preferredEmailAddressId:
        description: |-
          The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
          This value is set with the `setPreferredEmailAddress` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      preferredPhoneId:
        description: >-
          The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
          the `setPreferredPhoneNumber` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      preferredMailingAddressId:
        description: >-
          The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
          `setPreferredMailingAddress` operation.
        type: string
        minLength: 1
        maxLength: 4
        readOnly: true
      establishedDate:
        description: The date the organization was established.
        type: string
        format: date
      state:
        description: >-
          The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
          operation.
        allOf:
          - $ref: '#/definitions/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
      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: '#/definitions/regulatory'
      currency:
        description: >-
          The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. TODO: ISO
          4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
        type: string
        minLength: 3
        maxLength: 3
      mobileCheckDepositEnabled:
        description: Indicates that the organization use mobile check deposits.
        type: boolean
      achEnabled:
        description: Indicates that the organization use ACH transfers.
        type: boolean
      estimatedMonthlyAmounts:
        description: Estimated monthly amounts for banking services.
        allOf:
          - $ref: '#/definitions/estimatedMonthlyAmounts'
      accountPurpose:
        title: Account purpose
        description: The purpose of the account.
        allOf:
          - $ref: '#/definitions/accountPurpose'
      registeredIn:
        description: |-
          The US state or other region in which the organization is registered.

          The allowed values for this property are defined at runtime in the
          [label group](https://developer.apiture.com/concepts/label-groups) named `regionCodes`
          in the response from the [`getLabels`](#op-getLabels) operation.
        type: string
        example: NC
        minLength: 2
        maxLength: 2
        pattern: '^[a-zA-Z]{2}$'
        x-apiture-choice: regionCodes
      _id:
        description: The unique identifier for this organization resource. This is an immutable opaque string.
        readOnly: true
        type: string
      customerId:
        description: >-
          The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the
          organization in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Organizations API).
        type: string
        minLength: 1
        maxLength: 100
        readOnly: true
        example: 000489353781
      createdAt:
        description: The date-time when the organization was created.
        type: string
        format: date-time
      updatedAt:
        description: The date-time when the organization was updated
        type: string
        format: date-time
      attributes:
        type: object
        description: An optional map of name/value pairs which provide additional metadata about the organization.
    type: object
    x-apiture-flattened: true
  organizations:
    title: Organization Collection (v1.0.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`).
    example:
      start: 0
      limit: 10
      _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.0.0/profile.json'
      _links:
        self:
          href: /organizations/organizations?start=10&limit=10
        first:
          href: /organizations/organizations?start=0&limit=10
        next:
          href: /organizations/organizations?start=20&limit=10
        collection:
          href: /organizations/organizations
      count: 10
      name: organizations
      _embedded:
        items:
          - _id: 331af113-8f7b-422d-89fe-d0489cc43e5d
            _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.0.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'
            name: Apiture
            label: ''
            type: trust
            state: pending
          - _id: a1a6bbef-ac51-4d5f-a30e-4034b0a5aca7
            _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.0.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'
            name: Apiture
            label: ''
            type: nonprofit
            state: pending
          - _id: 0c748e89-3180-4d43-927d-5120d39b4fa8
            _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.0.0/profile.json'
            _links:
              self:
                href: 'https://api.apiture.com/organizations/organizations/0c748e89-3180-4d43-927d-5120d39b4fa8'
              'apiture:activate':
                href: 'https://api.apiture.com/organizations/activeOrganizations?organization=0c748e89-3180-4d43-927d-5120d39b4fa8'
            name: Apiture
            label: ''
            type: nonprofit
            state: pending
          - _id: fb602721-ac57-4d68-835d-f649e351e2b5
            _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.0.0/profile.json'
            _links:
              self:
                href: 'https://api.apiture.com/organizations/organizations/fb602721-ac57-4d68-835d-f649e351e2b5'
              'apiture:activate':
                href: 'https://api.apiture.com/organizations/activeOrganizations?organization=fb602721-ac57-4d68-835d-f649e351e2b5'
            name: Apiture
            label: ''
            type: nonprofit
            state: pending
          - _id: 64b636ec-cebe-44bc-9962-d4de2329abe3
            _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.0.0/profile.json'
            _links:
              self:
                href: 'https://api.apiture.com/organizations/organizations/64b636ec-cebe-44bc-9962-d4de2329abe3'
              'apiture:activate':
                href: 'https://api.apiture.com/organizations/activeOrganizations?organization=64b636ec-cebe-44bc-9962-d4de2329abe3'
            name: Apiture
            label: ''
            type: municipality
            state: pending
          - _id: c161edaa-293f-4c01-a232-e9a14344b297
            _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.0.0/profile.json'
            _links:
              self:
                href: 'https://api.apiture.com/organizations/organizations/c161edaa-293f-4c01-a232-e9a14344b297'
              'apiture:activate':
                href: 'https://api.apiture.com/organizations/activeOrganizations?organization=c161edaa-293f-4c01-a232-e9a14344b297'
            name: Apiture
            label: ''
            type: nonprofit
            state: pending
          - _id: 2b094e5d-d2a7-4a03-8110-64ac9ac457e6
            _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.0.0/profile.json'
            _links:
              self:
                href: 'https://api.apiture.com/organizations/organizations/2b094e5d-d2a7-4a03-8110-64ac9ac457e6'
              'apiture:activate':
                href: 'https://api.apiture.com/organizations/activeOrganizations?organization=2b094e5d-d2a7-4a03-8110-64ac9ac457e6'
            name: example corporation
            label: ''
            type: corporation
            state: pending
          - _id: ccaea92d-5ba0-4f30-a39f-a422ad02e7ad
            _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.0.0/profile.json'
            _links:
              self:
                href: 'https://api.apiture.com/organizations/organizations/ccaea92d-5ba0-4f30-a39f-a422ad02e7ad'
              'apiture:activate':
                href: 'https://api.apiture.com/organizations/activeOrganizations?organization=ccaea92d-5ba0-4f30-a39f-a422ad02e7ad'
            name: example llc
            label: ''
            type: llc
            state: pending
          - _id: 43f53a1f-7d00-443b-87ee-04f0704ffb14
            _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.0.0/profile.json'
            _links:
              self:
                href: 'https://api.apiture.com/organizations/organizations/43f53a1f-7d00-443b-87ee-04f0704ffb14'
              'apiture:activate':
                href: 'https://api.apiture.com/organizations/activeOrganizations?organization=43f53a1f-7d00-443b-87ee-04f0704ffb14'
            name: example partnership
            label: ''
            type: partnership
            state: pending
          - _id: 741fee0e-7f94-4d30-9fd7-62a318768d23
            _profile: 'https://api.apiture.com/schemas/organizations/organizations/v1.0.0/profile.json'
            _links:
              self:
                href: 'https://api.apiture.com/organizations/organizations/741fee0e-7f94-4d30-9fd7-62a318768d23'
              'apiture:activate':
                href: 'https://api.apiture.com/organizations/activeOrganizations?organization=741fee0e-7f94-4d30-9fd7-62a318768d23'
            name: example llp
            label: ''
            type: llp
            state: pending
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/collection'
      - properties:
          - _embedded
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        type: object
        description: Embedded objects.
        properties:
          items:
            description: An array containing a page of organization items.
            type: array
            items:
              $ref: '#/definitions/summaryOrganization'
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      count:
        description: >-
          The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
          is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
          filter.
        type: integer
      start:
        description: The start index of this page of items.
        type: integer
      limit:
        description: The maximum number of items per page.
        type: integer
      name:
        description: The name of the collection.
        type: string
    type: object
    x-apiture-flattened: true
  root:
    x-apiture-version: 2.0.0
    title: API Root
    description: 'A HAL response, with hypermedia `_links` for the top-level resources and operations in API.'
    example:
      id: apiName
      name: API name
      apiVersion: 1.0.0
      _profile: 'https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json'
      _links: {}
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/root/v2.0.0/model.json'
    x-apiture-namespace: common
    x-apiture-composition:
      - $ref: '#/definitions/abstractResource'
      - properties:
          - _id
          - name
          - apiVersion
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      _id:
        description: This API's unique ID.
        readOnly: true
        type: string
      name:
        type: string
        description: This API's name.
      apiVersion:
        type: string
        description: This API's version.
    type: object
    x-apiture-flattened: true
  labelGroups:
    title: Label Groups
    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)`.
    example:
      _profile: 'https://production.api.apiture.com/schemas/common/labelGroups/v1.0.0/model.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.0/model.json'
    x-apiture-namespace: common
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/abstractResource'
      - properties:
          - groups
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      groups:
        description: 'Groups of localized labels. This maps *group names* &rarr; [*a group of labels*](#schema-labelgroup) within that group.'
        x-apiture-key: groupName
        additionalProperties:
          $ref: '#/definitions/labelGroup'
    type: object
    x-apiture-flattened: true
  errorResponse:
    x-apiture-version: 2.0.0
    title: Error Response
    description: 'Describes an error response, typically returned on 4xx or 5xx errors from API operations. The `_error` object contains the error details.'
    example:
      _profile: 'https://api.apiture.com/schemas/common/errorResponse/v2.0.0/profile.json'
      _error:
        _id: 2eae46e1-575c-4d69-8a8f-0a7b0115a4b3
        message: The value for deposit must be greater than 0.
        statusCode: 422
        type: positiveNumberRequired
        attributes:
          value: -125.5
        remediation: Provide a value which is greater than 0
        occurredAt: '2018-01-25T05:50:52.375Z'
        _links:
          describedby:
            href: 'https://api.apiture.com/errors/positiveNumberRequired'
        _embedded:
          errors: []
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/errorResponse/v2.0.0/model.json'
    x-apiture-namespace: common
    x-apiture-composition:
      - $ref: '#/definitions/abstractResource'
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
    type: object
    x-apiture-flattened: true
  address:
    title: Address
    description: A postal address.
    type: object
    required:
      - type
    properties:
      type:
        description: The type of this address.
        allOf:
          - $ref: '#/definitions/addressType'
      label:
        description: 'A text label, suitable for presentation to the end user. This is derived from `type` or from `otherType` if `type` is `other`'
        type: string
        readOnly: true
        minLength: 4
        maxLength: 32
      otherType:
        description: The actual address type if `type` is `other`.
        minLength: 4
        maxLength: 32
        type: string
      addressLine1:
        description: 'The first street address line of the address, normally a house number and street name.'
        type: string
        minLength: 4
        maxLength: 128
      addressLine2:
        description: The optional second street address line of the address.
        type: string
        maxLength: 128
      city:
        description: The name of the city or municipality.
        type: string
        minLength: 2
        maxLength: 128
      regionCode:
        description: 'The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.'
        type: string
        example: NC
        minLength: 2
        maxLength: 2
        pattern: '^[a-zA-Z]{2}$'
      postalCode:
        description: 'The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.'
        type: string
        example: 28401-5405
        minLength: 5
        maxLength: 10
        pattern: '^[0-9]{5}(?:-[0-9]{4})?$'
      countryCode:
        description: 'The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. This is normalized to uppercase.'
        type: string
        minLength: 2
        maxLength: 2
        pattern: '^[a-zA-Z]{2}$'
      _id:
        description: >-
          An identifier for this address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not provide
          one. The `_id` must be unique across all addresses within the `addresses` array.
        type: string
        minLength: 1
        maxLength: 8
        example: ha5
        pattern: '^[-a-zA-Z0-9_]{1,8}$'
    example:
      _id: ha5
      type: home
      addressLine1: 555 N Front Street
      addressLine2: Suite 5555
      city: Wilmington
      regionCode: NC
      postalCode: 28401-5405
      countryCode: US
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/address/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  abstractResource:
    x-apiture-version: 2.0.0
    title: Abstract Resource
    description: >-
      An abstract schema used to define other schemas for request and response bodies. This is a
      [HAL](https://tools.ietf.org/html/draft-kelly-json-hal-08) resource representation. This model contains hypermedia `_links`, and either optional
      domain object data with `_profile` and optional `_embedded` objects, or an `_error` object. In responses, if the operation was successful, this
      object will not include the `_error`, but if the operation was a 4xx or 5xx error, this object will not include `_embedded` or any data fields,
      only `_error` and optionally `_links`.
    example:
      _profile: '{uri of resource profile.json}'
      _links:
        self:
          href: '{uri of current resource}'
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/abstractResource/v2.0.0/model.json'
    x-apiture-namespace: common
    x-apiture-composition:
      - $ref: '#/definitions/abstractRequest'
      - properties:
          - _error
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
    type: object
    x-apiture-flattened: true
  typedEmailAddress:
    title: Email Address
    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: '#/definitions/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-resolved-from: 'https://production.api.apiture.com/schemas/contacts/typedEmailAddress/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    type: object
    x-apiture-flattened: true
  contactName:
    title: Name
    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-resolved-from: 'https://production.api.apiture.com/schemas/contacts/contactName/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    type: object
    x-apiture-flattened: true
  phoneNumber:
    title: Phone Number
    description: A phone number and its role.
    type: object
    required:
      - type
      - number
    properties:
      type:
        description: The type or role of this phone number.
        allOf:
          - $ref: '#/definitions/phoneNumberType'
      number:
        description: 'The phone number, as a string.'
        type: string
        example: 555-555-5555
        minLength: 8
        maxLength: 16
      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: 555-555-5555
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumber/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  createAuthorization:
    title: Create Authorization
    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.
    example:
      type: joint
      role: Chief Financial Officer
      firstName: John
      middleName: Daniel
      lastName: Smith
      taxId: 111-11-1111
      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: /users/users/bd9e7a93-32cc-435d-ac57-f21faa082318
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/createAuthorization/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/abstractResource'
      - $ref: '#/definitions/authorization'
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      firstName:
        description: The person's first name (or given name).
        type: string
      middleName:
        description: The person's middle name.
        type: string
      lastName:
        description: The person's last name (or surname).
        type: string
      addresses:
        description: An array of postal/mailing addresses.
        type: array
        items:
          type: object
          $ref: '#/definitions/address'
      preferredMailingAddressId:
        description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
        type: string
        minLength: 1
        maxLength: 4
      taxId:
        description: Official government identification (tax ID) for this person.
        type: string
      citizen:
        description: Indicates if the person is a (US) citizen.
        type: boolean
      emailAddress:
        description: Optional email address.
        type: string
        format: email
      userId:
        description: The unique ID of the user. This is the `_id` value of the user resource from the Users API.
        type: string
        example: bd9e7a93-32cc-435d-ac57-f21faa082318
      customerId:
        description: >-
          The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the user
          in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Users API).
        type: string
        minLength: 1
        maxLength: 100
        readOnly: true
        example: 00047294723672
      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: '#/definitions/authorizationType'
      role:
        description: The person's role at the organization. This attribute is required when the authorization type is authorizedSigner.
        type: string
    type: object
    x-apiture-flattened: true
  authorization:
    title: Authorization
    description: >-
      Represents a person authorized for account access. This object contains key identification information for the person and the type of access or
      role that the person has in relation to the banking account or organization.
    required:
      - type
      - userId
      - customerId
      - firstName
      - lastName
      - citizen
      - taxId
      - addresses
    example:
      userId: bd9e7a93-32cc-435d-ac57-f21faa082318
      customerId: 00047294723672
      type: joint
      role: Chief Financial Officer
      firstName: John
      middleName: Daniel
      lastName: Smith
      taxId: 111-11-1111
      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-resolved-from: 'https://production.api.apiture.com/schemas/contacts/authorization/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/individualIdentification'
      - properties:
          - userId
          - customerId
          - type
          - role
    properties:
      firstName:
        description: The person's first name (or given name).
        type: string
      middleName:
        description: The person's middle name.
        type: string
      lastName:
        description: The person's last name (or surname).
        type: string
      addresses:
        description: An array of postal/mailing addresses.
        type: array
        items:
          type: object
          $ref: '#/definitions/address'
      preferredMailingAddressId:
        description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
        type: string
        minLength: 1
        maxLength: 4
      taxId:
        description: Official government identification (tax ID) for this person.
        type: string
      citizen:
        description: Indicates if the person is a (US) citizen.
        type: boolean
      emailAddress:
        description: Optional email address.
        type: string
        format: email
      userId:
        description: The unique ID of the user. This is the `_id` value of the user resource from the Users API.
        type: string
        example: bd9e7a93-32cc-435d-ac57-f21faa082318
      customerId:
        description: >-
          The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the user
          in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Users API).
        type: string
        minLength: 1
        maxLength: 100
        readOnly: true
        example: 00047294723672
      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: '#/definitions/authorizationType'
      role:
        description: The person's role at the organization. This attribute is required when the authorization type is authorizedSigner.
        type: string
    type: object
    x-apiture-flattened: true
  simpleContact:
    title: Simple Contact
    description: >-
      Basic contact and identification information for a person, consisting of the name, mailing address, phone numbers, email addresses, and
      government identification.
    example:
      firstName: John
      middleName: Daniel
      lastName: Smith
      preferredName: John
      suffix: MD
      identification:
        - type: taxId
          value: 111-11-1111
      addresses:
        - _id: ha1
          type: home
          addressLine1: 555 N Front Street
          addressLine2: Suite 5555
          city: Wilmington
          regionCode: NC
          postalCode: 28401-5405
          countryCode: US
      preferredMailingAddressId: ha1
      emailAddresses:
        - id: pe0
          value: api@apiture.com
          type: personal
        - id: wp1
          value: support@apiture.com
          type: work
      preferredEmailAddressId: pe0
      phones:
        - _id: hp1
          type: home
          number: (555) 555-5555
        - _id: mp1
          type: mobile
          number: (999) 555-5555
      preferredPhoneId: hp1
      preferredContactMethod: email
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/simpleContact/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/contactName'
      - $ref: '#/definitions/addresses'
      - $ref: '#/definitions/emailAddresses'
      - $ref: '#/definitions/phoneNumbers'
      - $ref: '#/definitions/simpleContactFields'
    properties:
      firstName:
        description: The person's first name (or given name).
        type: string
      middleName:
        description: The person's middle name.
        type: string
      lastName:
        description: The person's last name (or surname).
        type: string
      addresses:
        description: An array of postal/mailing addresses.
        type: array
        items:
          type: object
          $ref: '#/definitions/address'
      preferredMailingAddressId:
        description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
        type: string
        minLength: 1
        maxLength: 4
      emailAddresses:
        description: An array of email addresses.
        type: array
        items:
          $ref: '#/definitions/typedEmailAddress'
      preferredEmailAddressId:
        description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
        type: string
        minLength: 1
        maxLength: 4
      phones:
        description: An array of phone numbers.
        type: array
        items:
          $ref: '#/definitions/phoneNumber'
      preferredPhoneId:
        description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
        type: string
        minLength: 1
        maxLength: 4
      prefix:
        description: A title or honorific prefix such as Dr. or Fr.
        type: string
        maxLength: 20
      suffix:
        description: A title or honorific suffix such as PhD or DDS.
        type: string
        maxLength: 20
      preferredName:
        description: >-
          The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
          `firstName`.
        type: string
      identification:
        description: A collection of official identifying information associated with the contact.
        x-apiture-pii: true
        type: array
        items:
          $ref: '#/definitions/identification'
      preferredContactMethod:
        description: The contact's preferred method of communication.
        allOf:
          - $ref: '#/definitions/preferredContactMethod'
    type: object
    x-apiture-flattened: true
  collection:
    x-apiture-version: 2.0.0
    title: Collection
    description: A collection of resources. This is an abstract model schema which is extended to define specific resource collections.
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/collection/v2.0.0/model.json'
    x-apiture-namespace: common
    x-apiture-composition:
      - $ref: '#/definitions/abstractResource'
      - properties:
          - count
          - start
          - limit
          - name
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
      _error:
        description: An object which describes an error. This value is omitted if the operation succeeded without error.
        type: object
        allOf:
          - $ref: '#/definitions/error'
      count:
        description: >-
          The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
          is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
          filter.
        type: integer
      start:
        description: The start index of this page of items.
        type: integer
      limit:
        description: The maximum number of items per page.
        type: integer
      name:
        description: The name of the collection.
        type: string
    type: object
    x-apiture-flattened: true
  labelGroup:
    title: Label Group
    description: >-
      A map that defines labels for the items in a group. This is a map from each item *name* &rarr; *a [`labelItem`](#schema-labelitem) object*. For
      example, consider a JSON response that includes a property named `revenueEstimate`; the values for `revenueEstimate` must be one of the items in
      the group named `estimatedAnnualRevenue`, with options ranging `under1Million`, to `over100Million`. The item name is used as the selected value
      in an Apiture representation, such as `{ ..., "revenueEstimate" : "from10to100Million" , ...}`, and the item with the name `from10to100Million`
      defines the presentation labels for that item, as well as other metadata about that choice: this is the range `[10000000.00,100000000.00)`.


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

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

      Note that the `other` item is hidden from the selection list, as that item is marked as `hidden`. For items which define numeric ranges, a
      client may instead let the customer *directly* enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match
      that number to one of ranges in the items and set the `revenueEstimate` to the corresponding item's name: `{ ..., "revenueEstimate" :
      "from1to10Million", ... }`.
    x-apiture-key: labelName
    additionalProperties:
      $ref: '#/definitions/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
    x-apiture-version: 1.0.0
    type: object
    properties: {}
    x-apiture-flattened: true
  individualIdentification:
    title: Individual Identification
    x-apiture-fragment: true
    description: This object contains key identification information for a person associated with digital banking.
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/individualIdentification/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/contactName'
      - $ref: '#/definitions/addresses'
      - properties:
          - taxId
          - citizen
          - emailAddress
    properties:
      firstName:
        description: The person's first name (or given name).
        type: string
      middleName:
        description: The person's middle name.
        type: string
      lastName:
        description: The person's last name (or surname).
        type: string
      addresses:
        description: An array of postal/mailing addresses.
        type: array
        items:
          type: object
          $ref: '#/definitions/address'
      preferredMailingAddressId:
        description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
        type: string
        minLength: 1
        maxLength: 4
      taxId:
        description: Official government identification (tax ID) for this person.
        type: string
      citizen:
        description: Indicates if the person is a (US) citizen.
        type: boolean
      emailAddress:
        description: Optional email address.
        type: string
        format: email
    type: object
    x-apiture-flattened: true
  authorizationType:
    title: Account Authorization type
    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.
    type: string
    x-apiture-enum: authorizationType
    enum:
      - primary
      - joint
      - authorizedSigner
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/authorizationType/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  phoneNumberType:
    title: Phone Number Type
    description: >-
      The type or role of this phone number.


      **Warning**: the `enum` list will be removed in a future release. and the values defined at runtime via the `phoneNumberType` label group in the
      response from the [`getLabels`](#op-getLabels) operation.
    type: string
    x-apiture-choice: phoneNumberType
    enum:
      - unknown
      - home
      - work
      - mobile
      - fax
      - other
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumberType/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  addressType:
    title: Address Type
    description: >-
      The type of a postal address.


      **Warning**: the `enum` list will be removed in a future release. and the values defined at runtime via the `addressType` label group 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-resolved-from: 'https://production.api.apiture.com/schemas/contacts/addressType/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  abstractRequest:
    x-apiture-version: 2.0.0
    title: Abstract Request
    description: >-
      An abstract schema used to define other request-only schemas. This is a [HAL](https://tools.ietf.org/html/draft-kelly-json-hal-08) resource
      representation, minus the `_error` defined in `abstractResource`.
    properties:
      _links:
        description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
        $ref: '#/definitions/links'
      _embedded:
        description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
        type: object
      _profile:
        description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
        type: string
        format: uri
    example:
      _profile: '{uri of resource profile.json}'
      _links:
        self:
          href: '{uri of current resource}'
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/model.json'
    x-apiture-namespace: common
    type: object
    x-apiture-flattened: true
  error:
    x-apiture-version: 2.0.0
    title: Error
    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: '#/definitions/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: '#/definitions/error'
      _links:
        $ref: '#/definitions/links'
    example:
      _id: 2eae46e1575c0a7b0115a4b3
      message: Descriptive error message...
      statusCode: 422
      type: errorType1
      remediation: Remediation string...
      occurredAt: '2018-01-25T05:50:52.375Z'
      errors:
        - _id: ccdbe2c5c938a230667b3827
          message: An optional embedded error
        - _id: dbe9088dcfe2460f229338a3
          message: Another optional embedded error
      _links:
        describedby:
          href: 'https://developer.apiture.com/errors/errorType1'
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/error/v2.0.0/model.json'
    x-apiture-namespace: common
    type: object
    x-apiture-flattened: true
  emailType:
    title: Email Type
    description: |-
      The kind of email address.


      **Warning**: the `enum` list will be removed in a future release.
      and the values defined at runtime via the `emailType`
      label group in the response from the [`getLabels`](#op-getLabels) operation.
    type: string
    x-apiture-choice: emailType
    enum:
      - unknown
      - personal
      - work
      - school
      - other
      - notApplicable
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/emailType/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  addresses:
    title: Addresses
    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:
          type: object
          $ref: '#/definitions/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-resolved-from: 'https://production.api.apiture.com/schemas/contacts/addresses/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    type: object
    x-apiture-flattened: true
  emailAddresses:
    title: Email Addresses
    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: '#/definitions/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-resolved-from: 'https://production.api.apiture.com/schemas/contacts/emailAddresses/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    type: object
    x-apiture-flattened: true
  phoneNumbers:
    title: Phone Numbers
    description: A list of phone numbers and the preferred phone number.
    x-apiture-fragment: true
    properties:
      phones:
        description: An array of phone numbers.
        type: array
        items:
          $ref: '#/definitions/phoneNumber'
      preferredPhoneId:
        description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
        type: string
        minLength: 1
        maxLength: 4
    example:
      phones:
        - _id: hp1
          type: home
          number: (555) 555-5555
        - _id: mp1
          type: mobile
          number: (999) 555-5555
      preferredPhoneId: hp1
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumbers/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    type: object
    x-apiture-flattened: true
  simpleContactFields:
    title: Simple Contact Fields
    description: Additional properties for a person or contact.
    x-apiture-fragment: true
    type: object
    properties:
      prefix:
        description: A title or honorific prefix such as Dr. or Fr.
        type: string
        maxLength: 20
      suffix:
        description: A title or honorific suffix such as PhD or DDS.
        type: string
        maxLength: 20
      preferredName:
        description: >-
          The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
          `firstName`.
        type: string
      identification:
        description: A collection of official identifying information associated with the contact.
        x-apiture-pii: true
        type: array
        items:
          $ref: '#/definitions/identification'
      preferredContactMethod:
        description: The contact's preferred method of communication.
        allOf:
          - $ref: '#/definitions/preferredContactMethod'
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/simpleContactFields/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  links:
    title: Links
    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: '#/definitions/link'
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/links/v1.0.0/model.json'
    x-apiture-namespace: common
    x-apiture-version: 1.0.0
    properties: {}
    x-apiture-flattened: true
  attributes:
    x-apiture-version: 2.0.0
    title: Attributes
    description: An optional map of name/value pairs which contains additional dynamic data about the resource.
    type: object
    x-apiture-key: attributeName
    additionalProperties:
      $ref: '#/definitions/attributeValue'
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/attributes/v2.0.0/model.json'
    x-apiture-namespace: common
    properties: {}
    x-apiture-flattened: true
  labelItem:
    title: Label Item
    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.
    example:
      over100Million:
        label: 'Over $100,000,000.00'
        code: '4'
        range: '[100000000.00,]'
        variants:
          fr:
            label: Plus de $10M
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/labelItem/v1.0.0/model.json'
    x-apiture-namespace: common
    x-apiture-version: 1.0.0
    x-apiture-composition:
      - $ref: '#/definitions/simpleLabel'
      - properties:
          - variants
          - code
          - hidden
          - range
    properties:
      label:
        type: string
        description: A label or title which may be used as labels or other UI controls which present a value.
        example: Board of Directors
      description:
        type: string
        description: A more detailed localized description of a localizable label.
      variants:
        description: >-
          The language-specific variants of this label. The keys in this object are [RFC 7231](https://tools.ietf.org/html/rfc7231#section-3.1.3.1)
          language codes.
        x-apiture-key: languageCode
        type: object
        additionalProperties:
          $ref: '#/definitions/simpleLabel'
        example:
          en:
            label: More then $10M
          es:
            label: Mas de $10M
          fr:
            label: Plus de $10M
      code:
        type: string
        description: 'If the localized value is associated with an external standard or definition, this is a lookup code or key or URI for that value.'
        example: '3'
        minLength: 1
      hidden:
        type: boolean
        description: 'If `true`, this item is normally hidden from the User Interface.'
      range:
        description: >-
          The range of values, if the item describes a bounded numeric value. This is range notation such as `[min,max]`, `(exclusiveMin,max]`,
          `[min,exclusiveMax)`, or `(exclusiveMin,exclusiveMax)`. For example, `[0,100)` is the range greater than or equal to 0 and less than 100. If
          the *min* or *max* value are omitted, that end of the range is unbounded. For example, `(,1000.00)` means less than 1000.00 and
          `[20000.00,]` means 20000.00 or more. The ranges do not overlap or have gaps.
        type: string
        pattern: '^[\[\(](-?(0|[1-9][0-9]*)(\.[0-9]+)?)?,(-?(0|[1-9][0-9]*)(\.[0-9]+)?)?[\]\)]$'
    type: object
    x-apiture-flattened: true
  identification:
    title: Identification
    description: Official identifying information associated with the contact.
    type: object
    required:
      - type
      - value
    properties:
      value:
        description: 'The value of this form of identification (the tax ID as a string, for example)'
        type: string
        x-apiture-pii: true
      type:
        description: The type of this form of identification.
        type: string
        x-apiture-enum: identificationType
        enum:
          - taxId
          - passportNumber
      expiration:
        description: 'The date when the form of identification expires, in [RFC 3339](https://tools.ietf.org/html/rfc3339) `YYYY-MM-DD` format.'
        type: string
        format: date
    example:
      type: taxId
      value: 111-11-1111
      expiration: {}
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/identification/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  preferredContactMethod:
    title: Preferred Contact Method
    description: The contact's preferred method of communication.
    type: string
    enum:
      - unknown
      - sms
      - email
      - other
      - notApplicable
    x-apiture-enum: preferredContactMethod
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/preferredContactMethod/v1.0.0/model.json'
    x-apiture-namespace: contacts
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
  link:
    x-apiture-version: 1.0.0
    title: Link
    description: >-
      Describes a hypermedia link within a `_links` object in HAL representations. In Apiture APIs, links are [HAL
      links](https://developer.apiture.com/docs/concepts/links), but Apiture APIs do not use the `name` or `hreflang` properties of HAL. Apiture links
      _may_ include a `method` property.
    required:
      - href
    properties:
      href:
        type: string
        format: uri
        description: The URI or URI template for the resource/operation this link refers to.
      type:
        type: string
        description: The media type for the resource.
      templated:
        type: boolean
        description: 'If true, the link''s href is a [URI template](https://tools.ietf.org/html/rfc6570).'
      title:
        type: string
        description: An optional human-readable localized title for the link.
      deprecation:
        type: string
        format: uri
        description: 'If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.'
      profile:
        type: string
        format: uri
        description: 'The URI of a profile document, a JSON document which describes the target resource/operation.'
    example:
      href: /contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f
      title: Applicant
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/link/v1.0.0/model.json'
    x-apiture-namespace: common
    type: object
    x-apiture-flattened: true
  attributeValue:
    x-apiture-version: 2.0.0
    title: Attribute Value
    description: The data associated with this attribute.
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/attributeValue/v2.0.0/model.json'
    x-apiture-namespace: common
    type: object
    properties: {}
    x-apiture-flattened: true
  simpleLabel:
    title: Simple Label
    description: A text label and optional description.
    type: object
    required:
      - label
    properties:
      label:
        type: string
        description: A label or title which may be used as labels or other UI controls which present a value.
        example: Board of Directors
      description:
        type: string
        description: A more detailed localized description of a localizable label.
    x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/simpleLabel/v1.0.0/model.json'
    x-apiture-namespace: common
    x-apiture-version: 1.0.0
    x-apiture-flattened: true
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:
  organizationAccessForbidden:
    description: The credentials supplied in the request are insufficient to grant access
    remediation: Check the supplied credentials for validity
  organizationNotFound:
    description: No Organization was found for the specified organizationId
    remediation: Ensure the supplied organizationId corresponds to an organization 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
  preconditionRequiredIfMatchHeader:
    description: The required if-match header was not supplied
    remediation: Send a valid if-match header
  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
x-apiture-annotated-at: '2020-05-28T15:47:40.092Z'
host: api.devbank.apiture.com
