openapi: 3.0.0
servers:
- url: 'https://api.devbank.apiture.com/accountApplications'
x-note: DO NOT EDIT THIS GENERATED FILE. Edit source file src/openapi/openapi.yaml
x-note-generated-by: openapi-schema-resolver
x-note-generated-on: '2020-09-16T08:46:19-0400'
info:
title: Account Applications
description: >
This API manages _applications_ to create new accounts. An account application coordinates the following resources necessary to complete the
application:
* account applicant(s) and their identity verification status
* banking product for the new account
* documents (required documents, uploaded instances, approvals)
* consents the applicant has given (such as terms and conditions for the banking product, electronic consent)
* external funding account and amount (Transfer)
* business verifications (for business accounts)
* workflow/business process used to perform the application process
* application approval
These individual resources will be nested within in the full representation inside the application resource, but are omitted in the summary
application representations that are returned in the `applications` collection. Only the banking product is required to create a new account
application. The application retains snapshots of these objects as they existed when the application was reviewed.
An application may be seeded with initial data. This allows "pre-approved" applications from external sources. All completed applications (whether
`approved` or `rejected`) are retained indefinitely for auditing purposes. Incomplete applications expire after 30 days of inactivity or a period
specified by the financial institution in the service configuration.
Each banking product (such as a checking account or money market account) has an association to an _account application workflow definition_ which
defines the business process for opening a new account for that product. This workflow is a set of tasks the user must perform in order to open a
new account for that product. This service instantiates the workflow, sets the `accountApplication`, `accountApplicant`, `product`,
`fundingAccount`, and `organization` properties of the workflow instance, and starts the workflow.
**Note:** A task in the workflow typically performs the actual account creation. A valid account is necessary for an _initial funding_ operation
to occur.
Each application maintains a `state` field which indicates the state of that application: `pending`, `running`, `canceled`, `expired`, `rejected`,
`approved`. The `pending` state is reserved for future use. The default state when creating a new application is `running`'
Allowed state transitions are:
* `running` → `canceled` | `expired` | `approved` | `rejected`
* `blocked` → `running` | `canceled` | `expired` | `approved` | `rejected`
The service will also change an application's state from `blocked` to `running` once the condition that is blocking the application has changed
(such as completion of workflow tasks or financial institution approvals.)
This API also manages _enrollments_, which represent a new user enrolling in on-line digital banking. Enrollments consist of collecting personal
information (name, address, phone, email, tax ID) and other personal data. Enrollments also support Customer Identification Program regulatory
requirements, also known as "Know Your Customer", by verifying the user's identity and ensuring they are not involved with fraud or other risk
factors. Enrollments are used when new users register in response to invitations to become joint owners or authorized signers on existing
accounts. State transitions for enrollments are similar to those for applications.
Note: This API uses the base path `/accountApplications` to avoid confusion with _software applications_.
version: 0.18.1
contact:
name: Apiture
url: 'https://developer.apiture.com'
email: api@apiture.com
termsOfService: 'https://developer.apiture.com/docs/Apiture-Open-API-License-Agreement.pdf'
tags:
- name: Account Application
description: Application for a new banking account
- name: Account Application Actions
description: Operations to update the state of an application
- name: Enrollment
description: Operations to update an enrollment
- name: Enrollment Actions
description: Operations which act on enrollments
- name: API
description: Endpoints which describe this API
- name: Configuration
description: A set of endpoints that allows for the creation and retrieval of configuration options specific to this service
paths:
/expiredApplications:
post:
operationId: expireApplication
security:
- apiKey: []
accessToken:
- data/write
summary: Expire an application
description: >-
Update an application by adding it to the set of expired applications. This changes the `state` property of the application to `expired`. This
operation is available via the `apiture:expire` link on the application resource, if and only if the application is eligible for the expire
operation. The response is the updated representation of the application. The `If-Match` request header value, if passed, must match the
current entity tag value of the application.
This operation is valid if the current state of the application is `running`, or `blocked`. This operation does nothing if the state is
already `expired`. This is a _terminal_ state: the application state cannot be changed once it has expired.
tags:
- Account Application Actions
parameters:
- $ref: '#/components/parameters/applicationQueryParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK. The operation succeeded. The application was updated and its `state` changed to `expired`.
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update the resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
'400':
$ref: '#/components/responses/400ExpireApplication'
'409':
$ref: '#/components/responses/409ExpireApplicationConflict'
/rejectedApplications:
post:
operationId: rejectApplication
security:
- apiKey: []
accessToken:
- data/write
summary: Reject an application
description: >-
Reject an account application. This changes the `state` property of the application to `rejected`. This operation is available via the
`apiture:reject` link on the application resource, if and only if the application is eligible for the reject operation. The response is the
updated representation of the application. The `If-Match` request header value, if passed, must match the current entity tag value of the
application.
This operation is valid if the current state of the application is `running`, or `blocked`. This operation does nothing if the state is
already `rejected`. This is a _terminal_ state: the application state cannot be changed once it has been rejected.
tags:
- Account Application Actions
parameters:
- $ref: '#/components/parameters/applicationQueryParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK. The operation succeeded. The application was updated and its `state` changed to `rejected`.
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update the resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
'400':
$ref: '#/components/responses/400RejectApplication'
'409':
$ref: '#/components/responses/409RejectApplicationConflict'
/approvedApplications:
post:
operationId: approveApplication
security:
- apiKey: []
accessToken:
- banking/write
- profiles/write
- data/write
summary: Approve an application
description: >-
Approve an account application. This changes the `state` property of the application to `approved`. This operation is available via the
`apiture:approve` link on the application resource, if and only if the application is eligible for the approve operation. The response is the
updated representation of the application. The `If-Match` request header value, if passed, must match the current entity tag value of the
application.
This operation is valid if the current state of the application is `running`, or `blocked`. This operation does nothing if the state is
already `approved`. This is a _terminal_ state: the application state cannot be changed once it has been approved.
tags:
- Account Application Actions
parameters:
- $ref: '#/components/parameters/applicationQueryParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK. The operation succeeded. The application was updated and its `state` changed to `approved`.
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update the resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
'400':
$ref: '#/components/responses/400ApproveApplication'
'409':
$ref: '#/components/responses/409ApproveApplicationConflict'
/canceledApplications:
post:
operationId: cancelApplication
security:
- apiKey: []
accessToken:
- data/write
summary: Cancel an application
description: >-
Cancel an account application. This changes the `state` property of the application to `canceled`. This also cancels the application workflow.
This operation is available via the `apiture:cancel` link on the application resource, if and only if the application is eligible for the
cancel operation. The response is the updated representation of the application. The `If-Match` request header value, if passed, must match
the current entity tag value of the application.
This operation is valid if the current state of the application is `running`, or `blocked`. This operation does nothing if the state is
already `canceled`. This is a _terminal_ state: the application state cannot be changed once it has been canceled.
tags:
- Account Application Actions
parameters:
- $ref: '#/components/parameters/applicationQueryParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK. The operation succeeded. The application was updated and its `state` changed to `canceled`.
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update the resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
'400':
$ref: '#/components/responses/400CancelApplication'
'409':
$ref: '#/components/responses/409CancelApplicationConflict'
/runningApplications:
post:
operationId: startApplication
security:
- apiKey: []
accessToken:
- banking/write
- profiles/write
- data/write
summary: Start an application
description: >-
Start an application by adding it to the set of running applications. This changes the `state` property of the application to `running`. This
operation is available via the `apiture:start` link on the application resource, if and only if the application is eligible for the start
operation. The response is the updated representation of the application. The `If-Match` request header value, if passed, must match the
current entity tag value of the application.
This operation is only valid if the current state of the application is `blocked`. This operation does nothing if the state is already
`running`.
parameters:
- $ref: '#/components/parameters/applicationQueryParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
tags:
- Account Application Actions
responses:
'200':
description: OK. The operation succeeded. The application was updated and its `state` changed to `running`.
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update the resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
'400':
$ref: '#/components/responses/400StartApplication'
'409':
$ref: '#/components/responses/409StartApplicationConflict'
get:
summary: 'Return a collection of active, running account applications'
description: >-
Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting)
[filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searching)
collection of active running account applications. The [links](https://developer.apiture.com/docs/concepts/links) in the response include
pagination links. This is a virtual view of all applications, filtered to those whose state is `running`.
operationId: getRunningApplications
security:
- apiKey: []
accessToken:
- data/read
tags:
- Account Application
x-apiture-traits:
sortBy:
- name
- state
itemSchema: accountApplication
filters:
name:
filter:
- eq
- ne
- lt
- le
- gt
- ge
- startsWith
- endsWith
- contains
- search
state:
filter:
- eq
- ne
- in
parameters:
- name: start
in: query
description: The zero-based index of the first account application item to include in this page. The default 0 denotes the beginning of the collection.
schema:
type: integer
format: int64
default: 0
- name: limit
in: query
description: The maximum number of account application representations to return in this page.
schema:
type: integer
format: int32
default: 100
- name: sortBy
in: query
description: 'Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
schema:
type: string
- $ref: '#/components/parameters/filterQueryParam'
- $ref: '#/components/parameters/qQueryParam'
- $ref: '#/components/parameters/stateQueryParam'
- $ref: '#/components/parameters/nameQueryParam'
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: '#/components/schemas/applications'
application/json:
schema:
$ref: '#/components/schemas/applications'
'400':
$ref: '#/components/responses/400'
'422':
$ref: '#/components/responses/422'
/blockedApplications:
get:
summary: Return a collection of blocked account applications
description: >-
Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting)
[filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searching)
collection of active running account applications. The [links](https://developer.apiture.com/docs/concepts/links) in the response include
pagination links. This is a virtual view of all applications, filtered to those whose state is `blocked`.
operationId: getBlockedApplications
security:
- apiKey: []
accessToken:
- data/read
tags:
- Account Application
parameters:
- name: start
in: query
description: The zero-based index of the first account application item to include in this page. The default 0 denotes the beginning of the collection.
schema:
type: integer
format: int64
default: 0
- name: limit
in: query
description: The maximum number of account application representations to return in this page.
schema:
type: integer
format: int32
default: 100
- name: sortBy
in: query
description: 'Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
schema:
type: string
- $ref: '#/components/parameters/filterQueryParam'
- $ref: '#/components/parameters/qQueryParam'
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: '#/components/schemas/applications'
application/json:
schema:
$ref: '#/components/schemas/applications'
'400':
$ref: '#/components/responses/400'
'422':
$ref: '#/components/responses/422'
/applications:
get:
summary: Return a collection of account applications
description: >-
Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting)
[filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searching)
collection of account applications. The [links](https://developer.apiture.com/docs/concepts/links) in the response include pagination links.
Not all nested objects are supported for filtering or sorting applications. The following fields may be used: `accountName`, `applicantName`,
`productName`, `organizationName', `state`, `createdAt`, `completedAt`
operationId: getApplications
security:
- apiKey: []
accessToken:
- data/read
tags:
- Account Application
parameters:
- name: start
in: query
description: The zero-based index of the first account application item to include in this page. The default 0 denotes the beginning of the collection.
schema:
type: integer
format: int64
default: 0
- name: limit
in: query
description: The maximum number of account application representations to return in this page.
schema:
type: integer
format: int32
default: 100
- name: sortBy
in: query
description: 'Optional sort criteria. See [sort criteria format](https://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
schema:
type: string
- name: applicant
in: query
description: >-
Filter applications by applicant. The value must be an applicant's _contact_ URI, not the URI of a user. (To find applications for a
_user_, pass the `href` from the `apiture:contact` link on the user resource.) An application resource is included in the response if and
only if the named contact is among the application's `applicants`. This query parameter exists for administrator use. The collection is
automatically filtered to applications which a user created for non-administrator users.
schema:
type: string
- $ref: '#/components/parameters/filterQueryParam'
- $ref: '#/components/parameters/qQueryParam'
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: '#/components/schemas/applications'
application/json:
schema:
$ref: '#/components/schemas/applications'
'400':
$ref: '#/components/responses/400'
'422':
$ref: '#/components/responses/422'
post:
summary: Create a new account application
description: >-
Create a new account application. This also creates and starts the workflow that is associated with the primary banking product in the request
body. The client should execute any interactive workflow tasks until the workflow reaches a terminal state and the system approves or rejects
the application or the user cancels the application. Users can have only one running application at a time.
operationId: createApplication
security:
- apiKey: []
accessToken:
- banking/write
- profiles/write
- data/write
tags:
- Account Application
responses:
'201':
description: Created
headers:
Location:
description: >-
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with
*`scheme`*`://host`
schema:
type: string
format: uri
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update the resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
'400':
$ref: '#/components/responses/400'
requestBody:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/createApplication'
application/json:
schema:
$ref: '#/components/schemas/createApplication'
description: The data necessary to create a new account application.
required: true
'/applications/{applicationId}':
get:
summary: Fetch a representation of this account application
description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of this account application resource.'
operationId: getApplication
security:
- apiKey: []
accessToken:
- banking/read
- profiles/read
- data/read
tags:
- Account Application
parameters:
- $ref: '#/components/parameters/applicationIdPathParam'
- $ref: '#/components/parameters/ifNoneMatchHeaderParam'
responses:
'200':
description: OK
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update this account application resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
'304':
$ref: '#/components/responses/304'
'404':
$ref: '#/components/responses/404Application'
put:
summary: Update this account application
description: Perform a complete replacement of this account application.
operationId: updateApplication
security:
- apiKey: []
accessToken:
- banking/write
- profiles/write
- data/write
tags:
- Account Application
parameters:
- $ref: '#/components/parameters/applicationIdPathParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update this account application resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404Application'
'412':
$ref: '#/components/responses/412'
'422':
$ref: '#/components/responses/422'
requestBody:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
required: true
patch:
summary: Update this account application
description: >-
Perform a partial update of this account application. Fields which are omitted are not updated. Nested `_embedded` and `_links` are ignored if
included.
operationId: patchApplication
security:
- apiKey: []
accessToken:
- banking/write
- profiles/write
- data/write
tags:
- Account Application
parameters:
- $ref: '#/components/parameters/applicationIdPathParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update this account application resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404Application'
'412':
$ref: '#/components/responses/412'
'422':
$ref: '#/components/responses/422'
requestBody:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
required: true
delete:
summary: Delete an unused or expired application
description: >-
Delete this account application resource. An application may only be deleted by the user if its `state` is `pending`, or by a financial
institution if its `state` is `expired`.
operationId: deleteApplication
security:
- apiKey: []
accessToken:
- banking/delete
- profiles/delete
- data/delete
tags:
- Account Application
parameters:
- $ref: '#/components/parameters/ifMatchHeaderParam'
- $ref: '#/components/parameters/applicationIdPathParam'
responses:
'204':
$ref: '#/components/responses/204Deleted'
'409':
description: >-
Conflict. An application not be deleted by the applicant if the `state` is anything other than `pending`, or by the financial institution
if the `state` is `expired`.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
'412':
$ref: '#/components/responses/412'
/configurations:
get:
summary: Configuration definition for this API
description: Returns the configuration for this API
operationId: getConfiguration
security:
- apiKey: []
accessToken:
- admin/read
tags:
- Configuration
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: '#/components/schemas/configuration'
application/json:
schema:
$ref: '#/components/schemas/configuration'
/configurations/groups:
get:
summary: Return a collection of configuration groups
description: >-
Return a [paginated](https://developer.apiture.com/docs/concepts/pagination) [sortable](https://developer.apiture.com/docs/concepts/sorting)
[filterable](https://developer.apiture.com/docs/concepts/filtering) [searchable](https://developer.apiture.com/docs/concepts/searchable)
collection of configuration groups. The [links](https://developer.apiture.com/docs/concepts/links) in the response include pagination links.
operationId: getConfigurationGroups
security:
- apiKey: []
accessToken:
- admin/read
tags:
- Configuration
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: '#/components/schemas/configurationGroups'
application/json:
schema:
$ref: '#/components/schemas/configurationGroups'
'400':
$ref: '#/components/responses/400'
'422':
$ref: '#/components/responses/422'
'/configurations/groups/{groupName}':
get:
summary: Fetch a representation of this configuration group
description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of this configuration group resource.'
operationId: getConfigurationGroup
security:
- apiKey: []
accessToken:
- admin/read
tags:
- Configuration
parameters:
- $ref: '#/components/parameters/configurationGroupNamePathParam'
- $ref: '#/components/parameters/ifNoneMatchHeaderParam'
responses:
'200':
description: OK
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which may be provided in an `If-None-Match` request header for *`GET`* operations
for this configuration group resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/configurationGroup'
application/json:
schema:
$ref: '#/components/schemas/configurationGroup'
'304':
$ref: '#/components/responses/304'
'404':
$ref: '#/components/responses/404ConfigurationGroup'
'412':
$ref: '#/components/responses/412'
'/configurations/groups/{groupName}/schema':
get:
summary: Fetch the schema for this configuration group
description: 'Return a [HAL](https://developer.apiture.com/docs/concepts/hal) representation of this configuration group schema resource.'
operationId: getConfigurationGroupSchema
security:
- apiKey: []
accessToken:
- admin/read
tags:
- Configuration
parameters:
- $ref: '#/components/parameters/configurationGroupNamePathParam'
- $ref: '#/components/parameters/ifNoneMatchHeaderParam'
responses:
'200':
description: OK
headers:
ETag:
description: The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`*
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/configurationSchema'
application/json:
schema:
$ref: '#/components/schemas/configurationSchema'
'304':
$ref: '#/components/responses/304'
'404':
$ref: '#/components/responses/404ConfigurationGroup'
'/configurations/groups/{groupName}/values':
get:
summary: Fetch the values for the specified configuration group
description: Return a representation of this configuration group values resource.
operationId: getConfigurationGroupValues
security:
- apiKey: []
accessToken:
- admin/read
tags:
- Configuration
parameters:
- $ref: '#/components/parameters/configurationGroupNamePathParam'
- $ref: '#/components/parameters/ifNoneMatchHeaderParam'
responses:
'200':
description: OK
headers:
ETag:
description: The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`*
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/configurationValues'
application/json:
schema:
$ref: '#/components/schemas/configurationValues'
'304':
$ref: '#/components/responses/304'
'404':
$ref: '#/components/responses/404ConfigurationGroup'
put:
summary: Update the values for the specified configuration group
description: Perform a complete replacement of this set of values
operationId: updateConfigurationGroupValues
security:
- apiKey: []
accessToken:
- admin/write
tags:
- Configuration
parameters:
- $ref: '#/components/parameters/configurationGroupNamePathParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK
headers:
ETag:
description: The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`*
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/configurationSchema'
application/json:
schema:
$ref: '#/components/schemas/configurationSchema'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404ConfigurationGroup'
'412':
$ref: '#/components/responses/412'
requestBody:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/configurationValues'
application/json:
schema:
$ref: '#/components/schemas/configurationValues'
required: true
'/configurations/groups/{groupName}/values/{valueName}':
get:
summary: Fetch a single value associated with the specified configuration group
description: >-
Fetch a single value associated with this configuration group. This provides convenient access to individual values of the configuration
group.
The response is always a JSON value which can be parsed with a strict JSON parser. The response may be
* a primitive number, boolean, or quoted JSON string.
* a JSON array.
* a JSON object.
* `null`.
Examples:
* `"a string configuration value"`
* `120`
* `true`
* `null`
* `{ "borderWidth": 8, "foregroundColor": "blue" }`
To update a specific value, use `PUT /accountApplications/configurations/groups/{groupName}/values/{valueName}` (operation
`updateConfigurationGroupValue`).
operationId: getConfigurationGroupValue
security:
- apiKey: []
accessToken:
- admin/read
tags:
- Configuration
parameters:
- $ref: '#/components/parameters/configurationGroupNamePathParam'
- $ref: '#/components/parameters/configurationGroupValueNamePathParam'
responses:
'200':
description: 'OK. The value of the named configuration value as a JSON string, number, boolean, array, or object.'
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update this configuration group resource.
schema:
type: string
content:
application/hal+json:
schema:
type: string
application/json:
schema:
type: string
'404':
$ref: '#/components/responses/404ConfigurationGroupOrValue'
put:
summary: Update a single value associated with the specified configuration group
description: >-
Update a single value associated with this configuration group. This provides convenient access to individual values of the configuration
group as defined in the configuration group's `schema`. The request body must conform to the configuration group's schema for the named
`{valueName}`. This operation is idempotent.
The request body must be a JSON value which can be parsed with a strict JSON parser. The response may be
* a primitive number, boolean, or quoted JSON string.
* a JSON array.
* a JSON object.
* `null`.
Examples:
* `"a string configuration value"`
* `120`
* `true`
* `null`
* `{ "borderWidth": 8, "foregroundColor": "blue" }`
To fetch specific value, use `GET /accountApplications/configurations/groups/{groupName}/values/{valueName}` (operation
`getConfigurationGroupValue`).
operationId: updateConfigurationGroupValue
security:
- apiKey: []
accessToken:
- admin/write
tags:
- Configuration
parameters:
- $ref: '#/components/parameters/configurationGroupNamePathParam'
- $ref: '#/components/parameters/configurationGroupValueNamePathParam'
responses:
'200':
description: OK
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update this configuration group resource.
schema:
type: string
content:
application/hal+json:
schema:
type: string
application/json:
schema:
type: string
'403':
description: Access denied. Only user allowed to update configurations is an admin.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
requestBody:
content:
application/hal+json:
schema:
type: string
application/json:
schema:
type: string
description: >-
The request body must a valid JSON value and should be parsable with a JSON parser. The result may be a string, number, boolean, array, or
object.
required: true
/enrollments:
get:
summary: Return a collection of enrollments
description: >-
Return a [paginated](http://developer.apiture.com/docs/concepts/pagination) [sortable](http://developer.apiture.com/docs/concepts/sorting)
[filterable](http://developer.apiture.com/docs/concepts/filtering) [searchable](http://developer.apiture.com/docs/concepts/searching)
collection of enrollments. The [links](http://developer.apiture.com/docs/concepts/links) in the response include pagination links.
operationId: getEnrollments
tags:
- Enrollment
parameters:
- name: start
in: query
description: The zero-based index of the first enrollment item to include in this page. The default 0 denotes the beginning of the collection.
schema:
type: integer
format: int64
default: 0
- name: limit
in: query
description: The maximum number of enrollment representations to return in this page.
schema:
type: integer
format: int32
default: 100
- name: sortBy
in: query
description: 'Optional sort criteria. See [sort criteria format](http://developer.apiture.com/docs/concepts/sorting), such as `?sortBy=field1,-field2`.'
schema:
type: string
- $ref: '#/components/parameters/filterQueryParam'
- $ref: '#/components/parameters/qQueryParam'
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: '#/components/schemas/enrollments'
application/json:
schema:
$ref: '#/components/schemas/enrollments'
'400':
$ref: '#/components/responses/400'
'422':
$ref: '#/components/responses/422'
security:
- apiKey: []
accessToken:
- admin/read
post:
summary: Create a new enrollment
description: >-
Create a new enrollment. Creating an enrollment will create and start the workflow that is defined for enrollment in digital banking. The
client should execute any interactive workflow tasks until the workflow reaches a terminal state and the system approves or rejects the
application or the user cancels the application. A user may have only one active enrollment at a time.
operationId: createEnrollment
tags:
- Enrollment
responses:
'201':
description: Created
headers:
Location:
description: >-
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with
*`scheme`*`://host`
schema:
type: string
format: uri
ETag:
description: An entity tag which may be passed in the `If-Match` request header for *`PUT`* or *`PATCH`* operations which update the resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/enrollment'
application/json:
schema:
$ref: '#/components/schemas/enrollment'
'400':
$ref: '#/components/responses/400'
security:
- apiKey: []
accessToken:
- data/read
- profile/read
requestBody:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/createEnrollment'
application/json:
schema:
$ref: '#/components/schemas/createEnrollment'
description: The data necessary to create a new enrollment.
required: true
'/enrollments/{enrollmentId}':
get:
summary: Fetch a representation of this enrollment
description: 'Return a [HAL](http://developer.apiture.com/docs/concepts/hal) representation of this enrollment resource.'
operationId: getEnrollment
tags:
- Enrollment
parameters:
- $ref: '#/components/parameters/enrollmentIdPathParam'
- $ref: '#/components/parameters/ifNoneMatchHeaderParam'
responses:
'200':
description: OK
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update this enrollment resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/enrollment'
application/json:
schema:
$ref: '#/components/schemas/enrollment'
'304':
$ref: '#/components/responses/304'
'404':
$ref: '#/components/responses/404Enrollment'
security:
- apiKey: []
accessToken:
- profiles/read
- data/read
put:
summary: Update this enrollment
description: Perform a complete replacement of this enrollment.
operationId: updateEnrollment
tags:
- Enrollment
parameters:
- $ref: '#/components/parameters/enrollmentIdPathParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update this enrollment resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/enrollment'
application/json:
schema:
$ref: '#/components/schemas/enrollment'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404Enrollment'
'412':
$ref: '#/components/responses/412'
'422':
$ref: '#/components/responses/422'
security:
- apiKey: []
accessToken:
- profiles/write
- data/write
requestBody:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/enrollment'
application/json:
schema:
$ref: '#/components/schemas/enrollment'
required: true
patch:
summary: Update this enrollment
description: >-
Perform a partial update of this enrollment. Fields which are omitted are not updated. Nested `_embedded` and `_links` are ignored if
included.
operationId: patchEnrollment
tags:
- Enrollment
parameters:
- $ref: '#/components/parameters/enrollmentIdPathParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update this enrollment resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/enrollment'
application/json:
schema:
$ref: '#/components/schemas/enrollment'
'400':
$ref: '#/components/responses/400'
'404':
$ref: '#/components/responses/404Enrollment'
'412':
$ref: '#/components/responses/412'
'422':
$ref: '#/components/responses/422'
security:
- apiKey: []
accessToken:
- profiles/write
- data/write
requestBody:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/enrollment'
application/json:
schema:
$ref: '#/components/schemas/enrollment'
required: true
delete:
summary: Delete this enrollment resource
description: Delete this enrollment resource and any resources that are owned by it.
operationId: deleteEnrollment
tags:
- Enrollment
parameters:
- $ref: '#/components/parameters/enrollmentIdPathParam'
responses:
'204':
$ref: '#/components/responses/204Deleted'
security:
- apiKey: []
accessToken:
- profiles/delete
- data/delete
/rejectedEnrollments:
post:
operationId: rejectEnrollment
summary: Reject an enrollment
description: >-
Reject an enrollment. This changes the `state` property of the enrollment to `rejected`. This operation is available via the `apiture:reject`
link on the enrollment resource, if and only if the enrollment is eligible for the reject operation. The response is the updated
representation of the enrollment. The `If-Match` request header value, if passed, must match the current entity tag value of the enrollment.
This operation is valid if the current state of the enrollment is `running`, or `blocked`. This operation does nothing if the state is already
`rejected`. This is a _terminal_ state: the enrollment state cannot be changed once it has been rejected. Only service or administrator can
call this operation, not end users.
tags:
- Enrollment Actions
security:
- apiKey: []
accessToken:
- profiles/write
- data/write
- admin/write
parameters:
- $ref: '#/components/parameters/enrollmentQueryParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK. The operation succeeded. The enrollment was updated and its `state` changed to `rejected`.
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update the resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/enrollment'
application/json:
schema:
$ref: '#/components/schemas/enrollment'
'400':
$ref: '#/components/responses/400RejectEnrollment'
'409':
$ref: '#/components/responses/409RejectEnrollmentConflict'
'412':
$ref: '#/components/responses/412'
/approvedEnrollments:
post:
operationId: approveEnrollment
summary: Approve an enrollment
description: >-
Approve an enrollment. This changes the `state` property of the enrollment to `approved`. This operation is available via the
`apiture:approve` link on the enrollment resource, if and only if the enrollment is eligible for the approve operation, if the user has
completed all enrollment requirements such as passing identity verification and accepting digital banking terms of use and the financial
institution's privacy policy. The response is the updated representation of the enrollment. The `If-Match` request header value, if passed,
must match the current entity tag value of the enrollment.
This operation is valid if the current state of the enrollment is `running`, or `blocked`. This operation does nothing if the state is already
`approved`. This is a _terminal_ state: the enrollment state cannot be changed once it has been approved. This operation can be called by
services or administrators only, not end users.
tags:
- Enrollment Actions
security:
- apiKey: []
accessToken:
- banking/write
- profiles/write
- data/write
- admin/write
parameters:
- $ref: '#/components/parameters/enrollmentQueryParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK. The operation succeeded. The enrollment was updated and its `state` changed to `approved`.
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update the resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/enrollment'
application/json:
schema:
$ref: '#/components/schemas/enrollment'
'400':
$ref: '#/components/responses/400ApproveEnrollment'
'409':
$ref: '#/components/responses/409ApproveEnrollmentConflict'
'412':
$ref: '#/components/responses/412'
/canceledEnrollments:
post:
operationId: cancelEnrollment
summary: Cancel an enrollment
description: >-
Cancel an enrollment. This changes the `state` property of the enrollment to `canceled`. This operation is available via the `apiture:cancel`
link on the enrollment resource, if and only if the enrollment is eligible for the cancel operation. The response is the updated
representation of the enrollment. The `If-Match` request header value, if passed, must match the current entity tag value of the enrollment.
This operation is valid if the current state of the enrollment is `running`, or `blocked`. This operation does nothing if the state is already
`canceled`. This is a _terminal_ state: the enrollment state cannot be changed once it has been canceled.
tags:
- Enrollment Actions
security:
- apiKey: []
accessToken:
- profiles/write
- data/write
parameters:
- $ref: '#/components/parameters/enrollmentQueryParam'
- $ref: '#/components/parameters/ifMatchHeaderParam'
responses:
'200':
description: OK. The operation succeeded. The enrollment was updated and its `state` changed to `canceled`.
headers:
ETag:
description: >-
The `ETag` response header specifies an entity tag which must be provided in an `If-Match` request header for *`PUT`* or *`PATCH`*
operations which update the resource.
schema:
type: string
content:
application/hal+json:
schema:
$ref: '#/components/schemas/enrollment'
application/json:
schema:
$ref: '#/components/schemas/enrollment'
'400':
$ref: '#/components/responses/400CancelEnrollment'
'409':
$ref: '#/components/responses/409CancelEnrollmentConflict'
'412':
$ref: '#/components/responses/412'
/:
get:
summary: Top-level resources and operations in this API
description: Return links to the top-level resources and operations in this API.
operationId: getApi
security:
- apiKey: []
responses:
'200':
description: OK
content:
application/hal+json:
schema:
$ref: '#/components/schemas/root'
application/json:
schema:
$ref: '#/components/schemas/root'
tags:
- API
/apiDoc:
get:
summary: Return API definition document
description: Return the OpenAPI document that describes this API.
operationId: getApiDoc
security:
- apiKey: []
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
application/openapi+json;version=2.0:
schema:
type: object
application/openapi+yaml;version=2.0:
schema:
type: object
application/hal+json:
schema:
type: object
tags:
- API
x-apiture-traits:
- api:
title: Account Applications
basePath: accountApplications
links:
- getApplications
- createApplication
- getApi
- getApiDoc
- getRunningApplications
- getEnrollments
- createEnrollment
applied: true
- resource:
name: account application
resource: application
collection: applications
applied: true
- state:
name: application
state: running
verb: start
applied: true
- state:
name: application
state: canceled
verb: cancel
applied: true
- state:
name: application
state: approved
verb: approve
applied: true
- state:
name: application
state: rejected
verb: reject
applied: true
- state:
name: application
state: expired
verb: expire
applied: true
- resource:
name: enrollment
applied: true
- state:
name: enrollment
state: canceled
verb: cancel
applied: true
- state:
name: enrollment
state: approved
verb: approve
applied: true
- state:
name: enrollment
state: rejected
verb: reject
applied: true
- state:
name: application
state: expired
verb: expire
applied: true
- configurable:
applied: false
- security:
applied: true
baseScope: banking
x-apiture-errors:
applicationNotFound:
description: No applications were found for the specified applicationId
remediation: Check to make sure that the supplied applicationId corresponds to an apiture application resource
invalidContactId:
description: No contact was found for the specified contactId
remediation: Check to make sure that the supplied contactId corresponds to an apiture contact resource
preconditionFailed:
description: The supplied `if-Match` header value does not match the most recent `ETag` response header value. The resource has changed in the interim
remediation: 'Resubmit the operation, supplying the value of the ETag and the most recent state of the resource'
preconditionRequired:
description: Precondition Required. The request did not include the required if-Match header
remediation: 'Resubmit with the operation, supplying the value of the ETag and the most recent state of the resource'
productNotFound:
description: No Products were found for the specified productId
remediation: Check to make sure that the supplied productId corresponds to an apiture product resource
productNotSupplied:
description: A link to the product was not supplied for the account
remediation: Include a link to a valid apiture product in the _links object of your request
internalError:
description: An unexpected internal server error occurred.
remediation: Retry the operation again
emptyRequestBody:
description: The supplied request body was empty
remediation: Check to make sure the body is included in your request
malformedApplicationUri:
description: The supplied applicationUri was malformed
remediation: Check to make sure that the supplied applicationUri corresponds to an apiture application resource
invalidGroupName:
description: No configurationGroup was found for the specified groupName
remediation: Check to make sure that the supplied groupName corresponds to an apiture transfer configuration group resource
invalidValueName:
description: No configurationName was found for the specified valueName
remediation: Check to make sure that the supplied valueName corresponds to an apiture transfer configuration value resource
invalidConfigurationGroup:
description: The request body did not conform to the schema for this configuration group
remediation: Check the schema for the configuration group and resubmit the operation
invalidConfigurationValue:
description: The request body did not conform to the schema for this configuration group value
remediation: Check the schema for the configuration group value and resubmit the operation
invalidApplicationState:
description: Actions on applications may only be performed if they are in one of the required states
remediation: Check the state of your application and the applicable allowed state transitions in the Applications API documentation
attributes:
properties:
currentState:
type: string
description: The current `state` of the the application.
example: expired
requestedState:
type: string
description: The requested new `state` value in the request.
example: approved
requiredStates:
type: array
items:
type: string
description: The set of states the application must be in for the requested state change to be valid.
example:
- running
- blocked
invalidApplicationApproval:
description: Application can only be approved when the workflow is completed and any approval records are approved
remediation: Check the state of the workflow and associated approval records
attributes:
properties:
currentState:
type: string
description: The current `state` of the the application.
example: running
workflowState:
type: string
description: The current `state` of the workflow associated with the application.
example: running
approvalStates:
type: array
items:
type: string
description: The state of the approvals in an application
example:
- approved
- rejected
unverifiedApplications:
description: Initial application is either in process or under review.
remediation: Retry the operation when there are no other in process applications
components:
schemas:
commonFields:
title: Fields Common to Enrollments and Applications
x-apiture-fragment: true
description: Fields common to applications and enrollments (applications to enroll in digital banking).
type: object
properties:
applicantName:
title: Applicant Name
description: >-
The name of the person who started this application or enrollment. This is derived from the applicant resource passed via the first
applicant if present, or the current user.
type: string
maxLength: 128
minLength: 1
readOnly: true
example: Elsa Snowqueen
workflowState:
description: The state of the embedded application workflow. This is derived and immutable.
type: string
readOnly: true
maxLength: 16
minLength: 1
example: running
state:
description: |
The state of the enrollment or application. The values mean:
* *`pending`* - Available to be started (`POST` to the `apiture:start` link to start it).
This state is reserved for future use.
* *`running`* - Started and has not completed or been canceled.
* *`blocked`* - Started but is blocked; there are no available workflow tasks.
* *`canceled`* - Canceled prior to completion
* *`expired`* - Not completed prior to a pre-defined application life cycle term. For example, the FI may set a rule that all applications open longer than 30 days and not completed must be set to expired.
* *`rejected`* - Completed but was rejected after review
* *`approved`* - Completed and approved
The value is updated by the various enrollment or application operations.
type: string
enum:
- pending
- running
- blocked
- canceled
- expired
- rejected
- approved
readOnly: true
example: running
flaggedForReview:
description: >-
`true` if the application is blocked awaiting review from the financial institution. This will be derived from the state and approvals of
the application, and is immutable.
type: boolean
readOnly: true
example: false
createdAt:
description: >-
The date-time when this application was opened/created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format:
`YYYY-MM-DDThh:mm:ss.sssZ`
type: string
readOnly: true
format: date-time
completedAt:
description: >-
The date-time when this application was completed and its final resolution was set (approved, rejected, canceled, or expired). This is in
[RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`
type: string
format: date-time
readOnly: true
x-apiture-flattened: true
applicationFields:
title: Account Application Fields
description: Common fields of the account application resource used to build other model schemas.
properties:
accountName:
description: 'The name of new account. If initially blank, this will be initialized from the name of the first product.'
type: string
maxLength: 128
fundingAmount:
description: How much money the applicant wishes to transfer from the funding account in order to initially fund this new account.
allOf:
- $ref: '#/components/schemas/money'
attributes:
description: >-
An optional map of name/value pairs which provide additional metadata about the application. If this object contain an `accountAtributes`
object, the properties in that object are placed in the `attributes` of the new account that this application creates.
allOf:
- $ref: '#/components/schemas/attributes'
x-apiture-fragment: true
type: object
x-apiture-flattened: true
applicationObjects:
title: Application Objects
description: Additional objects related to a new account application.
x-apiture-fragment: true
type: object
properties:
products:
description: >-
The bank product(s) for this account. The first item in the array is the _primary_ product for the new account. The remaining optional
items in the array are secondary associated products.
type: array
minItems: 1
items:
$ref: '#/components/schemas/summaryProduct'
organization:
description: The optional organization for a non-personal (business) account.
type: object
$ref: '#/components/schemas/organization'
organizationVerification:
description: The results of verifying a business or other organization.
type: object
$ref: '#/components/schemas/businessVerifications'
organizationApprovals:
description: Any Approvals for administrator verification of the organization.
type: array
items:
$ref: '#/components/schemas/approval'
accountApproval:
description: >-
An Approval object which the reviewer can use to approve or reject the entire account application. The `apiture:approve` and
`apiture:reject` links in the resource may be used to reject or approve the applications via `POST` operations (no request body).
allOf:
- $ref: '#/components/schemas/approval'
fundingAccount:
description: Contact information about the applicant.
type: object
$ref: '#/components/schemas/verifiedTransferAccount'
newAccounts:
description: >-
New accounts opened via this application. This array has a one-to-one mapping to the `products` array. Use the `self` link in each item's
`_links` to access each account.
type: array
items:
$ref: '#/components/schemas/transferAccount'
x-apiture-flattened: true
createApplication:
title: Create Account Application
description: >-
Representation of the request used to create a new account application. This does not create an _account_, just an _application_. When the
application is completed and approved, the account will be created.
The request must contain the following contents:
* `products` - an array of one or more Product objects which determine
the banking product for the new account(s). The first(required)
item in
the array is the primary account; others are optional secondary accounts in
a product bundle. The products must be an
_active_ internal account products that is eligible for
opening new accounts. (`"newAccountAvailability": "available"`)
These objects passed in the request may be complete object representations, or they may be "thin" objects with only
[HAL](http://developer.apiture.com/docs/concepts/hal) `_links` with a `self` link containing the object URL; the application resource will
fetch these objects.
Creating an application will instantiate a workflow instance, based on a workflow definition that is associated with the primary banking
product in the application. The client application should process that workflow instance and present any interactive tasks which are available
to run, and continue until the workflow is done.
x-apiture-version: 2.0.0
required:
- products
example:
_profile: 'https://api.apiture.com/schemas/accountApplications/application/v1.0.0/profile.json'
accountName: My checking account
_links:
'apiture:product':
href: 'https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18'
applicants:
- username: Snowqueen123
contact:
firstName: Elsa
lastName: Snowqueen
_links:
self:
href: 'https://www.example.com/users/user/3017d005-9910-4a8b-874b-397749353e7a'
role:
name: primaryUser
label: Primary User
_links:
self:
href: 'https://www.example.com/associations/roles/3ad50a2a-3129-491f-9bd9-d4cccf54b228'
products:
- name: Personal Savings
_links:
self:
href: 'https://www.example.com/products/products/40ed6e40-cffa-4944-8d54-f9b50ed2081f'
x-apiture-composition:
- $ref: '#/components/schemas/abstractRequest'
- $ref: '#/components/schemas/applicationFields'
- $ref: '#/components/schemas/commonObjects'
- $ref: '#/components/schemas/applicationObjects'
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
accountName:
description: 'The name of new account. If initially blank, this will be initialized from the name of the first product.'
type: string
maxLength: 128
fundingAmount:
description: How much money the applicant wishes to transfer from the funding account in order to initially fund this new account.
allOf:
- $ref: '#/components/schemas/money'
attributes:
description: >-
An optional map of name/value pairs which provide additional metadata about the application. If this object contain an `accountAtributes`
object, the properties in that object are placed in the `attributes` of the new account that this application creates.
allOf:
- $ref: '#/components/schemas/attributes'
applicants:
description: >-
The applicant or co-applicants seeking to enroll in digital banking and optionally open the account. If omitted, the service will create
an array with one applicant, based on the current user.
type: array
minItems: 1
items:
$ref: '#/components/schemas/applicant'
requiredDocuments:
description: >-
An array of metadata describing one or more required documents which the applicant may need to provide during the enrollment or
application process. These can be applicant identity verification forms, such as a government ID, a tax ID, a utility bill, articles of
organization (for business accounts) etc.
type: array
items:
$ref: '#/components/schemas/requiredDocument'
documents:
description: >-
An array of metadata listing zero or more documents which the FI reviewer must review and approve. These can be applicant identity
verification forms, such as a government ID, a tax ID, a utility bill, articles of organization (for business accounts) etc.
type: array
items:
$ref: '#/components/schemas/document'
approvals:
description: >-
All of the Approval objects which are associated with this enrollment or application. The `apiture:approve`, `apiture:reject`,
`apiture:waive`, and `apiture:return` links in each Approval resource may be used to approve, reject, waive, or return the approval via
`POST` operations (no request body).
type: array
readOnly: true
items:
$ref: '#/components/schemas/approval'
products:
description: >-
The bank product(s) for this account. The first item in the array is the _primary_ product for the new account. The remaining optional
items in the array are secondary associated products.
type: array
minItems: 1
items:
$ref: '#/components/schemas/summaryProduct'
organization:
description: The optional organization for a non-personal (business) account.
type: object
$ref: '#/components/schemas/organization'
organizationVerification:
description: The results of verifying a business or other organization.
type: object
$ref: '#/components/schemas/businessVerifications'
organizationApprovals:
description: Any Approvals for administrator verification of the organization.
type: array
items:
$ref: '#/components/schemas/approval'
accountApproval:
description: >-
An Approval object which the reviewer can use to approve or reject the entire account application. The `apiture:approve` and
`apiture:reject` links in the resource may be used to reject or approve the applications via `POST` operations (no request body).
allOf:
- $ref: '#/components/schemas/approval'
fundingAccount:
description: Contact information about the applicant.
type: object
$ref: '#/components/schemas/verifiedTransferAccount'
newAccounts:
description: >-
New accounts opened via this application. This array has a one-to-one mapping to the `products` array. Use the `self` link in each item's
`_links` to access each account.
type: array
items:
$ref: '#/components/schemas/transferAccount'
type: object
x-apiture-flattened: true
summaryApplication:
title: Account Application Summary
description: >-
Summary representation of an account application resource in account applications collections. This representation normally does not contain
any `_embedded` objects. If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/accountApplications/application/v1.0.0/profile.json'
applicantName: Elsa Snowqueen
accountName: My Premiere Savings
productName: Premiere Savings
fundingAmount:
value: '1500.00'
currency: USD
state: running
workflowState: running
createdAt: '2018-12-13T11:01:41.375Z'
_links:
self:
href: 'https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c'
'apiture:product':
href: 'https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18'
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- $ref: '#/components/schemas/commonFields'
- $ref: '#/components/schemas/applicationFields'
- properties:
- _id
- productName
- organizationName
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
applicantName:
title: Applicant Name
description: >-
The name of the person who started this application or enrollment. This is derived from the applicant resource passed via the first
applicant if present, or the current user.
type: string
maxLength: 128
minLength: 1
readOnly: true
example: Elsa Snowqueen
workflowState:
description: The state of the embedded application workflow. This is derived and immutable.
type: string
readOnly: true
maxLength: 16
minLength: 1
example: running
state:
description: |
The state of the enrollment or application. The values mean:
* *`pending`* - Available to be started (`POST` to the `apiture:start` link to start it).
This state is reserved for future use.
* *`running`* - Started and has not completed or been canceled.
* *`blocked`* - Started but is blocked; there are no available workflow tasks.
* *`canceled`* - Canceled prior to completion
* *`expired`* - Not completed prior to a pre-defined application life cycle term. For example, the FI may set a rule that all applications open longer than 30 days and not completed must be set to expired.
* *`rejected`* - Completed but was rejected after review
* *`approved`* - Completed and approved
The value is updated by the various enrollment or application operations.
type: string
enum:
- pending
- running
- blocked
- canceled
- expired
- rejected
- approved
readOnly: true
example: running
flaggedForReview:
description: >-
`true` if the application is blocked awaiting review from the financial institution. This will be derived from the state and approvals of
the application, and is immutable.
type: boolean
readOnly: true
example: false
createdAt:
description: >-
The date-time when this application was opened/created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format:
`YYYY-MM-DDThh:mm:ss.sssZ`
type: string
readOnly: true
format: date-time
completedAt:
description: >-
The date-time when this application was completed and its final resolution was set (approved, rejected, canceled, or expired). This is in
[RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`
type: string
format: date-time
readOnly: true
accountName:
description: 'The name of new account. If initially blank, this will be initialized from the name of the first product.'
type: string
maxLength: 128
fundingAmount:
description: How much money the applicant wishes to transfer from the funding account in order to initially fund this new account.
allOf:
- $ref: '#/components/schemas/money'
attributes:
description: >-
An optional map of name/value pairs which provide additional metadata about the application. If this object contain an `accountAtributes`
object, the properties in that object are placed in the `attributes` of the new account that this application creates.
allOf:
- $ref: '#/components/schemas/attributes'
_id:
description: The unique identifier for this application. This is an immutable opaque string.
readOnly: true
type: string
productName:
description: >-
The name of the banking product associated with this new account application. This is derived from the first product in the `products`
array and is immutable.
type: string
readOnly: true
maxLength: 128
minLength: 1
example: Personal Savings
organizationName:
description: >-
The name of the organization, if this is an application for a business account. This will be derived from the organization resource, if
present.
type: string
maxLength: 128
minLength: 1
readOnly: true
example: Smith's Auto Detailing
type: object
x-apiture-flattened: true
application:
title: Account Application
description: >-
An application for a new account. The resource contains summary fields that identify the account applicant, the primary product, and the state
of the applications. The nested arrays and objects contains related resources which support the application: `applicants` and their identity
verification, related `products`, documents, the `organization` (for business accounts), etc.
x-apiture-links:
- rel: 'apiture:expire'
operationId: expireApplication
- rel: 'apiture:reject'
operationId: rejectApplication
- rel: 'apiture:approve'
operationId: approveApplication
- rel: 'apiture:cancel'
operationId: cancelApplication
- rel: 'apiture:start'
operationId: startApplication
- rel: 'apiture:product'
title: Product
description: Links to the Product resource for this account application.
verb: get
- rel: 'apiture:applicant'
title: Applicant
description: Links to the User or Contact resource for this account application's applicant.
verb: get
- rel: 'apiture:organization'
title: Organization
description: 'Links to the Organization resource for this account application''s applicant, if the product is a business account.'
verb: get
- rel: 'apiture:fundingAccount'
title: Funding Account
description: Links to the account resource for this account application's applicant. This may be an internal account or an external account.
verb: get
- rel: 'apiture:workflow'
title: Workflow
description: Links to the workflow instance which is run in order to complete the account application.
verb: get
- rel: 'apiture:approval'
title: Application Approval
description: 'An Approval resource which is used to to approve or reject the application, should financial institution review be necessary.'
verb: get
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/accountApplications/application/v1.0.0/profile.json'
applicantName: Elsa Snowqueen
accountName: My Premiere Savings
productName: Premiere Savings
fundingAmount:
value: '1500.00'
currency: USD
state: running
workflowState: running
createdAt: '2018-12-13T11:01:41.375Z'
fundingAccount:
title: Elsa Snowqueen
institutionName: 3rd Party Bank
routingNumber: '021000021'
accountNumbers:
full: '9876543210'
masked: '*************3210'
organization: {}
applicants: []
products: []
documents: []
accountApproval:
_id: f3e5ba25-fd3e-47f2-895e-695eaa02fff6
label: 'Account Approval: Premiere Savings, Elsa Snowqueen'
state: open
done: false
typeName: accountApplication
type:
_id: bd10a515-5da8-40ec-bd4a-f60e958a297b
name: accountApplication
label: Account Application
domain: 'https://api.apiture.com/approvals'
_links:
self:
href: 'https://www.example.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c'
createdAt: '2019-12-14T06:41:35.375Z'
_links:
self:
href: 'https://www.example.com/approvals/approvals/39be8d61-4570-4d2d-85e3-2f9d5e14e1a4'
consents: []
_links:
self:
href: 'https://www.example.com/accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c'
'apiture:product':
href: 'https://www.example.com/products/products/51df9a81-2cb8-4515-aad1-9543b3c4fc18'
'apiture:workflow':
href: 'https://www.example.com/workflow/workflows/6d3dddd0-15c5-48f5-a2a5-f6d0d5e10121'
'apiture:fundingAccount':
href: 'https://www.example.comaccounts/externalAccount/0f4994e0-8ecb-4904-a589-f081bde7b8c2'
'apiture:applicant':
href: 'https://www.example.com/users/users/4072ed8c-755d-4879-9c2e-8f32a37e2569'
'apiture:organization':
href: 'https://www.example.com/organization/organization/09c56c3e-ef8f-4cfa-8d15-9c0bd2dfcdd2'
'apiture:approval':
href: 'https://www.example.com/approvals/approval/77f7b41b-654b-4678-b316-c6ec8413f29a'
x-apiture-composition:
- $ref: '#/components/schemas/summaryApplication'
- $ref: '#/components/schemas/commonObjects'
- $ref: '#/components/schemas/applicationObjects'
- properties:
- _id
- completedTaskCount
- runningTaskCount
- runningTaskNames
- pendingTaskCount
- blockedTaskCount
- canceledTaskCount
- expiresAt
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
applicantName:
title: Applicant Name
description: >-
The name of the person who started this application or enrollment. This is derived from the applicant resource passed via the first
applicant if present, or the current user.
type: string
maxLength: 128
minLength: 1
readOnly: true
example: Elsa Snowqueen
workflowState:
description: The state of the embedded application workflow. This is derived and immutable.
type: string
readOnly: true
maxLength: 16
minLength: 1
example: running
state:
description: |
The state of the enrollment or application. The values mean:
* *`pending`* - Available to be started (`POST` to the `apiture:start` link to start it).
This state is reserved for future use.
* *`running`* - Started and has not completed or been canceled.
* *`blocked`* - Started but is blocked; there are no available workflow tasks.
* *`canceled`* - Canceled prior to completion
* *`expired`* - Not completed prior to a pre-defined application life cycle term. For example, the FI may set a rule that all applications open longer than 30 days and not completed must be set to expired.
* *`rejected`* - Completed but was rejected after review
* *`approved`* - Completed and approved
The value is updated by the various enrollment or application operations.
type: string
enum:
- pending
- running
- blocked
- canceled
- expired
- rejected
- approved
readOnly: true
example: running
flaggedForReview:
description: >-
`true` if the application is blocked awaiting review from the financial institution. This will be derived from the state and approvals of
the application, and is immutable.
type: boolean
readOnly: true
example: false
createdAt:
description: >-
The date-time when this application was opened/created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format:
`YYYY-MM-DDThh:mm:ss.sssZ`
type: string
readOnly: true
format: date-time
completedAt:
description: >-
The date-time when this application was completed and its final resolution was set (approved, rejected, canceled, or expired). This is in
[RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`
type: string
format: date-time
readOnly: true
accountName:
description: 'The name of new account. If initially blank, this will be initialized from the name of the first product.'
type: string
maxLength: 128
fundingAmount:
description: How much money the applicant wishes to transfer from the funding account in order to initially fund this new account.
allOf:
- $ref: '#/components/schemas/money'
attributes:
description: >-
An optional map of name/value pairs which provide additional metadata about the application. If this object contain an `accountAtributes`
object, the properties in that object are placed in the `attributes` of the new account that this application creates.
allOf:
- $ref: '#/components/schemas/attributes'
_id:
description: The unique identifier for this application. This is an immutable opaque string.
readOnly: true
type: string
productName:
description: >-
The name of the banking product associated with this new account application. This is derived from the first product in the `products`
array and is immutable.
type: string
readOnly: true
maxLength: 128
minLength: 1
example: Personal Savings
organizationName:
description: >-
The name of the organization, if this is an application for a business account. This will be derived from the organization resource, if
present.
type: string
maxLength: 128
minLength: 1
readOnly: true
example: Smith's Auto Detailing
applicants:
description: >-
The applicant or co-applicants seeking to enroll in digital banking and optionally open the account. If omitted, the service will create
an array with one applicant, based on the current user.
type: array
minItems: 1
items:
$ref: '#/components/schemas/applicant'
requiredDocuments:
description: >-
An array of metadata describing one or more required documents which the applicant may need to provide during the enrollment or
application process. These can be applicant identity verification forms, such as a government ID, a tax ID, a utility bill, articles of
organization (for business accounts) etc.
type: array
items:
$ref: '#/components/schemas/requiredDocument'
documents:
description: >-
An array of metadata listing zero or more documents which the FI reviewer must review and approve. These can be applicant identity
verification forms, such as a government ID, a tax ID, a utility bill, articles of organization (for business accounts) etc.
type: array
items:
$ref: '#/components/schemas/document'
approvals:
description: >-
All of the Approval objects which are associated with this enrollment or application. The `apiture:approve`, `apiture:reject`,
`apiture:waive`, and `apiture:return` links in each Approval resource may be used to approve, reject, waive, or return the approval via
`POST` operations (no request body).
type: array
readOnly: true
items:
$ref: '#/components/schemas/approval'
products:
description: >-
The bank product(s) for this account. The first item in the array is the _primary_ product for the new account. The remaining optional
items in the array are secondary associated products.
type: array
minItems: 1
items:
$ref: '#/components/schemas/summaryProduct'
organization:
description: The optional organization for a non-personal (business) account.
type: object
$ref: '#/components/schemas/organization'
organizationVerification:
description: The results of verifying a business or other organization.
type: object
$ref: '#/components/schemas/businessVerifications'
organizationApprovals:
description: Any Approvals for administrator verification of the organization.
type: array
items:
$ref: '#/components/schemas/approval'
accountApproval:
description: >-
An Approval object which the reviewer can use to approve or reject the entire account application. The `apiture:approve` and
`apiture:reject` links in the resource may be used to reject or approve the applications via `POST` operations (no request body).
allOf:
- $ref: '#/components/schemas/approval'
fundingAccount:
description: Contact information about the applicant.
type: object
$ref: '#/components/schemas/verifiedTransferAccount'
newAccounts:
description: >-
New accounts opened via this application. This array has a one-to-one mapping to the `products` array. Use the `self` link in each item's
`_links` to access each account.
type: array
items:
$ref: '#/components/schemas/transferAccount'
completedTaskCount:
description: The number of visible workflow tasks which have been completed.
type: integer
format: int32
minimum: 0
example: 4
readOnly: true
runningTaskCount:
description: The number of visible workflow tasks which are currently running.
type: integer
format: int32
minimum: 0
example: 2
readOnly: true
runningTaskNames:
description: The names of the tasks which are currently `running` in the application's workflow.
readOnly: true
type: array
items:
type: string
pendingTaskCount:
description: The number of visible workflow tasks which are still pending.
type: integer
format: int32
minimum: 0
example: 3
readOnly: true
blockedTaskCount:
description: The number of visible workflow tasks which are blocked.
type: integer
format: int32
minimum: 0
example: 0
readOnly: true
canceledTaskCount:
description: The number of visible workflow tasks which have been canceled.
type: integer
format: int32
minimum: 0
example: 0
readOnly: true
expiresAt:
description: >-
The date-time when the application expires. This is in [RFC 3339] (https://tools.ietf.org/html/rfc3339) UTC date-time format
(`YYYY-MM-DDThh:mm:ss.sssZ`).
type: string
format: date-time
readOnly: true
example: '2019-08-28T10:19:24.000Z'
type: object
x-apiture-flattened: true
enrollmentFields:
title: Enrollment Fields
description: Common fields of the enrollment resource used to build other model schemas.
x-apiture-fragment: true
properties:
applicant:
description: >-
The applicant seeking to enroll in digital banking. If omitted, the service will create the applicant, based on the current user.
*Warning*: This property is deprecated. Use `applicants`.
allOf:
- $ref: '#/components/schemas/applicant'
type: object
x-apiture-flattened: true
commonObjects:
title: Common objects
x-apiture-fragment: true
description: Objects common to enrollments and applications.
properties:
applicants:
description: >-
The applicant or co-applicants seeking to enroll in digital banking and optionally open the account. If omitted, the service will create
an array with one applicant, based on the current user.
type: array
minItems: 1
items:
$ref: '#/components/schemas/applicant'
requiredDocuments:
description: >-
An array of metadata describing one or more required documents which the applicant may need to provide during the enrollment or
application process. These can be applicant identity verification forms, such as a government ID, a tax ID, a utility bill, articles of
organization (for business accounts) etc.
type: array
items:
$ref: '#/components/schemas/requiredDocument'
documents:
description: >-
An array of metadata listing zero or more documents which the FI reviewer must review and approve. These can be applicant identity
verification forms, such as a government ID, a tax ID, a utility bill, articles of organization (for business accounts) etc.
type: array
items:
$ref: '#/components/schemas/document'
approvals:
description: >-
All of the Approval objects which are associated with this enrollment or application. The `apiture:approve`, `apiture:reject`,
`apiture:waive`, and `apiture:return` links in each Approval resource may be used to approve, reject, waive, or return the approval via
`POST` operations (no request body).
type: array
readOnly: true
items:
$ref: '#/components/schemas/approval'
type: object
x-apiture-flattened: true
createEnrollment:
title: Create an Enrollment
description: >-
Representation of the request to enroll a user in digital banking.
Creating an enrollment will instantiate a workflow instance, based on a workflow definition that is configured for new user enrollment. This
will typically apply the financial institution's Customer Identification Program (CIP) process, a.k.a. their Know Your Customer process. The
client application should monitor that workflow instance and present any interactive tasks which are available to run, and continue until the
workflow is done.
x-apiture-composition:
- $ref: '#/components/schemas/abstractRequest'
- $ref: '#/components/schemas/enrollmentFields'
- $ref: '#/components/schemas/commonObjects'
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
applicant:
description: >-
The applicant seeking to enroll in digital banking. If omitted, the service will create the applicant, based on the current user.
*Warning*: This property is deprecated. Use `applicants`.
allOf:
- $ref: '#/components/schemas/applicant'
applicants:
description: >-
The applicant or co-applicants seeking to enroll in digital banking and optionally open the account. If omitted, the service will create
an array with one applicant, based on the current user.
type: array
minItems: 1
items:
$ref: '#/components/schemas/applicant'
requiredDocuments:
description: >-
An array of metadata describing one or more required documents which the applicant may need to provide during the enrollment or
application process. These can be applicant identity verification forms, such as a government ID, a tax ID, a utility bill, articles of
organization (for business accounts) etc.
type: array
items:
$ref: '#/components/schemas/requiredDocument'
documents:
description: >-
An array of metadata listing zero or more documents which the FI reviewer must review and approve. These can be applicant identity
verification forms, such as a government ID, a tax ID, a utility bill, articles of organization (for business accounts) etc.
type: array
items:
$ref: '#/components/schemas/document'
approvals:
description: >-
All of the Approval objects which are associated with this enrollment or application. The `apiture:approve`, `apiture:reject`,
`apiture:waive`, and `apiture:return` links in each Approval resource may be used to approve, reject, waive, or return the approval via
`POST` operations (no request body).
type: array
readOnly: true
items:
$ref: '#/components/schemas/approval'
type: object
x-apiture-flattened: true
summaryEnrollment:
title: Digital Banking User Enrollment Summary
description: Representation of enrollments in the collection.
x-apiture-composition:
- $ref: '#/components/schemas/commonFields'
- $ref: '#/components/schemas/enrollmentFields'
- properties:
- _id
- $ref: '#/components/schemas/abstractResource'
properties:
applicantName:
title: Applicant Name
description: >-
The name of the person who started this application or enrollment. This is derived from the applicant resource passed via the first
applicant if present, or the current user.
type: string
maxLength: 128
minLength: 1
readOnly: true
example: Elsa Snowqueen
workflowState:
description: The state of the embedded application workflow. This is derived and immutable.
type: string
readOnly: true
maxLength: 16
minLength: 1
example: running
state:
description: |
The state of the enrollment or application. The values mean:
* *`pending`* - Available to be started (`POST` to the `apiture:start` link to start it).
This state is reserved for future use.
* *`running`* - Started and has not completed or been canceled.
* *`blocked`* - Started but is blocked; there are no available workflow tasks.
* *`canceled`* - Canceled prior to completion
* *`expired`* - Not completed prior to a pre-defined application life cycle term. For example, the FI may set a rule that all applications open longer than 30 days and not completed must be set to expired.
* *`rejected`* - Completed but was rejected after review
* *`approved`* - Completed and approved
The value is updated by the various enrollment or application operations.
type: string
enum:
- pending
- running
- blocked
- canceled
- expired
- rejected
- approved
readOnly: true
example: running
flaggedForReview:
description: >-
`true` if the application is blocked awaiting review from the financial institution. This will be derived from the state and approvals of
the application, and is immutable.
type: boolean
readOnly: true
example: false
createdAt:
description: >-
The date-time when this application was opened/created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format:
`YYYY-MM-DDThh:mm:ss.sssZ`
type: string
readOnly: true
format: date-time
completedAt:
description: >-
The date-time when this application was completed and its final resolution was set (approved, rejected, canceled, or expired). This is in
[RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`
type: string
format: date-time
readOnly: true
applicant:
description: >-
The applicant seeking to enroll in digital banking. If omitted, the service will create the applicant, based on the current user.
*Warning*: This property is deprecated. Use `applicants`.
allOf:
- $ref: '#/components/schemas/applicant'
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
description: The unique identifier for this application. This is an immutable opaque string.
readOnly: true
type: string
type: object
x-apiture-flattened: true
enrollment:
title: Digital Banking User Enrollment
description: Representation of the request to enroll a user in digital banking.
x-apiture-links:
- rel: 'apiture:expire'
operationId: expireEnrollment
- rel: 'apiture:reject'
operationId: rejectEnrollment
- rel: 'apiture:approve'
operationId: approveEnrollment
- rel: 'apiture:cancel'
operationId: cancelEnrollment
- rel: 'apiture:workflow'
title: Workflow
description: Links to the workflow instance which is run in order to complete the account enrollment.
verb: get
- rel: 'apiture:approval'
title: Enrollment Approval
description: 'An Approval resource which is used to to approve or reject the enrollment, should financial institution review be necessary.'
verb: get
x-apiture-composition:
- $ref: '#/components/schemas/commonObjects'
- $ref: '#/components/schemas/summaryEnrollment'
properties:
applicants:
description: >-
The applicant or co-applicants seeking to enroll in digital banking and optionally open the account. If omitted, the service will create
an array with one applicant, based on the current user.
type: array
minItems: 1
items:
$ref: '#/components/schemas/applicant'
requiredDocuments:
description: >-
An array of metadata describing one or more required documents which the applicant may need to provide during the enrollment or
application process. These can be applicant identity verification forms, such as a government ID, a tax ID, a utility bill, articles of
organization (for business accounts) etc.
type: array
items:
$ref: '#/components/schemas/requiredDocument'
documents:
description: >-
An array of metadata listing zero or more documents which the FI reviewer must review and approve. These can be applicant identity
verification forms, such as a government ID, a tax ID, a utility bill, articles of organization (for business accounts) etc.
type: array
items:
$ref: '#/components/schemas/document'
approvals:
description: >-
All of the Approval objects which are associated with this enrollment or application. The `apiture:approve`, `apiture:reject`,
`apiture:waive`, and `apiture:return` links in each Approval resource may be used to approve, reject, waive, or return the approval via
`POST` operations (no request body).
type: array
readOnly: true
items:
$ref: '#/components/schemas/approval'
applicantName:
title: Applicant Name
description: >-
The name of the person who started this application or enrollment. This is derived from the applicant resource passed via the first
applicant if present, or the current user.
type: string
maxLength: 128
minLength: 1
readOnly: true
example: Elsa Snowqueen
workflowState:
description: The state of the embedded application workflow. This is derived and immutable.
type: string
readOnly: true
maxLength: 16
minLength: 1
example: running
state:
description: |
The state of the enrollment or application. The values mean:
* *`pending`* - Available to be started (`POST` to the `apiture:start` link to start it).
This state is reserved for future use.
* *`running`* - Started and has not completed or been canceled.
* *`blocked`* - Started but is blocked; there are no available workflow tasks.
* *`canceled`* - Canceled prior to completion
* *`expired`* - Not completed prior to a pre-defined application life cycle term. For example, the FI may set a rule that all applications open longer than 30 days and not completed must be set to expired.
* *`rejected`* - Completed but was rejected after review
* *`approved`* - Completed and approved
The value is updated by the various enrollment or application operations.
type: string
enum:
- pending
- running
- blocked
- canceled
- expired
- rejected
- approved
readOnly: true
example: running
flaggedForReview:
description: >-
`true` if the application is blocked awaiting review from the financial institution. This will be derived from the state and approvals of
the application, and is immutable.
type: boolean
readOnly: true
example: false
createdAt:
description: >-
The date-time when this application was opened/created. This is in [RFC 3339](https://tools.ietf.org/html/rfc3339) format:
`YYYY-MM-DDThh:mm:ss.sssZ`
type: string
readOnly: true
format: date-time
completedAt:
description: >-
The date-time when this application was completed and its final resolution was set (approved, rejected, canceled, or expired). This is in
[RFC 3339](https://tools.ietf.org/html/rfc3339) format: `YYYY-MM-DDThh:mm:ss.sssZ`
type: string
format: date-time
readOnly: true
applicant:
description: >-
The applicant seeking to enroll in digital banking. If omitted, the service will create the applicant, based on the current user.
*Warning*: This property is deprecated. Use `applicants`.
allOf:
- $ref: '#/components/schemas/applicant'
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
description: The unique identifier for this application. This is an immutable opaque string.
readOnly: true
type: string
type: object
x-apiture-flattened: true
enrollments:
title: Enrollment Collection
x-apiture-version: 2.0.0
description: >-
Collection digital banking enrollments. The items in the collection are ordered in the `_embedded` object with name `items`. The top-level
`_links` object may contain pagination links: `self`, `next`, `prev`, `first`, `last`, `collection`.
example:
_profile: 'https://api.apiture.com/schemas/accountApplications/enrollments/v2.0.0/profile.json'
start: 10
limit: 10
count: 67
_links:
self:
href: 'https://www.example.com/accountApplications/enrollments?start=10&limit=10'
first:
href: 'https://www.example.com/accountApplications/enrollments?start=0&limit=10'
next:
href: 'https://www.example.com/accountApplications/enrollments?start=20&limit=10'
collection:
href: 'https://www.example.com/accountApplications/enrollments'
_embedded:
items:
anyOf:
- _profile: 'https://api.apiture.com/schemas/accountApplication/v1.0.0/profile.json'
_links:
self:
href: /accountApplications/enrollments/0399abed-fd3d-4830-a88b-30f38b8a365c
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
name: My Personal Checking
state: running
- _profile: 'https://api.apiture.com/schemas/accountApplication/v1.0.0/profile.json'
_links:
self:
href: /accountApplications/enrollments/0399abed-fd3d-4830-a88b-30f38b8a365d
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
state: approved
x-apiture-composition:
- $ref: '#/components/schemas/collection'
- properties:
- _embedded
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
type: object
description: Embedded resources.
properties:
items:
description: An array containing a page of account application items.
type: array
items:
$ref: '#/components/schemas/summaryEnrollment'
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
count:
description: >-
The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
filter.
type: integer
start:
description: The start index of this page of items.
type: integer
limit:
description: The maximum number of items per page.
type: integer
name:
description: The name of the collection.
type: string
type: object
x-apiture-flattened: true
applications:
title: Account Application Collection
description: >-
Collection of account applications. The items in the collection are ordered in the `_embedded` object with name `items`. The top-level
`_links` object may contain pagination links: `self`, `next`, `prev`, `first`, `last`, `collection`.
x-apiture-version: 2.0.0
example:
_profile: 'https://api.apiture.com/schemas/accountApplications/applications/v2.0.0/profile.json'
start: 10
limit: 10
count: 67
name: account applications
_links:
self:
href: 'https://www.example.com/accountApplications/applications?start=10&limit=10'
first:
href: 'https://www.example.com/accountApplications/applications?start=0&limit=10'
next:
href: 'https://www.example.com/accountApplications/applications?start=20&limit=10'
collection:
href: 'https://www.example.com/accountApplications/applications'
_embedded:
items:
anyOf:
- _profile: 'https://api.apiture.com/schemas/accountApplication/v1.0.0/profile.json'
_links:
self:
href: /accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365c
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
name: My Personal Checking
state: running
- _profile: 'https://api.apiture.com/schemas/accountApplication/v1.0.0/profile.json'
_links:
self:
href: /accountApplications/applications/0399abed-fd3d-4830-a88b-30f38b8a365d
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
name: 6 Month CD
state: approved
x-apiture-composition:
- $ref: '#/components/schemas/collection'
- properties:
- _embedded
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
type: object
description: Embedded resources.
properties:
items:
description: An array containing a page of account application items.
type: array
items:
$ref: '#/components/schemas/summaryApplication'
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
count:
description: >-
The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
filter.
type: integer
start:
description: The start index of this page of items.
type: integer
limit:
description: The maximum number of items per page.
type: integer
name:
description: The name of the collection.
type: string
type: object
x-apiture-flattened: true
applicant:
title: Applicant
description: An applicant for a new account.
properties:
username:
description: >-
The unique username for the user. If omitted on a request, this field will be set for the primary applicant, based on the username of the
authenticated user that creates the application. For co-owners and beneficial-owners this field is optional.
type: string
contact:
description: A Contact object representing an individual contact.
type: object
allOf:
- $ref: '#/components/schemas/contact'
user:
description: A User object representing an individual user.
type: object
allOf:
- $ref: '#/components/schemas/summaryUser'
role:
description: >-
The role the user has on the account. This is a Role resource from the Associations API; it must be a bank account role. The default is
determined by the number of applicants and the type of account (personal vs. business).
type: object
allOf:
- $ref: '#/components/schemas/role'
verification:
description: The verification status of the user or contact.
type: object
allOf:
- $ref: '#/components/schemas/contactVerification'
approvals:
description: Any approvals associated with this applicant.
type: array
items:
$ref: '#/components/schemas/approval'
consents:
description: >-
An array of documents (such as terms and conditions, electronic consent) and the user's consent or agreement of the terms of those
documents. The service configuration determines which consents are required for enrollment or account applications and sets this array on
construction.
type: array
items:
$ref: '#/components/schemas/consent'
fraudReport:
description: The fraud risk report for the applicant.
type: object
allOf:
- $ref: '#/components/schemas/fraudRiskReport'
verified:
description: '`true` if and only if the applicant has been verified.'
type: boolean
readOnly: true
verificationToken:
description: >-
A secure token that contains identity verification data about a given contact including their verified status. The verified property in
this applicant schema is derived from the Boolean status embedded in this token. The data contained in this token is derived from the
results of any identity verification service operations previously performed on the contact.
type: string
readOnly: true
type: object
x-apiture-flattened: true
requiredDocument:
title: Required Document
description: >-
An document which is required from the applicant. If a `templateUri` is provided, the applicant must download the document from the
`templateUri` and return it completed.
type: object
required:
- label
- type
- productTarget
- category
- requireIfVerified
properties:
label:
description: User friendly label of the document.
type: string
type:
description: >-
The document type as determined by the business use case. Unlike the contentType, this indicates what the document content represents
(such as a `processedCheckImage`, `mobileCheckDepositImageFront`, etc.). This `type` corresponds to the same `type` in the Vault API.
type: string
example: governmentId
productTarget:
description: >-
The target of the relevant product, either `business` or `personal`. Note that `business` is synonymous with organizations in Apiture
APIs.
type: string
enum:
- business
- personal
documentUri:
description: >-
A URI pointing to a form document that the applicant is required to download, fill out, optionally scan, then upload (as a new document)
to satisfy this document requirement. The form document must reside in the document storage system. This is the URI of a _shared_ document
in the Vault API.
type: string
category:
description: 'Required document category, within the enum of options. Required for compliance to categorize PII documents.'
type: string
enum:
- driversLicense
- militaryIdentification
- passport
- socialSecurityCard
- stateIdentification
- taxForm
- utilityBill
- articlesOfOrganization
example: driversLicense
requireIfVerified:
description: >-
Whether to require this document even if the associated applicant or business has passed verification. If `true`, this document will
always be required.
type: boolean
x-apiture-flattened: true
document:
title: Document (v1.0.0)
description: Properties of a target document.
required:
- uri
- contentType
- revisedAt
properties:
uri:
description: >-
The URI of the target document that the user is consenting to. If the document is revised, this consent is marked as `stale`. (Note: This
need not be a document in the Apiture vault.)
type: string
format: uri
maxLength: 2048
contentType:
description: >-
The [media type](https://tools.ietf.org/html/rfc6838) for the document. For text documents, the content type should include the text
encoding; if omitted, the encoding type is assumed to be utf-8.
example: application/pdf
revisionId:
description: >-
The revision identifier of the document revision the user consented to. If the content management system in which the document is stored
does not define revision identifiers or tags, this may be omitted and defaults to the revision time stamp.
type: string
example: '2019:1.2.0'
revisedAt:
description: >-
The time stamp when the target document was last revised (modified), in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time
format (`YYYY-MM-DDThh:mm:ss.sssZ`).
type: string
format: date-time
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/consents/document/v1.0.0/model.json'
x-apiture-namespace: consents
type: object
x-apiture-flattened: true
verifiedTransferAccount:
title: Verified Transfer Account
description: 'Details of the account, possibly an external account, used to fund the new account.'
type: object
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
accountTitle:
description: >-
The title of the account. Traditionally, this is the name of the account holder. This field is deprecated and will be removed in a future
release; use `title` instead.
maxLength: 512
type: string
example: John Smith
title:
description: 'The title of the account. Traditionally, this is the name of the account holder.'
maxLength: 512
type: string
example: John Smith
institutionName:
description: The name of the financial institution.
type: string
minLength: 2
maxLength: 128
example: 3rd Party Bank
readOnly: true
routingNumber:
description: >-
The account routing number which identifies the financial institution. The full routing number and full account number are required to
fully identify the account.
type: string
minLength: 9
maxLength: 9
example: '021000021'
readOnly: true
accountNumbers:
description: The account numbers for this account
type: object
allOf:
- $ref: '#/components/schemas/accountNumbers'
readOnly: true
ifxType:
description: 'A code which identifies the product type. This is one of the [IFX AcctType](https://ifxforum.org) values.'
allOf:
- $ref: '#/components/schemas/ifxType'
readOnly: true
verificationReport:
description: >-
If this funding account is a new external account, this is an account verification report from an external account verification provider.
It contains a pass/fail result based on risk factors. This property does not exist if the account is an internal account at this financial
institution, or if this account is an external account that the user verified before starting this application.
type: object
allOf:
- $ref: '#/components/schemas/verificationReport'
state:
description: The state of the external account.
type: string
readOnly: true
allOf:
- $ref: '#/components/schemas/externalAccountState'
x-apiture-composition:
- $ref: '#/components/schemas/transferAccount'
x-apiture-flattened: true
errorResponse:
x-apiture-version: 2.0.0
title: Error Response (v2.0.0)
description: 'Describes an error response, typically returned on 4xx or 5xx errors from API operations. The `_error` object contains the error details.'
example:
_profile: 'https://api.apiture.com/schemas/common/errorResponse/v2.0.0/profile.json'
_error:
_id: 2eae46e1-575c-4d69-8a8f-0a7b0115a4b3
message: The value for deposit must be greater than 0.
statusCode: 422
type: positiveNumberRequired
attributes:
value: -125.5
remediation: Provide a value which is greater than 0
occurredAt: '2018-01-25T05:50:52.375Z'
_links:
describedby:
href: 'https://api.apiture.com/errors/positiveNumberRequired'
_embedded:
errors: []
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/errorResponse/v2.0.0/model.json'
x-apiture-namespace: common
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
type: object
x-apiture-flattened: true
configuration:
x-apiture-version: 2.0.0
title: Configuration
description: Represents the configuration for various services.
properties:
_links:
$ref: '#/components/schemas/links'
example:
_links:
self:
href: /configurations/configurations/
'apiture:groups':
href: /configurations/configurations/groups
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configuration/v2.0.0/model.json'
x-apiture-namespace: configurations
type: object
x-apiture-flattened: true
configurationGroups:
x-apiture-version: 2.0.0
title: Configuration Group Collection
description: >-
Collection of configuration groups. The items in the collection are ordered in the `_embedded` object with name `items`. The top-level
`_links` object may contain pagination links (`self`, `next`, `prev`, `first`, `last`, `collection`).
example:
_profile: 'https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.0/profile.json'
start: 10
limit: 10
count: 67
name: configurationGroups
_links:
self:
href: /configurations/configurations/groups?start=10&limit=10
first:
href: /configurations/configurations/groups?start=0&limit=10
next:
href: /configurations/configurations/groups?start=20&limit=10
collection:
href: /configurations/configurations/groups
_embedded:
items:
anyOf:
- _profile: 'https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json'
_links:
self:
href: /configurations/groups/basic
name: basic
label: Basic Settings
description: The basic settings for the Transfers API
- _profile: 'https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json'
_links:
self:
href: /configurations/groups/calendar
name: calendar
label: Calendar
description: 'A calendar that specifies which dates are valid for performing transfers (e.g., weekdays excluding federal holidays)'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationGroups/v2.0.0/model.json'
x-apiture-namespace: configurations
x-apiture-composition:
- $ref: '#/components/schemas/collection'
- properties:
- _embedded
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: Embedded objects.
type: object
properties:
items:
description: An array containing a page of configuration group items.
type: array
items:
$ref: '#/components/schemas/configurationGroupSummary'
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
count:
description: >-
The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
filter.
type: integer
start:
description: The start index of this page of items.
type: integer
limit:
description: The maximum number of items per page.
type: integer
name:
description: The name of the collection.
type: string
type: object
x-apiture-flattened: true
configurationGroup:
x-apiture-version: 2.0.0
title: Configuration Group
description: Represents a configuration group.
example:
_profile: 'https://api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/profile.json'
_links:
self:
href: /configurations/groups/basic
name: basic
label: Basic Settings
description: The basic settings for the Transfers API
schema:
type: object
properties:
dailyLimit:
type: number
description: The daily limit for the number of transfers
cutoffTime:
type: string
format: time
description: The cutoff time for scheduling transfers for the current day
values:
dailyLimit: 5
cutoffTime: '17:30:00'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationGroup/v2.0.0/model.json'
x-apiture-namespace: configurations
x-apiture-composition:
- $ref: '#/components/schemas/configurationGroupSummary'
- properties:
- schema
- values
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
name:
description: 'The name of this configuration group, must be unique within the set of all resources of this type.'
type: string
maxLength: 48
minLength: 1
pattern: '[a-zA-Z][-\w_]*'
example: transfers
label:
description: 'The text label for this resource, suitable for presentation to the client.'
type: string
maxLength: 128
minLength: 1
example: Transfers Configuration
description:
description: 'The full description for this resource, suitable for presentation to the client.'
type: string
maxLength: 4096
minLength: 1
example: The configuration for the Transfers API.
schema:
$ref: '#/components/schemas/configurationSchema'
values:
$ref: '#/components/schemas/configurationValues'
type: object
x-apiture-flattened: true
configurationSchema:
x-apiture-version: 2.0.1
title: Configuration Schema (v2.0.1)
description: |-
The schema which defines the name and types of the
variables that are part of this configuration definition.
Property names must be simple identifiers
which follow the pattern `letter [letter | digit | - | _]*`.
This is implicitly a schema for `type: object`
and contains the properties.
The `values` in a configuration conform to the schema.
The names and types are described with a subset of
[JSON Schema Core](https://tools.ietf.org/html/draft-zyp-json-schema-04)
and [JSON Schema Validation](https://tools.ietf.org/html/draft-fge-json-schema-validation-00)
similar to that used to define schemas in
[OpenAPI Specification 2.0](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#schemaObject).
type: object
additionalProperties:
$ref: '#/components/schemas/configurationSchemaValue'
example:
type: object
properties:
dailyLimit:
type: number
description: The daily limit for the number of transfers
cutoffTime:
type: string
format: time
description: The cutoff time for scheduling transfers for the current day
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationSchema/v2.0.1/model.json'
x-apiture-namespace: configurations
properties: {}
x-apiture-flattened: true
configurationValues:
x-apiture-version: 2.0.0
title: Configuration Values (v2.0.0)
description: |-
The data values associated with this configuration group:
the group's variable names and values. These values must conform to this
item's `schema`.
*Note*: the `schema` may also contain `default` values
which, if present, are used if a value is *not* set in the
definition's `values`.
For example, multiple configurations may use the same schema
that defines values `a`, `b`, and `c`, but each configuration
may have their own unique values for `a`, `b`, and `c`
which is separate from the schema.
type: object
additionalProperties:
$ref: '#/components/schemas/configurationValue'
example:
dailyLimit: 5
cutoffTime: '17:30:00'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationValues/v2.0.0/model.json'
x-apiture-namespace: configurations
properties: {}
x-apiture-flattened: true
root:
x-apiture-version: 2.0.0
title: API Root (v2.0.0)
description: 'A HAL response, with hypermedia `_links` for the top-level resources and operations in API.'
example:
id: apiName
name: API name
apiVersion: 1.0.0
_profile: 'https://production.api.apiture.com/schemas/common/root/v2.0.0/profile.json'
_links: {}
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/root/v2.0.0/model.json'
x-apiture-namespace: common
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- properties:
- _id
- name
- apiVersion
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
description: This API's unique ID.
readOnly: true
type: string
name:
type: string
description: This API's name.
apiVersion:
type: string
description: This API's version.
type: object
x-apiture-flattened: true
money:
title: Money (v1.0.0)
description: An amount of money in a specific currency.
properties:
value:
description: >-
The net monetary value. A negative amount denotes a debit; a positive amount a credit. The numeric value is represented as a string so
that it can be exact with no loss of precision.
example: '3456.78'
type: string
currency:
description: >-
The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. Note: ISO
4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
type: string
minLength: 3
maxLength: 3
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/transactions/money/v1.0.0/model.json'
x-apiture-namespace: transactions
type: object
x-apiture-flattened: true
attributes:
x-apiture-version: 2.0.0
title: Attributes (v2.0.0)
description: An optional map of name/value pairs which contains additional dynamic data about the resource.
type: object
x-apiture-key: attributeName
additionalProperties:
$ref: '#/components/schemas/attributeValue'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/attributes/v2.0.0/model.json'
x-apiture-namespace: common
properties: {}
x-apiture-flattened: true
summaryProduct:
title: Product Summary (v1.0.0)
description: >-
Summary representation of a product resource in products collections. This representation normally does not contain any `_embedded` objects.
If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects. This representation omits the `attributes` of the
full representation.
This schema is version `v1.0.0`.
example:
_id: a6459cdf-543e-46df-887b-ac5378ee9acd
_profile: 'https://api.apiture.com/schemas/products/product/v1.0.0/profile.json'
_links:
self:
href: /products/products/a6459cdf-543e-46df-887b-ac5378ee9acd
'apiture:productType':
href: /products/productTypes/4d4242ed-eb8d-46ca-bc3c-13e1f82337c8
'apiture:productSubtype':
href: /products/productTypes/fa4f2335-3306-4721-b74c-8ec0c77823e9
name: Premiere Checking
label: Premiere Checking
description: A premiere demand deposit checking account for business use.
state: active
type: Demand Deposit
subtype: Demand Deposit with Interest
newAccountAvailability: available
revision: '2018-04-25T07:56:46.375Z'
_embedded: {}
ifxType: DDA
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/summaryProduct/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- $ref: '#/components/schemas/productFields'
- $ref: '#/components/schemas/revisionEffectiveInterval'
- properties:
- _id
- type
- subtype
- timeDeposit
- constraints
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
state:
description: >-
The state of this product or product type. New resources are `pending` by default and must be activated before they may be used.
The `state` property is immutable and derived and may not be changed via the `PUT` or `PATCH` operations. To change the state of a product
or product type, use the `POST` operation using the `apiture:activate`, `apiture:deactivate` or `apiture:remove` links on the resource.
allOf:
- $ref: '#/components/schemas/prodState'
name:
description: The name of this product.
type: string
maxLength: 128
minLength: 1
label:
description: The text label for this product. This field may be localized.
type: string
maxLength: 128
minLength: 1
description:
description: >-
A fuller description of this product. This field may be localized. The content is processed as [Github Flavored
Markdown](https://help.github.com/articles/basic-writing-and-formatting-syntax/) and thus supports rich text.
type: string
maxLength: 4096
minLength: 1
format: markdown
code:
description: >-
The unique product code for this product, normally defined by the underlying banking core. The `code` cannot be changed once the `state`
is beyond `pending`.
type: string
maxLength: 64
newAccountAvailability:
description: >-
Indicates if the product is available for opening new accounts.
* *`available`* means the product may be selected for a new account application.
* *`notAvailable`* means the product may *not* be selected for a new account application.
The default is `available`. Note that clients must check both the product `state` and the `newAccountAvailability` when listing products
for new account opening. The `?openable=true` query parameter on `/accounts` combines these. Labels and descriptions for the enumeration
values are in the `newAccountAvailability` key in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/newAccountAvailability'
category:
description: The product category name. This is a more readable form of the product's `type`.
type: string
example: Savings
rate:
description: The interest rate for this product.
allOf:
- $ref: '#/components/schemas/rate'
revision:
description: The revision string for this product. This property derived and immutable.
type: string
ifxType:
description: The product IFX Account Type.
allOf:
- $ref: '#/components/schemas/ifxType'
target:
description: >-
Describes the target audience or consumer of the accounts, `personal` or `business`. Labels and descriptions for the enumeration values
are in the `productTarget` key in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/productTarget'
effectiveStartAt:
description: >-
The date-time when this revision was created and became effective. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) formatted
date-time string `YYYY-MM-DDThh:mm:ss.sssZ`. This field is derived and immutable.
type: string
format: date-time
effectiveEndAt:
description: >-
The date-time when the another revision became effective and this revision ceased being effective. This is an [RFC
3339](https://tools.ietf.org/html/rfc3339) formatted date-time string `YYYY-MM-DDThh:mm:ss.sssZ`. This field is derived and immutable and
is not present until the revision is no longer active.
type: string
format: date-time
_id:
description: The unique identifier for this product resource. This is an immutable opaque string.
readOnly: true
type: string
type:
description: 'The product type name, which is derived from the linked product type.'
type: string
readOnly: true
subtype:
description: 'The product subtype name, which is derived from the linked product subtype. This is a derived, immutable property.'
type: string
readOnly: true
timeDeposit:
$ref: '#/components/schemas/timeDeposit'
constraints:
$ref: '#/components/schemas/constraints'
type: object
x-apiture-flattened: true
organization:
title: Organization
description: |-
Representation of content and descriptive data (mailing addresses,
phone numbers, email addresses) for an organization.
An organization which is used for a business banking account
may have authorized signers, which are people authorized
to perform banking operations on the business account(s) such as
initiating funds transfers.
Regulations require identifying an organization's _beneficial owners_:
people who own 25% or more of a business. These may be listed and updated
with the `getBeneficialOwners` and `updateBeneficialOwners` operations.
An organization may have the following links in the `_links` object:
* **`apiture:activate`** - Activate a new, pending organization.
* **`apiture:deactivate`** - Deactivate an organization (if it
is pending or active).
* **`apiture:remove`** - Remove an inactive organization.
* **`apiture:authorizedSigners`** - List the authorized signers.
* **`apiture:beneficialOwners`** - List the beneficial owners.
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
customerId: 000489353781
_profile: 'https://api.apiture.com/schemas/organizations/organization/v1.0.0/profile.json'
name: Smith's Auto Detailing
label: Smith's Detailing
tradeName: Smith's Auto Detailing
emailAddresses:
- _id: ea0
type: work
value: smitties-detailing@example.com
preferredEmailAddressId: ea0
phones:
- type: work
number: (555) 555-5555
_id: wp0
- type: mobile
number: (999) 555-5555
_id: wp1
preferredPhoneNumberId: wp0
addresses:
- type: work
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
- type: work
addressLine1: 123 S 3rd Street
addressLine2: Apt 42
city: Wilmington
regionCode: NC
postalCode: 28411-5405
countryCode: US
preferredMailingAddressId: wa0
establishedDate: 2009-07-09T
identification:
- type: taxId
value: 00-9999999
state: active
governmentOwned: false
registeredIn: NC
publiclyHeld: false
smallBusiness: true
taxExempt: false
currency: USD
estimatedAnnualRevenue: from1to10Million
estimatedMonthlyAmounts:
sentWire: moreThanOneMillion
receivedWire: oneHundredThousandToOneMillion
mobileCheckDeposit: upToOneHundredThousand
receivedAch: upToOneHundredThousand
sentAch: moreThanOneMillion
type: corporation
subtype: soleProprietorship
employeeCountLowerBound: 1
employeeCountUpperBound: 1
countryOfOperations: US
physicalLocationsCount: under10
mobileCheckDepositEnabled: true
achEnabled: true
authorizedSigners: []
beneficialOwners: []
createdAt: '2018-04-17T10:04:46.375Z'
updatedAt: '2018-04-17T10:12:58.375Z'
_links:
self:
href: /organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c
'apiture:deactivate':
href: /organizations/inactiveOrganizations?organization=0399abed-fd3d-4830-a88b-30f38b8a365c
_embedded: {}
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organization/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/summaryOrganization'
- properties:
- createdAt
- updatedAt
- attributes
- _embedded
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'Embedded objects, as selected with the `?embed` query parameter.'
type: object
properties:
authorizedSigners:
$ref: '#/components/schemas/authorizedSigners'
beneficialOwners:
$ref: '#/components/schemas/beneficialOwners'
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
name:
description: The organization's official full name
type: string
label:
description: The organization's common name.
type: string
type:
description: |-
Indicates what type of organization this resource represents.
The enumeration values are described by the `organizationType`
value in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/organizationType'
subtype:
description: |-
A refinement of the `type`.
The enumeration values are described by the `organizationSubtype`
value in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/organizationSubtype'
identification:
description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
type: array
items:
$ref: '#/components/schemas/organizationIdentification'
addresses:
description: An array containing address items.
type: array
items:
$ref: '#/components/schemas/organizationAddress'
phones:
description: >-
An array of phone numbers associated with the organization. The first item, if present, is the default (preferred) organization phone
number.
type: array
items:
$ref: '#/components/schemas/organizationPhoneNumber'
emailAddresses:
description: 'An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.'
type: array
items:
$ref: '#/components/schemas/organizationEmailAddress'
preferredEmailAddressId:
description: |-
The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
This value is set with the `setPreferredEmailAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
preferredPhoneId:
description: >-
The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
the `setPreferredPhoneNumber` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
preferredMailingAddressId:
description: >-
The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
`setPreferredMailingAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
establishedDate:
description: The date the organization was established.
type: string
format: date
state:
description: >-
The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
operation.
allOf:
- $ref: '#/components/schemas/organizationState'
tradeName:
type: string
description: The trade name of the organization.
governmentOwned:
description: Indicates whether the organization is a government-owned entity.
type: boolean
publiclyHeld:
description: Indicates whether the organization is publicly held.
type: boolean
smallBusiness:
description: Indicates whether the organization is classified as a small business
type: boolean
taxExempt:
description: Indicates whether the organization is the tax-exempt.
type: boolean
employeeCountRange:
description: 'Indicates the approximate number of employees, as a range.'
type: string
x-apiture-choice: employeeCountRange
employeeCountLowerBound:
description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
type: integer
readOnly: true
minimum: 1
employeeCountUpperBound:
description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
type: number
readOnly: true
maximum: 20000000
homeUrl:
description: The organization's home page.
type: string
industry:
description: Indicates what industry does this organization work within.
type: string
x-apiture-choice: industrySectors
countryOfOperations:
type: string
description: The ISO 3166-1 country code for the organization's operation.
minLength: 2
maxLength: 2
regulatory:
description: Answers to organization-specific regulatory questions.
allOf:
- $ref: '#/components/schemas/regulatory'
currency:
description: >-
The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. TODO: ISO
4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
type: string
minLength: 3
maxLength: 3
mobileCheckDepositEnabled:
description: Indicates that the organization use mobile check deposits.
type: boolean
achEnabled:
description: Indicates that the organization use ACH transfers.
type: boolean
estimatedMonthlyAmounts:
description: Estimated monthly amounts for banking services.
allOf:
- $ref: '#/components/schemas/estimatedMonthlyAmounts'
accountPurpose:
title: Account purpose
description: The purpose of the account.
allOf:
- $ref: '#/components/schemas/accountPurpose'
registeredIn:
description: The US state or other region in which the organization is registered.
type: string
example: NC
minLength: 2
maxLength: 2
pattern: '^[a-zA-Z]{2}$'
x-apiture-choice: regionCodes
_id:
description: The unique identifier for this organization resource. This is an immutable opaque string.
readOnly: true
type: string
customerId:
description: >-
The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the
organization in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Organizations API).
type: string
minLength: 1
maxLength: 100
readOnly: true
example: 000489353781
createdAt:
description: The date-time when the organization was created.
type: string
format: date-time
updatedAt:
description: The date-time when the organization was updated
type: string
format: date-time
attributes:
type: object
description: An optional map of name/value pairs which provide additional metadata about the organization.
type: object
x-apiture-flattened: true
businessVerifications:
x-apiture-version: 2.0.0
title: Business Verifications (v2.0.0)
description: >-
Representation of the verification results that were previously generated by this service via the `POST /businessVerifications`. The result
contains a link to `apiture:organization` if an `apiture:organization` link was passed on the request to create the report.
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/businessVerifications/v2.0.0/model.json'
x-apiture-namespace: businessVerifications
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- properties:
- businessVerifications
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
businessVerifications:
description: An array of business verification resources
type: array
items:
$ref: '#/components/schemas/businessVerification'
type: object
x-apiture-flattened: true
approval:
title: Approval
description: |-
An approval represents the _review_ of some process, activity or resource,
such as a document or an application. The state of the approval is
recorded in its `state` property. The target of the approval is in the
link named `apiture:target`; see the _Create Approval_ schema and
`createApproval` operation.
Links on an approval convey which state transitions are available.
The client should use `POST` to invoke these operations, using the `href`
on the named link object. No request body is used on these operations.
The absence of a link indicates that the particular state transition is
not available at that time or that the caller is not authorized to make
the change. For example, a bank customer may lack permissions to approve a wire
transfer they submitted.
x-apiture-links:
- rel: self
operationId: getApproval
- rel: 'apiture:approve'
operationId: approveApproval
- rel: 'apiture:reject'
operationId: rejectApproval
- rel: 'apiture:waive'
operationId: waiveApproval
- rel: 'apiture:return'
operationId: returnApproval
- rel: 'apiture:submit'
operationId: submitApproval
- rel: 'apiture:cancel'
operationId: cancelApproval
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/approvals/approvals/v1.0.0/profile.json'
reason: Invalid U.S. Address
createdAt: '2018-04-17T10:04:46.375Z'
updatedAt: '2018-04-17T10:12:58.375Z'
_links:
self:
href: /approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c
'apiture:approvalType':
href: /approvals/approvalTypes/e4f09b4d-eba6-46da-86d3-ba28595067cd
'apiture:target':
href: /vault/files/e4f09b4d-eba6-46da-86d3-hjr434fuhe
_embedded:
approvalType:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/approvals/approvalTypes/v1.0.0/profile.json'
_links:
self:
href: /approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c
name: governmentId
label: Government Issued ID
description: A document that identifies a user
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/approval/v1.0.0/model.json'
x-apiture-namespace: approvals
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/updateApproval'
- properties:
- reason
- createdAt
- updatedAt
- _embedded
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: Embedded objects.
allOf:
- $ref: '#/components/schemas/approvalEmbeddedObjects'
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
label:
description: 'The approval''s common name. If omitted on create request, this will default to the label of the Approval Type.'
type: string
description:
description: 'The approval''s description. If omitted on create request, this will default to the description of the Approval Type.'
type: string
state:
description: >-
The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding `POST`
operations, `submitApproval`, `approveApproval`, `rejectApproval`, `waiveApproval`, `returnApproval`, and `cancelApproval`, if the
corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined
by the approval type.
allOf:
- $ref: '#/components/schemas/approvalState'
readOnly: true
done:
description: >-
If `done` is true, the approval is in a terminal state and may no longer be acted upon. Done states include `canceled`, `approved`,
`waived` or `rejected`. This property is derived from the `state` field and is immutable.
type: boolean
readOnly: true
typeName:
description: The name of the Approval Type. This field is immutable and derived from the name of the Approval Type.
type: string
reviewedBy:
description: The id of the User that reviewed the approval.
type: string
readOnly: true
reviewedAt:
description: The date-time when the approval was reviewed.
type: string
format: date-time
readOnly: true
_id:
description: The unique identifier for this approval resource. This is an immutable opaque string.
readOnly: true
type: string
attributes:
type: object
description: An optional map of name/value pairs which provide additional metadata about the approval.
reason:
description: 'The reason given for the last state change, such as why the approval was approved, rejected, waived, canceled, or returned.'
type: string
maxLength: 512
createdAt:
description: The date-time when the approval was created.
type: string
format: date-time
updatedAt:
description: The date-time when the approval was updated.
type: string
format: date-time
type: object
x-apiture-flattened: true
transferAccount:
title: Transfer Account (v1.0.0)
description: Summary properties of the source and target account for a transfer.
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/transfers/transferAccount/v1.0.0/model.json'
x-apiture-namespace: transfers
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- properties:
- accountTitle
- title
- institutionName
- routingNumber
- accountNumbers
- ifxType
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
accountTitle:
description: >-
The title of the account. Traditionally, this is the name of the account holder. This field is deprecated and will be removed in a future
release; use `title` instead.
maxLength: 512
type: string
example: John Smith
title:
description: 'The title of the account. Traditionally, this is the name of the account holder.'
maxLength: 512
type: string
example: John Smith
institutionName:
description: The name of the financial institution.
type: string
minLength: 2
maxLength: 128
example: 3rd Party Bank
readOnly: true
routingNumber:
description: >-
The account routing number which identifies the financial institution. The full routing number and full account number are required to
fully identify the account.
type: string
minLength: 9
maxLength: 9
example: '021000021'
readOnly: true
accountNumbers:
description: The account numbers for this account
type: object
allOf:
- $ref: '#/components/schemas/accountNumbers'
readOnly: true
ifxType:
description: 'A code which identifies the product type. This is one of the [IFX AcctType](https://ifxforum.org) values.'
allOf:
- $ref: '#/components/schemas/ifxType'
readOnly: true
type: object
x-apiture-flattened: true
abstractRequest:
x-apiture-version: 2.0.0
title: Abstract Request (v2.0.0)
description: >-
An abstract schema used to define other request-only schemas. This is a [HAL](https://tools.ietf.org/html/draft-kelly-json-hal-08) resource
representation, minus the `_error` defined in `abstractResource`.
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
example:
_profile: '{uri of resource profile.json}'
_links:
self:
href: '{uri of current resource}'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/model.json'
x-apiture-namespace: common
type: object
x-apiture-flattened: true
abstractResource:
x-apiture-version: 2.0.0
title: Abstract Resource (v2.0.0)
description: >-
An abstract schema used to define other schemas for request and response bodies. This is a
[HAL](https://tools.ietf.org/html/draft-kelly-json-hal-08) resource representation. This model contains hypermedia `_links`, and either
optional domain object data with `_profile` and optional `_embedded` objects, or an `_error` object. In responses, if the operation was
successful, this object will not include the `_error`, but if the operation was a 4xx or 5xx error, this object will not include `_embedded`
or any data fields, only `_error` and optionally `_links`.
example:
_profile: '{uri of resource profile.json}'
_links:
self:
href: '{uri of current resource}'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/abstractResource/v2.0.0/model.json'
x-apiture-namespace: common
x-apiture-composition:
- $ref: '#/components/schemas/abstractRequest'
- properties:
- _error
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
type: object
x-apiture-flattened: true
collection:
x-apiture-version: 2.0.0
title: Collection (v2.0.0)
description: A collection of resources. This is an abstract model schema which is extended to define specific resource collections.
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/collection/v2.0.0/model.json'
x-apiture-namespace: common
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- properties:
- count
- start
- limit
- name
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
count:
description: >-
The number of items in the collection. This value is _optional_ and may be omitted if the count is not computable efficiently. If a filter
is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the
filter.
type: integer
start:
description: The start index of this page of items.
type: integer
limit:
description: The maximum number of items per page.
type: integer
name:
description: The name of the collection.
type: string
type: object
x-apiture-flattened: true
contact:
title: Contact
description: 'Representation of a contact resource. Contact data (mailing addresses, phone numbers, email addresses) for an individual.'
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json'
firstName: John
middleName: Daniel
lastName: Smith
preferredName: John
suffix: MD
identification:
- type: taxId
value: 111-11-1111
emailAddresses:
- _id: ea1
value: api@apiture.com
type: personal
- _id: ek3
value: support@apiture.com
type: work
preferredEmailAddressId: ea1
phones:
- _id: pa1
type: home
number: (555) 555-5555
- _id: da6
type: mobile
number: (999) 555-5555
preferredPhoneId: pa1
birthdate: '1974-10-27'
citizenship:
- countryCode: US
state: citizen
residencyStatus: resident
occupation: officeAndAdministrativeSupport
addresses:
- _id: ha1
type: home
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
- _id: wa1
type: work
addressLine1: 123 S 3rd Street
addressLine2: Apt 42
city: Wilmington
regionCode: NC
postalCode: 28411-5405
countryCode: US
preferredMailingAddressId: ha1
identityVerification:
provider: IDology
sessionId: '123456'
scoredAt: '2019-09-13T13:06:52.078Z'
score: passed
state: verified
yearsAtAddress: 3
mailingDifferentAddress: false
kycAnswers:
citizen: true
permanentResident: true
w9Withholdings: false
employmentStatus: fullTime
occupation: officeAndAdministrativeSupport
foreignPoliticalFigure: false
countryPoliticalFigure: N/A
familyOfPoliticalFigure: false
state: active
createdAt: '2018-04-17T10:04:46.375Z'
updatedAt: '2018-04-17T10:12:58.375Z'
_links:
self:
href: /contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c
'apiture:deactivate':
href: /contacts/inactiveContacts?contact=0399abed-fd3d-4830-a88b-30f38b8a365c
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/contact/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/summaryContact'
- properties:
- attributes
- createdAt
- updatedAt
properties:
kycAnswers:
description: >-
An object that contains the answers to Know Your Customer (KYC) questions. **Warning**: This property is deprecated. Identity verification
details will only exist on Users, not Contacts.
x-apiture-deprecated: true
x-apiture-pii: true
type: object
identityVerificationStatus:
description: >-
Use the `state` of `identityVerification`. The identity verification status for this person. This field is read-only and is derived from
the results of any identity verification processes executed against the personally identifiable information (PII) contained in this
record. **Warning**: This property is deprecated. Identity verification details will only exist on Users, not Contacts.
x-apiture-deprecated: true
type: string
readOnly: true
enum:
- verified
- unverified
identityVerification:
description: >-
The identity verification data for this person. These fields are derived from the results of any identity verification processes executed
against the personally identifiable information (PII) contained in this record. **Warning**: This property is deprecated. Identity
verification details will only exist on Users, not Contacts.
x-apiture-deprecated: true
type: object
allOf:
- $ref: '#/components/schemas/identityVerification'
firstName:
description: The person's first name (or given name).
type: string
middleName:
description: The person's middle name.
type: string
lastName:
description: The person's last name (or surname).
type: string
addresses:
description: An array of postal/mailing addresses.
type: array
items:
$ref: '#/components/schemas/address'
preferredMailingAddressId:
description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
type: string
minLength: 1
maxLength: 4
emailAddresses:
description: An array of email addresses.
type: array
items:
$ref: '#/components/schemas/typedEmailAddress'
preferredEmailAddressId:
description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
type: string
minLength: 1
maxLength: 4
phones:
description: An array of phone numbers.
type: array
items:
$ref: '#/components/schemas/phoneNumber'
preferredPhoneId:
description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
type: string
minLength: 1
maxLength: 4
prefix:
description: A title or honorific prefix such as Dr. or Fr.
type: string
maxLength: 20
suffix:
description: A title or honorific suffix such as PhD or DDS.
type: string
maxLength: 20
preferredName:
description: >-
The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
`firstName`.
type: string
identification:
description: A collection of official identifying information associated with the contact.
x-apiture-pii: true
type: array
items:
$ref: '#/components/schemas/identification'
preferredContactMethod:
description: The contact's preferred method of communication.
allOf:
- $ref: '#/components/schemas/preferredContactMethod'
birthdate:
description: The contact's birth date in `YYYY-MM-DD` format.
type: string
format: date
citizenship:
description: This individual's citizenship or nationality status.
allOf:
- $ref: '#/components/schemas/citizenship'
residencyStatus:
description: This individual's residency status.
allOf:
- $ref: '#/components/schemas/residencyStatus'
occupation:
description: The occupation of this individual.
allOf:
- $ref: '#/components/schemas/occupation'
otherOccupation:
description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
type: string
minLength: 4
maxLength: 32
yearsAtAddress:
description: The number of years the person has been at their present home address.
allOf:
- $ref: '#/components/schemas/yearsAtAddress'
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
state:
description: The state of this person's record.
readOnly: true
allOf:
- $ref: '#/components/schemas/contactState'
_id:
description: The unique identifier for this contact resource. This is an immutable opaque string.
readOnly: true
type: string
attributes:
type: object
description: An optional map of name/value pairs which provide additional metadata about the contact.
createdAt:
description: The date-time when the contact was created.
type: string
format: date-time
updatedAt:
description: The date-time when the contact was updated
type: string
format: date-time
type: object
x-apiture-flattened: true
summaryUser:
title: Summary User
description: >-
Summary representation of a user resource in user collections. This representation normally does not contain any `_embedded` objects. If
needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/summaryUser/v1.0.0/model.json'
x-apiture-namespace: users
x-apiture-version: 1.0.0
x-apiture-composition:
- properties:
- _id
- customerId
- $ref: '#/components/schemas/userFields'
- $ref: '#/components/schemas/abstractResource'
properties:
firstName:
description: The person's first name (or given name).
type: string
middleName:
description: The person's middle name.
type: string
lastName:
description: The person's last name (or surname).
type: string
addresses:
description: An array of postal/mailing addresses. Add or delete addresses with the `createAddress` and `deleteAddress` operations.
type: array
items:
type: object
$ref: '#/components/schemas/userAddress'
readOnly: true
preferredMailingAddressId:
description: >-
The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
`setPreferredMailingAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
emailAddresses:
description: An array of email addresses. Add or delete email addresses with the `createEmailAddress` and `deleteEmailAddress` operations.
type: array
items:
$ref: '#/components/schemas/userEmailAddress'
readOnly: true
preferredEmailAddressId:
description: |-
The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
This value is set with the `setPreferredEmailAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
phones:
description: An array of phone numbers.
type: array
items:
$ref: '#/components/schemas/phoneNumber'
preferredPhoneId:
description: >-
The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with the
`setPreferredPhoneNumber` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
prefix:
description: A title or honorific prefix such as Dr. or Fr.
type: string
maxLength: 20
suffix:
description: A title or honorific suffix such as PhD or DDS.
type: string
maxLength: 20
preferredName:
description: >-
The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
`firstName`.
type: string
identification:
description: A collection of official identifying information associated with the contact.
x-apiture-pii: true
type: array
items:
$ref: '#/components/schemas/identification'
preferredContactMethod:
description: The contact's preferred method of communication.
allOf:
- $ref: '#/components/schemas/preferredContactMethod'
birthdate:
description: The contact's birth date in `YYYY-MM-DD` format.
type: string
format: date
citizenship:
description: This individual's citizenship or nationality status.
allOf:
- $ref: '#/components/schemas/citizenship'
residencyStatus:
description: This individual's residency status.
allOf:
- $ref: '#/components/schemas/residencyStatus'
occupation:
description: The occupation of this individual.
allOf:
- $ref: '#/components/schemas/occupation'
otherOccupation:
description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
type: string
minLength: 4
maxLength: 32
yearsAtAddress:
description: The number of years the person has been at their present home address.
allOf:
- $ref: '#/components/schemas/yearsAtAddress'
kycAnswers:
description: This user's answers Know Your Customer (KYC) questions.
x-apiture-pii: true
readOnly: true
allOf:
- $ref: '#/components/schemas/kycAnswers'
identityVerification:
description: >-
The identity verification data for this person. These fields are derived from the results of any identity verification processes executed
against the personally identifiable information (PII) contained in this record.
type: object
readOnly: true
allOf:
- $ref: '#/components/schemas/identityVerification'
username:
description: The unique username for the user.
type: string
state:
description: |-
The state of this user record. The default is `active`.
* Users may not be deleted, but Users with a `state` of `active`, `inactive` or `locked`
may be removed by `POST`ing to the `/removedUsers` endpoint via the `apiture:remove`
endpoint. Removed users may not be reactivated.
* Users with a `state` of `active` or `locked` may be deactivated by `POST`ing to
the `/inactiveUsers` endpoint via the `apiture:deactivate` endpoint.
* Users with a `state` of `inactive` or `locked` may be activated by `POST`ing to
the `/activeUsers` endpoint via the `apiture:activate` endpoint.
* Users with a `state` of `active` or `inactive` may be locked by `POST`ing to
the `/lockedUsers` endpoint via the `apiture:lock` endpoint. A `state` of `locked`
indicates a user has entered the password incorrectly too many times.
* Users with a `state` of `active`, `inactive` or locked may be frozen by
`POST`ing to the `/frozenUsers` endpoint via the `apiture:freeze` endpoint.
A `state` of `frozen` indicates a user can no longer access online banking until
the financial institution re-activates the user.
* Users with a `state` of `active`, `inactive`, or `locked` may be
merged by `POST`ing to the `/mergedUsers` endpoint via the `apiture:merge` endpoint.
Merged users may not have their state changed.
type: string
enum:
- active
- inactive
- locked
- frozen
- merged
- removed
x-apiture-enum: userState
phoneNumbers:
description: An array of phone numbers. Add or delete phoneNumbers with the `createPhoneNumber` and `deletePhoneNumber` operations.
type: array
items:
$ref: '#/components/schemas/userPhoneNumber'
readOnly: true
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
description: The unique identifier for this user resource. This is an opaque string.
readOnly: true
type: string
customerId:
description: >-
The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the
user in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Users API).
type: string
minLength: 1
maxLength: 100
readOnly: true
example: 00047294723672
type: object
x-apiture-flattened: true
role:
title: Role
description: >-
Representation of a role resource. Roles are used to associate resources. The most common roles may be related to entitlements(users) but can
also be applied to organizations or non-users (such as beneficiaries, payees, etc.).
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json'
_links:
self:
href: /associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c
name: primaryUser
label: Primary User
createdAt: '2018-02-01T13:07:01.375Z'
description: |-
The account owner has full control across the account.
There may be only one primary user.
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/associations/role/v1.0.0/model.json'
x-apiture-namespace: associations
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/updateRole'
- properties:
- createdAt
properties:
name:
description: >-
The name of this role, for identification purposes, such as `primaryOwner`, `beneficiary`, `authorizedSigner`. Some roles have well-known
uses in the platform.
type: string
maxLength: 128
minLength: 1
example: primaryUser
label:
description: 'The text label for this role, for use in human presentation. This field may be localized.'
type: string
maxLength: 128
minLength: 1
example: Primary User
description:
description: A fuller description of this role. This field may be localized.
type: string
maxLength: 4096
minLength: 1
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
description: The unique identifier for this role resource. This is an immutable opaque string.
readOnly: true
type: string
createdAt:
description: 'The date-time when the role was created. This is in ISO 8601 format, UTC. This is derived and immutable.'
type: string
format: date-time
readOnly: true
type: object
x-apiture-flattened: true
contactVerification:
title: Verification (v2.0.0)
description: The contact's verification history and status.
x-apiture-version: 2.0.0
example:
_links:
'apiture:user':
href: /users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3
verifications:
- type: fraudRiskReport
_links:
self:
href: /identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5
state: passed
createdAt: '2018-01-12T10:15:17Z'
- type: quiz
_links:
self:
href: /identity/quizzes/73be83af-9e64-4214-8e90-76da43610b31
state: passed
createdAt: '2018-01-12T10:19:41Z'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/contactVerification/v2.0.0/model.json'
x-apiture-namespace: identity
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- properties:
- verifications
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
verifications:
description: The history of this contact's identity verifications.
type: array
items:
$ref: '#/components/schemas/identityHistoryItem'
type: object
x-apiture-flattened: true
consent:
title: Consent
description: Representation of a consent resource. Users consent or acceptance of a policy or other document.
x-apiture-links:
- rel: 'apiture:rescind'
operationId: rescindConsents
- rel: 'apiture:revoke'
operationId: revokeConsent
- rel: 'apiture:give'
operationId: giveConsent
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/consents/consent/v1.0.0/profile.json'
document:
uri: /vault/files/fd44d565-0086-4caf-8d9f-3b7681809251/content
contentType: application/pdf
revisionId: '2019:1.02.0'
revisedAt: '2019-07-23T08:26:45.375Z'
state: given
givenAt: '2019-07-23T13:27:34.375Z'
type: productTermsAndConditions
userId: 5a5e834c-a7bd-401c
contextUri: /products/products/34011fe5-192d-4ffb-be32-e7215e56028a
_links:
self:
href: /consents/consents/0399abed-fd3d-4830-a88b-30f38b8a365c
'apiture:revoke':
href: /consents/revokedConsents?consent=0399abed-fd3d-4830-a88b-30f38b8a365c
'apiture:rescind':
href: /consents/rescindedConsents?consent=0399abed-fd3d-4830-a88b-30f38b8a365c
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/consents/consent/v1.0.0/model.json'
x-apiture-namespace: consents
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/summaryConsent'
properties:
document:
description: Properties of the target document.
allOf:
- $ref: '#/components/schemas/document'
type:
description: Describe what kind of consent this is. This value must be one of the type names in the `/consentTypeNames` resource.
type: string
contextUri:
description: >-
The URI of a resource that establishes the context in which the user's consent is requested for a specific document. For example, for
consent of an account's terms and conditions, the context might be the banking product for that account.
type: string
format: uri
maxLength: 2048
userId:
description: The user ID of the user who is requested to consent to a document. This is the `_id` of the User resource.
type: string
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
description: The unique identifier for this consent resource. This is an immutable opaque string.
readOnly: true
type: string
state:
description: The state of this consent.
allOf:
- $ref: '#/components/schemas/consentStates'
readOnly: true
givenAt:
description: >-
The time stamp when the user last consented to the document, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time format
(`YYYY-MM-DDThh:mm:ss.sssZ`). This property is not set if `state` is `pending`.
type: string
format: date-time
readOnly: true
requestRevokedAt:
description: >-
The time stamp when the user revoked consent, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time format
(`YYYY-MM-DDThh:mm:ss.sssZ`). A revoked consent reflects a consent request that the user has previously given but has reversed. Revoking a
consent sets the `state` back to `pending` and clears `consentedAt`.
type: string
format: date-time
readOnly: true
requestRescindedAt:
description: >-
The time stamp when the consent _request_ was rescinded by the requester, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time
format (`YYYY-MM-DDThh:mm:ss.sssZ`). A rescinded consent reflects a consent request that the system or application has issued in the past
but no longer requires. For example, if a user is removed as an authorized signer from an account and a consent is pending for that
account's terms and conditions, the Accounts service may rescind that consent request. This property is set only if `state` is
`rescinded`.
type: string
format: date-time
readOnly: true
type: object
x-apiture-flattened: true
fraudRiskReport:
title: Fraud-risk Report (v2.0.0)
description: >
The result of running a fraud-risk analysys.
Links
Response and request bodies using this fraudRiskReport
schema may contain
the following links:
Rel | Summary | Method |
self | Fetch a representation of this fraud-risk
report | GET |
apiture:user |
The user | GET |
x-apiture-version: 2.0.0
x-apiture-links:
- rel: self
operationId: getFraudRiskReport
- rel: 'apiture:user'
method: get
title: The user
description: The user that this resource is verifying.
example:
_profile: 'https://api.apiture.com/schemas/identity/fraudRiskReport/v2.0.0/profile.json'
_links:
self:
href: /identity/fraudRiskReports/c6dbc32f-e0eb-4947-9819-c691bb9164a5
'apiture:user':
href: /users/users/6da5ccc7-727a-4256-bdd4-74023ae349c3
_id: c6dbc32f-e0eb-4947-9819-c691bb9164a5
type: fraudRiskReport
inputs:
identity:
_profile: 'https://api.apiture.com/schemas/identity/identity/v2.0.0/profile.json'
taxId: '*****3333'
firstName: John
lastName: Smith
address1: 1741 Tiburon Dr
city: Wilmington
region: NC
postalCode: '28403'
phone: 555-555-5555
birthdate: '1940-10-15'
email: api@apiture.com
ipAddress: 127.0.0.1
outputs:
state: passedWithRiskFactors
fraudRiskCategories:
- type: personalInfoDoesNotMatch
description: The retrieved identity does not match the provided PII.
- type: addressIsHighRisk
description: The provided address is considered high-risk
- type: addressIsPOBoxOrNonApproved
description: The provided address is a PO Box or other non-approved address
- type: identityOnGovernmentWatchlist
description: The provided identity is located on one or more watchlists
- type: ipRestricted
description: The provided IP address is restricted
- type: emailRestricted
description: The provided email address is restricted
- type: nonStandardTaxId
description: 'The provided taxId is non-standard. Example: The provided SSN is an ITIN (Individual Taxpayer Identification Number)'
- type: ageRestricted
description: >-
The provided identity does not meet the required age. Example: US COPPA laws forbid conducting e-commerce with people under 14 years
of age.
token: >-
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.XbPfbIHMI6arZ3Y922BhjWgQzWXcXNrz0ogtVhfEd2o
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskReport/v2.0.0/model.json'
x-apiture-namespace: identity
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- $ref: '#/components/schemas/identityVerificationFields'
- properties:
- type
- inputs
- outputs
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
type: string
description: A unique identifier for this resource instance. This is is an opaque string.
readOnly: true
createdAt:
description: >-
The date-time when the resource was created. This is an [RFC 3066](https://tools.ietf.org/html/rfc3339) time stamp in the form
`YYYY-DD-MMThh:mm:ss.sssZ`.
type: string
format: date-time
expiresAt:
description: >-
The date-time when the resource expires. This is an [RFC 3066](https://tools.ietf.org/html/rfc3339) time stamp in the form
`YYYY-DD-MMThh:mm:ss.sssZ`.
type: string
format: date-time
type:
description: |
The type of identity verification report. A fraud-risk report uses `type` of `fraudRiskReport`.
allOf:
- $ref: '#/components/schemas/identityVerificationType'
readOnly: true
inputs:
$ref: '#/components/schemas/fraudRiskReportInputs'
outputs:
$ref: '#/components/schemas/fraudRiskReportOutputs'
type: object
x-apiture-flattened: true
verificationReport:
x-apiture-version: 2.0.0
title: Verification Report (v2.0.0)
description: Representation of verification report resources.
example:
createdAt: '2018-04-17T10:04:46.375Z'
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_embedded: {}
input:
businessName: ABC EXAMPLE CO.
phone: 555-555-1234
identification:
- type: taxId
value: 12-347894309
authorizedSigners:
- firstName: Jane
lastName: Doe
identification:
- type: taxId
value: 121-34-5431
birthdate: '1980-12-01'
email: email@email.com
addresses:
- addressLine1: 3212 N. 2nd Ave.
city: Wilmington
regionCode: NC
postalCode: '28412'
reportScoringSummary:
transactionId: 578490325jk439834yuf43
state: failed
businessVerification:
- value: 40
description: Strong verification of the input data is confirmed
businessRiskFactors:
- riskCode: '20'
description: Unable to verify business address on business records
- riskCode: '21'
description: Unable to verify business TIN on business records
comprehensiveVerificationScores:
- inputRepNumber: '1'
score: 20
description: 'Full name, address, phone, SSN verified'
authorizedRepresentativeRiskFactors:
- riskCode: '81'
description: The input date-of-birth was missing or incomplete
- riskCode: '25'
description: Unable to verify address
reportResults: {}
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/verificationReport/v2.0.0/model.json'
x-apiture-namespace: businessVerifications
x-apiture-composition:
- $ref: '#/components/schemas/summaryVerificationReport'
- properties:
- createdAt
- _embedded
- input
- reportScoringSummary
- reportResults
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: The objects which participate in this verification report
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
description: The unique identifier for this verification report resource. This is an immutable opaque string.
readOnly: true
type: string
reportScoringSummary:
$ref: '#/components/schemas/verificationReportScoringSummary'
createdAt:
description: An ISO 8601 UTC time stamp indicating when the verification report was created.
type: string
format: date-time
input:
$ref: '#/components/schemas/createVerificationReport'
reportResults:
description: The raw verification report results
type: object
type: object
x-apiture-flattened: true
externalAccountState:
x-apiture-version: 1.0.0
title: External Account State
description: >-
The state of an external (linked) banking account. This field is immutable and derived.
* **`pending`** : A new external account that has not been verified
* **`verifying`** : A new account that is being verified. This state only
applies to _external_ accounts.
* **`failed`** : A external account which has failed account verification.
* **`active`** : An account which is active and available for use
and for making new transactions.
* **`inactive`** : An account which is marked inactive and
not available for new transactions. Inactive accounts
may be changed back to active.
* **`frozen`** : An account which is frozen and not eligible
for new transactions. This is typically the result of
suspicious activity or fraud detection. The user must contact
their financial institution to unfreeze the account (by changing
the state back to `active`) or the financial institution
may opt to close the account.
* **`closed`** : An account that is closed and removed from use.
Closed accounts are not eligible for transactions or to become active.
Such accounts are retained for historical purposes because some
transactions may refer to it. Users do not see closed accounts
when they view their accounts.
* **`underReview`** : A new account that is being under review. This state only
applies to _external_ accounts.
To change the state of an account, `POST` the account ID to the corresponding resource endpoints, using the corresponding link on the account
resource. To activate an account, use the `apiture:activate` link to `POST` to `/accounts/activeAccounts`. To deactivate an account, use the
`apiture:deactivate` link to `POST` to `/accounts/inactiveAccounts`. To freeze an account, use the `apiture:freeze` link to `POST` to
`/accounts/frozenAccounts`. To close an account, use the `apiture:close` link to `POST` to `/accounts/closedAccounts`. To under review an
account, use the `apiture:review` link to `POST` to `/accounts/externalAccountsUnderReview`.
type: string
enum:
- pending
- verifying
- failed
- active
- inactive
- frozen
- closed
- underReview
x-apiture-enum: externalAccountState
example: active
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/accounts/externalAccountState/v1.0.0/model.json'
x-apiture-namespace: accounts
x-apiture-flattened: true
configurationSchemaValue:
x-apiture-version: 2.0.0
title: Configuration Schema Value (v2.0.0)
description: The data associated with this configuration schema.
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationSchemaValue/v2.0.0/model.json'
x-apiture-namespace: configurations
type: object
properties: {}
x-apiture-flattened: true
links:
title: Links (v1.0.0)
x-apiture-version: 1.0.0
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
type: object
x-apiture-key: linkRelationName
additionalProperties:
$ref: '#/components/schemas/link'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/links/v1.0.0/model.json'
x-apiture-namespace: common
properties: {}
x-apiture-flattened: true
configurationGroupSummary:
x-apiture-version: 2.0.0
title: Configuration Group Summary (v2.0.0)
description: A summary of the data contained within a configuration group resource.
example:
_profile: 'https://api.apiture.com/schemas/configurations/configurationGroupSummary/v2.0.0/profile.json'
_links:
self:
href: /configurations/groups/basic
name: basic
label: Basic Settings
description: The basic settings for the Transfers API
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationGroupSummary/v2.0.0/model.json'
x-apiture-namespace: configurations
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- properties:
- name
- label
- description
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
name:
description: 'The name of this configuration group, must be unique within the set of all resources of this type.'
type: string
maxLength: 48
minLength: 1
pattern: '[a-zA-Z][-\w_]*'
example: transfers
label:
description: 'The text label for this resource, suitable for presentation to the client.'
type: string
maxLength: 128
minLength: 1
example: Transfers Configuration
description:
description: 'The full description for this resource, suitable for presentation to the client.'
type: string
maxLength: 4096
minLength: 1
example: The configuration for the Transfers API.
type: object
x-apiture-flattened: true
configurationValue:
x-apiture-version: 2.0.0
title: Configuration Value (v2.0.0)
description: The data associated with this configuration.
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/configurations/configurationValue/v2.0.0/model.json'
x-apiture-namespace: configurations
type: object
properties: {}
x-apiture-flattened: true
error:
x-apiture-version: 2.0.0
title: Error (v2.0.0)
description: Describes an error in an API request or in a service called via the API.
required:
- message
properties:
message:
type: string
description: A localized message string describing the error condition.
_id:
description: >-
A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at
the source of the error). This is is an opaque string.
readOnly: true
type: string
statusCode:
description: The HTTP status code associate with this error.
type: integer
minimum: 100
maximum: 599
example: 422
type:
type: string
description: >-
An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to
render an appropriate message or hint. This provides a finer level of granularity than the `statusCode`. For example, instead of just 400
Bad Request, the `type` may be much more specific. such as `integerValueNotInAllowedRange` or `numericValueExceedsMaximum` or
`stringValueNotInAllowedSet`.
occurredAt:
type: string
format: date-time
description: 'An [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC time stamp indicating when the error occurred.'
example: '2018-02-02T03:37:15.375Z'
attributes:
description: >-
Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the
`minimum` and `maximum` values. This allows clients to present error messages as they see fit (the API does not assume the
client/presentation tier). The set of attributes varies by error `type`.
allOf:
- $ref: '#/components/schemas/attributes'
remediation:
type: string
description: An optional localized string which provides hints for how the user or client can resolve the error.
errors:
description: An optional array of nested error objects. This property is not always present.
type: array
items:
$ref: '#/components/schemas/error'
_links:
$ref: '#/components/schemas/links'
example:
_id: 2eae46e1575c0a7b0115a4b3
message: Descriptive error message...
statusCode: 422
type: errorType1
remediation: Remediation string...
occurredAt: '2018-01-25T05:50:52.375Z'
errors:
- _id: ccdbe2c5c938a230667b3827
message: An optional embedded error
- _id: dbe9088dcfe2460f229338a3
message: Another optional embedded error
_links:
describedby:
href: 'https://developer.apiture.com/errors/errorType1'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/error/v2.0.0/model.json'
x-apiture-namespace: common
type: object
x-apiture-flattened: true
attributeValue:
x-apiture-version: 2.0.0
title: Attribute Value (v2.0.0)
description: The data associated with this attribute.
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/attributeValue/v2.0.0/model.json'
x-apiture-namespace: common
type: object
properties: {}
x-apiture-flattened: true
summaryContact:
title: Contact Summary
description: >-
Summary representation of a contact resource in contacts collections. This representation normally does not contain any `_embedded` objects.
If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/contacts/contact/v1.0.0/profile.json'
firstName: John
middleName: Daniel
lastName: Smith
preferredName: John
suffix: MD
identification:
- type: taxId
value: 111-11-1111
emailAddresses:
- _id: ea1
value: api@apiture.com
type: personal
- _id: ek3
value: support@apiture.com
type: work
preferredEmailAddressId: ea1
phones:
- _id: pa1
type: home
number: (555) 555-5555
- _id: da6
type: mobile
number: (999) 555-5555
preferredPhoneId: pa1
birthdate: '1974-10-27'
citizenship:
- countryCode: US
state: citizen
residencyStatus: resident
occupation: officeAndAdministrativeSupport
addresses:
- _id: ha1
type: home
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
- _id: wa1
type: work
addressLine1: 123 S 3rd Street
addressLine2: Apt 42
city: Wilmington
regionCode: NC
postalCode: 28411-5405
countryCode: US
preferredMailingAddressId: ha1
identityVerification:
provider: IDology
sessionId: '123456'
scoredAt: '2019-09-13T13:06:52.078Z'
score: passed
state: verified
yearsAtAddress: 3
mailingDifferentAddress: false
kycAnswers:
citizen: true
permanentResident: true
w9Withholdings: false
employmentStatus: fullTime
occupation: officeAndAdministrativeSupport
foreignPoliticalFigure: false
countryPoliticalFigure: N/A
familyOfPoliticalFigure: false
state: active
_links:
self:
href: /contacts/contacts/0399abed-fd3d-4830-a88b-30f38b8a365c
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/summaryContact/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/contactVerificationFields'
- $ref: '#/components/schemas/identifiedContact'
- $ref: '#/components/schemas/abstractResource'
- properties:
- state
- _id
properties:
kycAnswers:
description: >-
An object that contains the answers to Know Your Customer (KYC) questions. **Warning**: This property is deprecated. Identity verification
details will only exist on Users, not Contacts.
x-apiture-deprecated: true
x-apiture-pii: true
type: object
identityVerificationStatus:
description: >-
Use the `state` of `identityVerification`. The identity verification status for this person. This field is read-only and is derived from
the results of any identity verification processes executed against the personally identifiable information (PII) contained in this
record. **Warning**: This property is deprecated. Identity verification details will only exist on Users, not Contacts.
x-apiture-deprecated: true
type: string
readOnly: true
enum:
- verified
- unverified
identityVerification:
description: >-
The identity verification data for this person. These fields are derived from the results of any identity verification processes executed
against the personally identifiable information (PII) contained in this record. **Warning**: This property is deprecated. Identity
verification details will only exist on Users, not Contacts.
x-apiture-deprecated: true
type: object
allOf:
- $ref: '#/components/schemas/identityVerification'
firstName:
description: The person's first name (or given name).
type: string
middleName:
description: The person's middle name.
type: string
lastName:
description: The person's last name (or surname).
type: string
addresses:
description: An array of postal/mailing addresses.
type: array
items:
$ref: '#/components/schemas/address'
preferredMailingAddressId:
description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
type: string
minLength: 1
maxLength: 4
emailAddresses:
description: An array of email addresses.
type: array
items:
$ref: '#/components/schemas/typedEmailAddress'
preferredEmailAddressId:
description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
type: string
minLength: 1
maxLength: 4
phones:
description: An array of phone numbers.
type: array
items:
$ref: '#/components/schemas/phoneNumber'
preferredPhoneId:
description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
type: string
minLength: 1
maxLength: 4
prefix:
description: A title or honorific prefix such as Dr. or Fr.
type: string
maxLength: 20
suffix:
description: A title or honorific suffix such as PhD or DDS.
type: string
maxLength: 20
preferredName:
description: >-
The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
`firstName`.
type: string
identification:
description: A collection of official identifying information associated with the contact.
x-apiture-pii: true
type: array
items:
$ref: '#/components/schemas/identification'
preferredContactMethod:
description: The contact's preferred method of communication.
allOf:
- $ref: '#/components/schemas/preferredContactMethod'
birthdate:
description: The contact's birth date in `YYYY-MM-DD` format.
type: string
format: date
citizenship:
description: This individual's citizenship or nationality status.
allOf:
- $ref: '#/components/schemas/citizenship'
residencyStatus:
description: This individual's residency status.
allOf:
- $ref: '#/components/schemas/residencyStatus'
occupation:
description: The occupation of this individual.
allOf:
- $ref: '#/components/schemas/occupation'
otherOccupation:
description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
type: string
minLength: 4
maxLength: 32
yearsAtAddress:
description: The number of years the person has been at their present home address.
allOf:
- $ref: '#/components/schemas/yearsAtAddress'
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
state:
description: The state of this person's record.
readOnly: true
allOf:
- $ref: '#/components/schemas/contactState'
_id:
description: The unique identifier for this contact resource. This is an immutable opaque string.
readOnly: true
type: string
type: object
x-apiture-flattened: true
accountNumbers:
title: Account Numbers (v1.0.0)
description: Different representations of an account number.
properties:
masked:
description: >-
A partial account number that does not contain all the digits of the full account number. This masked number appears in statements or in
user experience presentation. It is sufficient for a user to differentiate this account from other accounts they hold, but is not
sufficient for initiating transfers, etc. The first character is the mask character and is repeated; this does not indicate that the full
account number is the same as the mask length. This value is derived and immutable.
type: string
minLength: 8
maxLength: 32
readOnly: true
example: '*************3210'
full:
description: >-
The full account number. This value only appears when `?unmasked=true` is passed on the `GET` request. Not included in the summary
representation of the account that is included in account collection responses. This value is derived and immutable.
type: string
minLength: 4
maxLength: 17
example: '9876543210'
readOnly: true
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/accountNumbers/v1.0.0/model.json'
x-apiture-namespace: common
type: object
x-apiture-flattened: true
ifxType:
title: IFX Account Type (v1.0.0)
description: >-
A code which identifies the product type. This is one of the [IFX AcctType](https://ifxforum.org) values. Labels and descriptions for the
enumeration values are in the `ifxType` key in the response of the `getLabels` operation.
ifxType
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
CCA | Credit card account |
CDA | Certificate of deposit account (CD) |
CLA | Commercial loan account |
CMA | Cash management account |
DDA | Demand deposit account |
EQU | Home equity loan |
GLA | General ledger account |
ILA | Installment loan account |
INV | Investment account |
IRA | Individual retirement account |
IRL | Accounts held in Ireland |
LOC | Consumer line of credit |
MLA | Military Lending Account: Credit facility held by former US service member |
MMA | Money market account |
PBA | Packaged bank Account: Account with additional benefits that charges a fixed monthly fee. |
PPA | Private pension administrator |
RWD | Reward accounts |
SDA | Savings deposit account |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `ifxType` in the response from the [`getLabels`](#op-getLabels) operation.
x-apiture-enum: ifxType
type: string
enum:
- CCA
- CDA
- CLA
- CMA
- DDA
- EQU
- GLA
- ILA
- INV
- IRA
- IRL
- LOC
- MLA
- MMA
- PBA
- PPA
- RWD
- SDA
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/ifxType/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-flattened: true
summaryOrganization:
title: Organization Summary
description: >-
Summary representation of an organization resource in organizations collections. This representation normally does not contain any `_embedded`
objects. If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/organizations/organization/v1.0.0/profile.json'
_links:
self:
href: /organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/summaryOrganization/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- $ref: '#/components/schemas/organizationFields'
- properties:
- _id
- customerId
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
name:
description: The organization's official full name
type: string
label:
description: The organization's common name.
type: string
type:
description: |-
Indicates what type of organization this resource represents.
The enumeration values are described by the `organizationType`
value in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/organizationType'
subtype:
description: |-
A refinement of the `type`.
The enumeration values are described by the `organizationSubtype`
value in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/organizationSubtype'
identification:
description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
type: array
items:
$ref: '#/components/schemas/organizationIdentification'
addresses:
description: An array containing address items.
type: array
items:
$ref: '#/components/schemas/organizationAddress'
phones:
description: >-
An array of phone numbers associated with the organization. The first item, if present, is the default (preferred) organization phone
number.
type: array
items:
$ref: '#/components/schemas/organizationPhoneNumber'
emailAddresses:
description: 'An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.'
type: array
items:
$ref: '#/components/schemas/organizationEmailAddress'
preferredEmailAddressId:
description: |-
The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
This value is set with the `setPreferredEmailAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
preferredPhoneId:
description: >-
The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
the `setPreferredPhoneNumber` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
preferredMailingAddressId:
description: >-
The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
`setPreferredMailingAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
establishedDate:
description: The date the organization was established.
type: string
format: date
state:
description: >-
The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
operation.
allOf:
- $ref: '#/components/schemas/organizationState'
tradeName:
type: string
description: The trade name of the organization.
governmentOwned:
description: Indicates whether the organization is a government-owned entity.
type: boolean
publiclyHeld:
description: Indicates whether the organization is publicly held.
type: boolean
smallBusiness:
description: Indicates whether the organization is classified as a small business
type: boolean
taxExempt:
description: Indicates whether the organization is the tax-exempt.
type: boolean
employeeCountRange:
description: 'Indicates the approximate number of employees, as a range.'
type: string
x-apiture-choice: employeeCountRange
employeeCountLowerBound:
description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
type: integer
readOnly: true
minimum: 1
employeeCountUpperBound:
description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
type: number
readOnly: true
maximum: 20000000
homeUrl:
description: The organization's home page.
type: string
industry:
description: Indicates what industry does this organization work within.
type: string
x-apiture-choice: industrySectors
countryOfOperations:
type: string
description: The ISO 3166-1 country code for the organization's operation.
minLength: 2
maxLength: 2
regulatory:
description: Answers to organization-specific regulatory questions.
allOf:
- $ref: '#/components/schemas/regulatory'
currency:
description: >-
The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. TODO: ISO
4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
type: string
minLength: 3
maxLength: 3
mobileCheckDepositEnabled:
description: Indicates that the organization use mobile check deposits.
type: boolean
achEnabled:
description: Indicates that the organization use ACH transfers.
type: boolean
estimatedMonthlyAmounts:
description: Estimated monthly amounts for banking services.
allOf:
- $ref: '#/components/schemas/estimatedMonthlyAmounts'
accountPurpose:
title: Account purpose
description: The purpose of the account.
allOf:
- $ref: '#/components/schemas/accountPurpose'
registeredIn:
description: The US state or other region in which the organization is registered.
type: string
example: NC
minLength: 2
maxLength: 2
pattern: '^[a-zA-Z]{2}$'
x-apiture-choice: regionCodes
_id:
description: The unique identifier for this organization resource. This is an immutable opaque string.
readOnly: true
type: string
customerId:
description: >-
The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the
organization in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Organizations API).
type: string
minLength: 1
maxLength: 100
readOnly: true
example: 000489353781
type: object
x-apiture-flattened: true
authorizedSigners:
title: Authorized Signers (v1.0.0)
description: The list of users who are authorized to access the organization and its bank accounts.
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/authorizedSigners/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- properties:
- items
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
items:
description: >-
The array of authorized signers for this business and their role within the organization. These people have account access for all
business accounts owned by the business. The items in this array must all have the `type` of `authorizedSigner`.
type: array
minLength: 1
items:
$ref: '#/components/schemas/authorization'
type: object
x-apiture-flattened: true
beneficialOwners:
title: Beneficial Owners (v1.0.0)
description: >-
A list of people who own at least 25% of the business or who have a major role in the organization. The sum of the percentages may not exceed
100%. The percentage may be less than 25 for non-owners with a major role, or to retain other owners whose percentage may change to 25% in the
future.
required:
- items
example:
items:
firstName: William
lastName: Wellphunded
addresses:
- addressLine1: 1234 S Front Street
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
type: home
role: Chief Financial Officer
percentage: 35
birthdate: {}
identification:
- type: taxId
value: 111-11-1111
_links:
self:
href: /organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c/beneficialOwners
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/beneficialOwners/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- properties:
- items
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
items:
description: 'A list of people who own at least 25% of the business, and the percentage owned.'
type: array
maxLength: 10
items:
$ref: '#/components/schemas/beneficialOwner'
type: object
x-apiture-flattened: true
summaryConsent:
title: Consent Summary
description: >-
Summary representation of a consent resource in consents collections. This representation normally does not contain any `_embedded` objects.
If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/consents/summaryConsent/v1.0.0/profile.json'
document:
uri: /vault/files/fd44d565-0086-4caf-8d9f-3b7681809251/content
contentType: application/pdf
revisedAt: '2019-07-23T08:26:45.375Z'
type: productTermsAndConditions
userId: 5a5e834c-a7bd-401c
state: pending
contextUri: /products/products/34011fe5-192d-4ffb-be32-e7215e56028a
_links:
self:
href: /consents/consents/0399abed-fd3d-4830-a88b-30f38b8a365c
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/consents/summaryConsent/v1.0.0/model.json'
x-apiture-namespace: consents
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/consentFields'
- properties:
- _id
- state
- givenAt
- requestRevokedAt
- requestRescindedAt
- $ref: '#/components/schemas/abstractResource'
properties:
document:
description: Properties of the target document.
allOf:
- $ref: '#/components/schemas/document'
type:
description: Describe what kind of consent this is. This value must be one of the type names in the `/consentTypeNames` resource.
type: string
contextUri:
description: >-
The URI of a resource that establishes the context in which the user's consent is requested for a specific document. For example, for
consent of an account's terms and conditions, the context might be the banking product for that account.
type: string
format: uri
maxLength: 2048
userId:
description: The user ID of the user who is requested to consent to a document. This is the `_id` of the User resource.
type: string
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
description: The unique identifier for this consent resource. This is an immutable opaque string.
readOnly: true
type: string
state:
description: The state of this consent.
allOf:
- $ref: '#/components/schemas/consentStates'
readOnly: true
givenAt:
description: >-
The time stamp when the user last consented to the document, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time format
(`YYYY-MM-DDThh:mm:ss.sssZ`). This property is not set if `state` is `pending`.
type: string
format: date-time
readOnly: true
requestRevokedAt:
description: >-
The time stamp when the user revoked consent, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time format
(`YYYY-MM-DDThh:mm:ss.sssZ`). A revoked consent reflects a consent request that the user has previously given but has reversed. Revoking a
consent sets the `state` back to `pending` and clears `consentedAt`.
type: string
format: date-time
readOnly: true
requestRescindedAt:
description: >-
The time stamp when the consent _request_ was rescinded by the requester, in [RFC 3339](https://tools.ietf.org/html/rfc3339) UTC date-time
format (`YYYY-MM-DDThh:mm:ss.sssZ`). A rescinded consent reflects a consent request that the system or application has issued in the past
but no longer requires. For example, if a user is removed as an authorized signer from an account and a consent is pending for that
account's terms and conditions, the Accounts service may rescind that consent request. This property is set only if `state` is
`rescinded`.
type: string
format: date-time
readOnly: true
type: object
x-apiture-flattened: true
productFields:
title: Product Fields (v1.0.0)
description: Common fields of the product resource.
x-apiture-fragment: true
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/productFields/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-composition:
- $ref: '#/components/schemas/productState'
- properties:
- name
- label
- description
- code
- newAccountAvailability
- category
- rate
- revision
- ifxType
- target
properties:
state:
description: >-
The state of this product or product type. New resources are `pending` by default and must be activated before they may be used.
The `state` property is immutable and derived and may not be changed via the `PUT` or `PATCH` operations. To change the state of a product
or product type, use the `POST` operation using the `apiture:activate`, `apiture:deactivate` or `apiture:remove` links on the resource.
allOf:
- $ref: '#/components/schemas/prodState'
name:
description: The name of this product.
type: string
maxLength: 128
minLength: 1
label:
description: The text label for this product. This field may be localized.
type: string
maxLength: 128
minLength: 1
description:
description: >-
A fuller description of this product. This field may be localized. The content is processed as [Github Flavored
Markdown](https://help.github.com/articles/basic-writing-and-formatting-syntax/) and thus supports rich text.
type: string
maxLength: 4096
minLength: 1
format: markdown
code:
description: >-
The unique product code for this product, normally defined by the underlying banking core. The `code` cannot be changed once the `state`
is beyond `pending`.
type: string
maxLength: 64
newAccountAvailability:
description: >-
Indicates if the product is available for opening new accounts.
* *`available`* means the product may be selected for a new account application.
* *`notAvailable`* means the product may *not* be selected for a new account application.
The default is `available`. Note that clients must check both the product `state` and the `newAccountAvailability` when listing products
for new account opening. The `?openable=true` query parameter on `/accounts` combines these. Labels and descriptions for the enumeration
values are in the `newAccountAvailability` key in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/newAccountAvailability'
category:
description: The product category name. This is a more readable form of the product's `type`.
type: string
example: Savings
rate:
description: The interest rate for this product.
allOf:
- $ref: '#/components/schemas/rate'
revision:
description: The revision string for this product. This property derived and immutable.
type: string
ifxType:
description: The product IFX Account Type.
allOf:
- $ref: '#/components/schemas/ifxType'
target:
description: >-
Describes the target audience or consumer of the accounts, `personal` or `business`. Labels and descriptions for the enumeration values
are in the `productTarget` key in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/productTarget'
type: object
x-apiture-flattened: true
revisionEffectiveInterval:
title: Revision Effective Time Interval (v1.0.0)
description: Time interval when a resource revision was effective and in use. This schema is used when composing other schemas.
x-apiture-version: 1.0.0
type: object
properties:
effectiveStartAt:
description: >-
The date-time when this revision was created and became effective. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) formatted
date-time string `YYYY-MM-DDThh:mm:ss.sssZ`. This field is derived and immutable.
type: string
format: date-time
effectiveEndAt:
description: >-
The date-time when the another revision became effective and this revision ceased being effective. This is an [RFC
3339](https://tools.ietf.org/html/rfc3339) formatted date-time string `YYYY-MM-DDThh:mm:ss.sssZ`. This field is derived and immutable and
is not present until the revision is no longer active.
type: string
format: date-time
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/revisionEffectiveInterval/v1.0.0/model.json'
x-apiture-namespace: common
x-apiture-flattened: true
timeDeposit:
title: Time Deposit Products (v1.0.0)
description: 'Properties of time deposit products, primarily Certificate of Deposit products.'
properties:
maturityPolicy:
$ref: '#/components/schemas/maturityPolicy'
minimumTerm:
description: >-
The minimum maturity term offered by this product, for products such as certificates of deposits. See also `maximumTerm` For example, Some
CD products may be opened with a flexible term such as 31 to 181 days, expressed as `minimumTerm: P31D, maximumTerm: P181D` For fixed-term
products, `minimumTerm` and `maximumTerm` should be the same.
This value is an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string of the form `P[n]Y[n]M[n]D` to specify the
term in the number of years/months/days. For example, the values `P30D`, `P6M`, `P2Y` indicate a term of 30 days, six months, and two
years, respectively.
type: string
format: period
example: P31D
maximumTerm:
description: >-
The maximum maturity term offered by this product, for products such as certificates of deposits. If omitted, there is no fixed term (not
all product types impose a term). For example, Some CD products may be opened with a flexible term such as 31 to 181 days, expressed as
`minimumTerm: P31D, maximumTerm: P181D` For fixed-term products, `minimumTerm` and `maximumTerm` should be the same.
This value is an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string of the form `P[n]Y[n]M[n]D` to specify the
term in the number of years/months/days. For example, the values `P30D`, `P6M`, `P2Y` indicate a term of 30 days, six months, and two
years, respectively.
type: string
format: period
example: P31D
fees:
description: >-
The time period in which additional deposits may be made to a CD after it has rolled over after maturity. This value applies only if the
`depositsAllowed` is `duringGracePeriod`. This value is an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string of
the form `P[n]Y[n]M[n]D` to specify the term in the number of years/months/days.
type: string
format: period
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/timeDeposit/v1.0.0/model.json'
x-apiture-namespace: products
type: object
x-apiture-flattened: true
constraints:
title: Product Constraints (v1.0.0)
description: 'Product constraints, such as minimum and maximum balances.'
type: object
properties:
transactionTypes:
description: The types of transactions permitted for this account. Values which appear in this array are permitted.
allOf:
- $ref: '#/components/schemas/transactionTypes'
default:
- debit
- credit
minimumBalance:
description: >-
The minimum balance for accounts of this product. The numeric value is represented as a string so that it can be exact with no loss of
precision. This balance is in the `currency` for the product.
type: string
example: '500.00'
minimumFundingAmount:
description: >-
The minimum monetary value when funding a new account of this product. The numeric value is represented as a string so that it can be
exact with no loss of precision. This balance is in the `currency` for the product.
type: string
example: '500.00'
maximumFundingAmount:
description: >-
The maximum monetary value when funding a new account of this product. The numeric value is represented as a string so that it can be
exact with no loss of precision. This balance is in the `currency` for the product.
type: string
example: '2500.00'
minimumTransferAmount:
description: >-
The minimum monetary value for new transfers from accounts of this product. The numeric value is represented as a string so that it can be
exact with no loss of precision. This balance is in the `currency` for the product.
type: string
example: '25.00'
maximumTransferAmount:
description: >-
The maximum monetary value for new transfers from accounts of this product. The numeric value is represented as a string so that it can be
exact with no loss of precision. This balance is in the `currency` for the product.
type: string
example: '10000.00'
maximumWithdrawalCount:
description: 'The maximum number of withdrawals allowed per cycle. If not present, there is no hard limit.'
type: integer
example: 6
fundingTerm:
description: >-
The time limit within which account opening funding must occur after account creation. This is expressed as an [ISO 8601
duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) duration; only day and month periods are allowed, and the only allowed
fractional value for months is 0.5, as in `P5D` or `P14D` or `P1M` or `P0.5M`.
type: string
format: period
example: P30D
depositsRestrictedAfterGracePeriod:
description: 'If true, deposits are not allowed after the rollover grace period (see `gracePeriod`). This applies to time deposit products only.'
type: boolean
default: true
depositsRestrictedAfterFunding:
description: 'If true, deposits are not allowed after the initial account funding has completed. This typically applies to time deposit products.'
type: boolean
default: true
gracePeriod:
description: >-
A period of time after account rollover when additional deposits are allowed. This is an [ISO 8601
duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) duration; only day and month periods are allowed, and the only allowed
fractional value for months is 0.5, as in `P5D` or `P14D` or `P1M` or `P0.5M`.
type: string
format: period
example: P14D
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/constraints/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-flattened: true
businessVerification:
title: Business Verification Report (v1.0.0)
description: The verification report contains analsys of the business data and includes the state of the verification.
properties:
state:
type: string
description: >-
The state of a verification report. _passed_ indicates that the Business was successfully verified based upon the supplied information,
_failed_ indicates it was not.
enum:
- passed
- failed
completedAt:
description: An ISO 8601 UTC time stamp indicating when the verification report was created.
type: string
format: date-time
type:
description: The identity method type. Possible values are `verificationReport` or `administratorApproval`.
type: string
enum:
- verificationReport
- administratorApproval
_id:
description: This business verification's unique id
readOnly: true
type: string
_links:
$ref: '#/components/schemas/links'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/businessVerification/v1.0.0/model.json'
x-apiture-namespace: businessVerifications
type: object
x-apiture-flattened: true
identityHistoryItem:
title: Identity Verification Item (v1.0.0)
description: One verification record for a contact's history of verifications.
type: object
required:
- state
- createdAt
properties:
_links:
$ref: '#/components/schemas/links'
state:
$ref: '#/components/schemas/identityVerificationState'
type:
$ref: '#/components/schemas/identityVerificationType'
createdAt:
description: >-
The date-time when the verification occurred or completed. This is an [RFC 3066](https://tools.ietf.org/html/rfc3339) time stamp in the
form `YYYY-DD-MMThh:mm:ss.sssZ`.
type: string
format: date-time
expiredAt:
description: >-
The date-time when the verification expired. This is only set if the `state` is `expired`. This is an [RFC
3066](https://tools.ietf.org/html/rfc3339) time stamp in the form `YYYY-DD-MMThh:mm:ss.sssZ`.
type: string
format: date-time
example:
state: passed
createdAt: '2019-11-21T08:43:54.375Z'
type: quiz
_links:
'apiture:user':
href: 'https://api.example.bank/users/users/d77bef0b-c75c-4192-ba88-278b9ce4063b'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/identityHistoryItem/v1.0.0/model.json'
x-apiture-namespace: identity
x-apiture-flattened: true
updateApproval:
title: Update Approval
description: >-
Representation used to update or patch an approval. The `state` field is immutable and not updated by this operation, but by the `state
transition` POST operations such as `approve` or `reject` (ex. `apiture:approve` and `apiture:reject`).
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/approvals/approvals/v1.0.0/profile.json'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/updateApproval/v1.0.0/model.json'
x-apiture-namespace: approvals
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/summaryApproval'
- properties:
- attributes
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
label:
description: 'The approval''s common name. If omitted on create request, this will default to the label of the Approval Type.'
type: string
description:
description: 'The approval''s description. If omitted on create request, this will default to the description of the Approval Type.'
type: string
state:
description: >-
The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding `POST`
operations, `submitApproval`, `approveApproval`, `rejectApproval`, `waiveApproval`, `returnApproval`, and `cancelApproval`, if the
corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined
by the approval type.
allOf:
- $ref: '#/components/schemas/approvalState'
readOnly: true
done:
description: >-
If `done` is true, the approval is in a terminal state and may no longer be acted upon. Done states include `canceled`, `approved`,
`waived` or `rejected`. This property is derived from the `state` field and is immutable.
type: boolean
readOnly: true
typeName:
description: The name of the Approval Type. This field is immutable and derived from the name of the Approval Type.
type: string
reviewedBy:
description: The id of the User that reviewed the approval.
type: string
readOnly: true
reviewedAt:
description: The date-time when the approval was reviewed.
type: string
format: date-time
readOnly: true
_id:
description: The unique identifier for this approval resource. This is an immutable opaque string.
readOnly: true
type: string
attributes:
type: object
description: An optional map of name/value pairs which provide additional metadata about the approval.
type: object
x-apiture-flattened: true
approvalEmbeddedObjects:
title: Approval Embedded Objects (v1.0.0)
description: The objects which participate in this approval.
type: object
properties:
approvalType:
description: The type of this approval.
allOf:
- $ref: '#/components/schemas/summaryApprovalType'
target:
description: The target of this approval.
type: object
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/approvalEmbeddedObjects/v1.0.0/model.json'
x-apiture-namespace: approvals
x-apiture-flattened: true
summaryVerificationReport:
x-apiture-version: 2.0.0
title: Verification Report Summary (v2.0.0)
description: >-
Summary representation of a verification report resource in verification report collections. This representation normally does not contain any
`_embedded` objects. If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/businessVerifications/summaryVerificationReport/v2.0.0/profile.json'
_links:
self:
href: 'https://api.example.com//businessVerifications/verificationReports/0399abed-fd3d-4830-a88b-30f38b8a365c'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/summaryVerificationReport/v2.0.0/model.json'
x-apiture-namespace: businessVerifications
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- properties:
- _id
- reportScoringSummary
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
description: The unique identifier for this verification report resource. This is an immutable opaque string.
readOnly: true
type: string
reportScoringSummary:
$ref: '#/components/schemas/verificationReportScoringSummary'
type: object
x-apiture-flattened: true
createVerificationReport:
x-apiture-version: 2.0.0
title: Create Verification Report (v2.0.0)
description: Representation used to create a new verification report.
example:
_profile: 'https://production.api.apiture.com/schemas/businessVerifications/createVerificationReport/v2.0.0/profile.json'
businessName: ABC EXAMPLE CO.
phone: 555-555-1234
identification:
- type: taxId
value: 12-347894309
attributes: {}
addresses:
- addressLine1: 3212 N. 2nd Ave.
city: Wilmington
regionCode: NC
postalCode: '28412'
authorizedSigners:
- firstName: Jane
lastName: Doe
identification:
- type: taxId
value: 121-34-5431
birthdate: '1980-12-01'
email: email@email.com
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/createVerificationReport/v2.0.0/model.json'
x-apiture-namespace: businessVerifications
x-apiture-composition:
- $ref: '#/components/schemas/verificationRequestFields'
- $ref: '#/components/schemas/abstractRequest'
properties:
businessName:
description: The business's name
type: string
maxLength: 512
minLength: 1
alternateBusinessName:
description: An alternate name for the business
type: string
maxLength: 512
minLength: 1
phone:
description: The business's phone
type: string
maxLength: 32
minLength: 1
identification:
$ref: '#/components/schemas/identificationModel'
authorizedSigners:
description: An optional array of authorized signer entities
type: array
items:
$ref: '#/components/schemas/authorizedSigner'
addresses:
description: An array of postal mailing addresses for this contact.
type: array
items:
$ref: '#/components/schemas/address'
attributes:
description: An optional map of name/value pairs which provide additional metadata about the verification report.
allOf:
- $ref: '#/components/schemas/attributes'
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
type: object
x-apiture-flattened: true
verificationReportScoringSummary:
title: Verification Report Summary (v1.0.0)
description: Model schema for business verification report summary.
properties:
transactionId:
description: The unique transactionId for this verification report used for tracking this verification report
type: string
state:
type: string
description: >-
The state of a verification report. _passed_ indicates that the Business was successfully verified based upon the supplied information,
_failed_ indicates it was not.
enum:
- passed
- failed
businessVerifications:
description: A list of business verification scores.
type: array
items:
$ref: '#/components/schemas/businessVerificationScore'
businessRiskFactors:
description: A list of business verification risk factors.
type: array
items:
$ref: '#/components/schemas/riskFactor'
comprehensiveVerificationScores:
description: A list of comprehensive business verification scores.
type: array
items:
$ref: '#/components/schemas/comprehensiveVerificationScore'
authorizedRepresentativeRiskFactors:
description: A list of representative business risk factors.
type: array
items:
$ref: '#/components/schemas/riskFactor'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/verificationReportScoringSummary/v1.0.0/model.json'
x-apiture-namespace: businessVerifications
type: object
x-apiture-flattened: true
updateRole:
title: Update Role
description: Representation used to update or patch a role.
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json'
label: primary user
name: primaryUser
description: The primary user for this account.
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/associations/updateRole/v1.0.0/model.json'
x-apiture-namespace: associations
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/summaryRole'
properties:
name:
description: >-
The name of this role, for identification purposes, such as `primaryOwner`, `beneficiary`, `authorizedSigner`. Some roles have well-known
uses in the platform.
type: string
maxLength: 128
minLength: 1
example: primaryUser
label:
description: 'The text label for this role, for use in human presentation. This field may be localized.'
type: string
maxLength: 128
minLength: 1
example: Primary User
description:
description: A fuller description of this role. This field may be localized.
type: string
maxLength: 4096
minLength: 1
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
description: The unique identifier for this role resource. This is an immutable opaque string.
readOnly: true
type: string
type: object
x-apiture-flattened: true
identityVerificationFields:
title: Identity Verification Fields (v2.0.0)
description: Properties common to various identity verification resources.
x-apiture-fragment: true
x-apiture-version: 2.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/identityVerificationFields/v2.0.0/model.json'
x-apiture-namespace: identity
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- properties:
- _id
- createdAt
- expiresAt
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
type: string
description: A unique identifier for this resource instance. This is is an opaque string.
readOnly: true
createdAt:
description: >-
The date-time when the resource was created. This is an [RFC 3066](https://tools.ietf.org/html/rfc3339) time stamp in the form
`YYYY-DD-MMThh:mm:ss.sssZ`.
type: string
format: date-time
expiresAt:
description: >-
The date-time when the resource expires. This is an [RFC 3066](https://tools.ietf.org/html/rfc3339) time stamp in the form
`YYYY-DD-MMThh:mm:ss.sssZ`.
type: string
format: date-time
type: object
x-apiture-flattened: true
identityVerificationType:
title: Identity Verification Type (v1.0.0)
description: |+
Describes how the identity verification was performed.
identityVerificationType
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
fraudRiskReport | Fraud Risk Report: Verification performed by generating a fraud risk report based on the identity's personal information. |
quiz | Quiz: Verification performed by executing a quiz based on personal knowledge the individual should know. |
adminApproval | Admin Approval: Verification performed by an administrator explicitly approving the identity, for example after manually inspecting identity verification documents from the user. |
type: string
enum:
- fraudRiskReport
- quiz
- adminApproval
x-apiture-enum: identityVerificationType
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/identityVerificationType/v1.0.0/model.json'
x-apiture-namespace: identity
x-apiture-flattened: true
fraudRiskReportInputs:
title: Fraud-risk Report Inputs (v1.0.0)
description: The inputs of a fraud-risk report.
type: object
properties:
identity:
$ref: '#/components/schemas/identity'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskReportInputs/v1.0.0/model.json'
x-apiture-namespace: identity
x-apiture-flattened: true
fraudRiskReportOutputs:
title: Fraud-risk Report Outputs (v1.0.0)
description: The outputs of a fraud-risk report.
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskReportOutputs/v1.0.0/model.json'
x-apiture-namespace: identity
x-apiture-composition:
- $ref: '#/components/schemas/outputs'
- properties:
- providerReportId
- state
- fraudRiskCategories
properties:
token:
type: string
description: An opaque string that conveys the state of the contact's identity verification.
providerReportId:
type: string
description: External identity provider report Id.
state:
$ref: '#/components/schemas/fraudRiskReportState'
fraudRiskCategories:
description: A list of categories in this report.
type: array
items:
$ref: '#/components/schemas/fraudRiskCategory'
type: object
x-apiture-flattened: true
userFields:
title: Common fields of a user
description: |-
Fields for a user.
(This fragment schema is used to build other schemas.)
To change user addresses, email addresses, and phone numbers, use
operations on the sub-resources (`/users/{userId}/addresses`,
`/users/{userId}/emailAddresses`, and `/users/{userId}/phoneNumbers`).
x-apiture-fragment: true
type: object
example:
username: Johnny1733
firstName: John
middleName: Daniel
lastName: Smith
preferredName: John
identification:
- value: 111-11-1111
type: taxId
emailAddresses:
- _id: pe0
type: personal
value: johnny1733@example.com
- _id: we0
type: work
value: support@apiture.com
phones:
- _id: hp0
type: home
number: (555) 555-5555
- _id: mp0
type: mobile
number: (999) 555-5555
birthdate: '1974-10-27'
citizenship:
- countryCode: US
state: citizen
occupation: officeAndAdministrativeSupport
addresses:
- _id: ha0
type: home
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
- _id: ha1
type: home
addressLine1: 123 S 3rd Street
addressLine2: Apt 42
city: Wilmington
regionCode: NC
postalCode: 28411-5405
countryCode: US
state: active
attributes: {}
preferredContactMethod: email
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/userFields/v1.0.0/model.json'
x-apiture-namespace: users
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/identifiedContact'
- $ref: '#/components/schemas/contactName'
- $ref: '#/components/schemas/simpleContactFields'
- $ref: '#/components/schemas/userVerificationFields'
- properties:
- username
- state
- addresses
- preferredMailingAddressId
- phoneNumbers
- preferredPhoneId
- emailAddresses
- preferredEmailAddressId
properties:
firstName:
description: The person's first name (or given name).
type: string
middleName:
description: The person's middle name.
type: string
lastName:
description: The person's last name (or surname).
type: string
addresses:
description: An array of postal/mailing addresses. Add or delete addresses with the `createAddress` and `deleteAddress` operations.
type: array
items:
type: object
$ref: '#/components/schemas/userAddress'
readOnly: true
preferredMailingAddressId:
description: >-
The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
`setPreferredMailingAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
emailAddresses:
description: An array of email addresses. Add or delete email addresses with the `createEmailAddress` and `deleteEmailAddress` operations.
type: array
items:
$ref: '#/components/schemas/userEmailAddress'
readOnly: true
preferredEmailAddressId:
description: |-
The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
This value is set with the `setPreferredEmailAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
phones:
description: An array of phone numbers.
type: array
items:
$ref: '#/components/schemas/phoneNumber'
preferredPhoneId:
description: >-
The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with the
`setPreferredPhoneNumber` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
prefix:
description: A title or honorific prefix such as Dr. or Fr.
type: string
maxLength: 20
suffix:
description: A title or honorific suffix such as PhD or DDS.
type: string
maxLength: 20
preferredName:
description: >-
The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
`firstName`.
type: string
identification:
description: A collection of official identifying information associated with the contact.
x-apiture-pii: true
type: array
items:
$ref: '#/components/schemas/identification'
preferredContactMethod:
description: The contact's preferred method of communication.
allOf:
- $ref: '#/components/schemas/preferredContactMethod'
birthdate:
description: The contact's birth date in `YYYY-MM-DD` format.
type: string
format: date
citizenship:
description: This individual's citizenship or nationality status.
allOf:
- $ref: '#/components/schemas/citizenship'
residencyStatus:
description: This individual's residency status.
allOf:
- $ref: '#/components/schemas/residencyStatus'
occupation:
description: The occupation of this individual.
allOf:
- $ref: '#/components/schemas/occupation'
otherOccupation:
description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
type: string
minLength: 4
maxLength: 32
yearsAtAddress:
description: The number of years the person has been at their present home address.
allOf:
- $ref: '#/components/schemas/yearsAtAddress'
kycAnswers:
description: This user's answers Know Your Customer (KYC) questions.
x-apiture-pii: true
readOnly: true
allOf:
- $ref: '#/components/schemas/kycAnswers'
identityVerification:
description: >-
The identity verification data for this person. These fields are derived from the results of any identity verification processes executed
against the personally identifiable information (PII) contained in this record.
type: object
readOnly: true
allOf:
- $ref: '#/components/schemas/identityVerification'
username:
description: The unique username for the user.
type: string
state:
description: |-
The state of this user record. The default is `active`.
* Users may not be deleted, but Users with a `state` of `active`, `inactive` or `locked`
may be removed by `POST`ing to the `/removedUsers` endpoint via the `apiture:remove`
endpoint. Removed users may not be reactivated.
* Users with a `state` of `active` or `locked` may be deactivated by `POST`ing to
the `/inactiveUsers` endpoint via the `apiture:deactivate` endpoint.
* Users with a `state` of `inactive` or `locked` may be activated by `POST`ing to
the `/activeUsers` endpoint via the `apiture:activate` endpoint.
* Users with a `state` of `active` or `inactive` may be locked by `POST`ing to
the `/lockedUsers` endpoint via the `apiture:lock` endpoint. A `state` of `locked`
indicates a user has entered the password incorrectly too many times.
* Users with a `state` of `active`, `inactive` or locked may be frozen by
`POST`ing to the `/frozenUsers` endpoint via the `apiture:freeze` endpoint.
A `state` of `frozen` indicates a user can no longer access online banking until
the financial institution re-activates the user.
* Users with a `state` of `active`, `inactive`, or `locked` may be
merged by `POST`ing to the `/mergedUsers` endpoint via the `apiture:merge` endpoint.
Merged users may not have their state changed.
type: string
enum:
- active
- inactive
- locked
- frozen
- merged
- removed
x-apiture-enum: userState
phoneNumbers:
description: An array of phone numbers. Add or delete phoneNumbers with the `createPhoneNumber` and `deletePhoneNumber` operations.
type: array
items:
$ref: '#/components/schemas/userPhoneNumber'
readOnly: true
x-apiture-flattened: true
link:
x-apiture-version: 1.0.0
title: Link (v1.0.0)
description: >-
Describes a hypermedia link within a `_links` object in HAL representations. In Apiture APIs, links are [HAL
links](https://developer.apiture.com/docs/concepts/links), but Apiture APIs do not use the `name` or `hreflang` properties of HAL. Apiture
links _may_ include a `method` property.
required:
- href
properties:
href:
type: string
format: uri
description: The URI or URI template for the resource/operation this link refers to.
type:
type: string
description: The media type for the resource.
templated:
type: boolean
description: 'If true, the link''s href is a [URI template](https://tools.ietf.org/html/rfc6570).'
title:
type: string
description: An optional human-readable localized title for the link.
deprecation:
type: string
format: uri
description: 'If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.'
profile:
type: string
format: uri
description: 'The URI of a profile document, a JSON document which describes the target resource/operation.'
example:
href: /contacts/contacts/328f6bf6-d762-422f-a077-ab91ca4d0b6f
title: Applicant
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/common/link/v1.0.0/model.json'
x-apiture-namespace: common
type: object
x-apiture-flattened: true
organizationFields:
title: Organization Fields
description: 'Common fields of the organization resource, for organizations which conduct banking.'
x-apiture-fragment: true
example:
name: Smith's Auto Detailing
label: Smith's Detailing
emailAddresses:
- type: work
value: smitties-detailing@example.com
phones:
- type: work
number: (555) 555-5555
- type: mobile
number: (999) 555-5555
addresses:
- type: work
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
- type: work
addressLine1: 123 S 3rd Street
addressLine2: Apt 42
city: Wilmington
regionCode: NC
postalCode: 28411-5405
countryCode: US
establishedDate: 2009-07-09T
identification:
- type: taxId
value: 00-9999999
state: active
currency: USD
estimatedAnnualRevenue: from1to10Million
estimatedMonthlyAmounts:
sentWire: moreThanOneMillion
receivedWire: oneHundredThousandToOneMillion
mobileCheckDeposit: upToOneHundredThousand
receivedAch: upToOneHundredThousand
sentAch: moreThanOneMillion
physicalLocationsCount: under10
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationFields/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/simpleOrganization'
- properties:
- state
- tradeName
- governmentOwned
- publiclyHeld
- smallBusiness
- taxExempt
- employeeCountRange
- employeeCountLowerBound
- employeeCountUpperBound
- homeUrl
- industry
- countryOfOperations
- regulatory
- currency
- mobileCheckDepositEnabled
- achEnabled
- estimatedMonthlyAmounts
- accountPurpose
- registeredIn
properties:
name:
description: The organization's official full name
type: string
label:
description: The organization's common name.
type: string
type:
description: |-
Indicates what type of organization this resource represents.
The enumeration values are described by the `organizationType`
value in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/organizationType'
subtype:
description: |-
A refinement of the `type`.
The enumeration values are described by the `organizationSubtype`
value in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/organizationSubtype'
identification:
description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
type: array
items:
$ref: '#/components/schemas/organizationIdentification'
addresses:
description: An array containing address items.
type: array
items:
$ref: '#/components/schemas/organizationAddress'
phones:
description: >-
An array of phone numbers associated with the organization. The first item, if present, is the default (preferred) organization phone
number.
type: array
items:
$ref: '#/components/schemas/organizationPhoneNumber'
emailAddresses:
description: 'An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.'
type: array
items:
$ref: '#/components/schemas/organizationEmailAddress'
preferredEmailAddressId:
description: |-
The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
This value is set with the `setPreferredEmailAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
preferredPhoneId:
description: >-
The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
the `setPreferredPhoneNumber` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
preferredMailingAddressId:
description: >-
The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
`setPreferredMailingAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
establishedDate:
description: The date the organization was established.
type: string
format: date
state:
description: >-
The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
operation.
allOf:
- $ref: '#/components/schemas/organizationState'
tradeName:
type: string
description: The trade name of the organization.
governmentOwned:
description: Indicates whether the organization is a government-owned entity.
type: boolean
publiclyHeld:
description: Indicates whether the organization is publicly held.
type: boolean
smallBusiness:
description: Indicates whether the organization is classified as a small business
type: boolean
taxExempt:
description: Indicates whether the organization is the tax-exempt.
type: boolean
employeeCountRange:
description: 'Indicates the approximate number of employees, as a range.'
type: string
x-apiture-choice: employeeCountRange
employeeCountLowerBound:
description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
type: integer
readOnly: true
minimum: 1
employeeCountUpperBound:
description: 'The lower bound of persons employed, derived from the range selected in `employeeCountRange`.'
type: number
readOnly: true
maximum: 20000000
homeUrl:
description: The organization's home page.
type: string
industry:
description: Indicates what industry does this organization work within.
type: string
x-apiture-choice: industrySectors
countryOfOperations:
type: string
description: The ISO 3166-1 country code for the organization's operation.
minLength: 2
maxLength: 2
regulatory:
description: Answers to organization-specific regulatory questions.
allOf:
- $ref: '#/components/schemas/regulatory'
currency:
description: >-
The [ISO 4217 currency code](https://en.wikipedia.org/wiki/ISO_4217) for this monetary value. This is always upper case ASCII. TODO: ISO
4217 defines three-character codes. However, ISO 4217 does not account for cryptocurrencies. Of note, DASH uses 4 characters.
type: string
minLength: 3
maxLength: 3
mobileCheckDepositEnabled:
description: Indicates that the organization use mobile check deposits.
type: boolean
achEnabled:
description: Indicates that the organization use ACH transfers.
type: boolean
estimatedMonthlyAmounts:
description: Estimated monthly amounts for banking services.
allOf:
- $ref: '#/components/schemas/estimatedMonthlyAmounts'
accountPurpose:
title: Account purpose
description: The purpose of the account.
allOf:
- $ref: '#/components/schemas/accountPurpose'
registeredIn:
description: The US state or other region in which the organization is registered.
type: string
example: NC
minLength: 2
maxLength: 2
pattern: '^[a-zA-Z]{2}$'
x-apiture-choice: regionCodes
type: object
x-apiture-flattened: true
authorization:
title: Authorization (v1.0.0)
description: >-
Represents a person authorized for account access. This object contains key identification information for the person and the type of access
or role that the person has in relation to the banking account or organization.
required:
- type
- userId
- customerId
- firstName
- lastName
- citizen
- taxId
- addresses
example:
userId: bd9e7a93-32cc-435d-ac57-f21faa082318
customerId: '10047294723672'
type: joint
role: Chief Financial Officer
firstName: John
middleName: Daniel
lastName: Smith
taxId: '*****3333'
citizen: true
addresses:
- _id: ha5
type: home
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
- id: wa0
type: other
label: mailing
addressLine1: 123 S 3rd Street
addressLine2: Apt 42
city: Wilmington
regionCode: NC
postalCode: 28411-5405
countryCode: US
preferredMailingAddressId: ha5
emailAddress: JohnDanielSmith@example.com
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/authorization/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-composition:
- $ref: '#/components/schemas/individualIdentification'
- properties:
- userId
- customerId
- type
- role
properties:
firstName:
description: The person's first name (or given name).
type: string
middleName:
description: The person's middle name.
type: string
lastName:
description: The person's last name (or surname).
type: string
addresses:
description: An array of postal/mailing addresses.
type: array
items:
$ref: '#/components/schemas/address'
preferredMailingAddressId:
description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
type: string
minLength: 1
maxLength: 4
taxId:
description: >-
Official government identification (tax ID) for this person. This will return a masked tax ID, where only the last 4 digits are visible.
If the `?unmasked=true` query parameter is passed, the full, unmasked tax ID is returned.
type: string
citizen:
description: Indicates if the person is a (US) citizen.
type: boolean
emailAddress:
description: Optional email address.
type: string
format: email
userId:
description: The unique ID of the user. This is the `_id` value of the user resource from the Users API.
type: string
example: bd9e7a93-32cc-435d-ac57-f21faa082318
customerId:
description: >-
The unique customer number, also known as the Customer Identification File number or CIF number. This derived value is assigned to the
user in the banking core. The `customerId` differs from the `_id` (which is the ID of the resource in the Users API).
type: string
minLength: 1
maxLength: 100
readOnly: true
example: '10047294723672'
type:
description: |-
The type of this account access authorization.
* *`primary`* the `contact` is the primary owner of a personal account. There may be only one
primary owner. The target of the authorization is a single personal account.
* *`joint`* the `contact` is a non-primary joint owner of a
personal account. The target of the authorization is a single personal account.
* *`authorizedSigner`* the `contact` is an authorized signer
for a business account. The target of the authorization is an
all business accounts owned by the organization.
allOf:
- $ref: '#/components/schemas/authorizationType'
role:
description: The person's role at the organization. This attribute is required when the authorization type is authorizedSigner.
type: string
type: object
x-apiture-flattened: true
beneficialOwner:
title: Beneficial Owner (v1.0.0)
description: A person who owns 25% or more of a business organization.
required:
- percentage
- contactId
- firstName
- lastName
- identification
example:
firstName: William
lastName: Wellphunded
addresses:
- addressLine1: 1234 S Front Street
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
type: home
identification:
- type: taxId
value: 111-11-1111
role: Chief Financial Officer
birthdate: {}
percentage: 35
contactId: 8bf04d7d-c1bd-4945-b0ac-40ef02bb3953
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/beneficialOwner/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-composition:
- $ref: '#/components/schemas/simpleContact'
- properties:
- role
- percentage
- birthdate
- contactId
properties:
firstName:
description: The person's first name (or given name).
type: string
middleName:
description: The person's middle name.
type: string
lastName:
description: The person's last name (or surname).
type: string
addresses:
description: An array of postal/mailing addresses.
type: array
items:
$ref: '#/components/schemas/address'
preferredMailingAddressId:
description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
type: string
minLength: 1
maxLength: 4
emailAddresses:
description: An array of email addresses.
type: array
items:
$ref: '#/components/schemas/typedEmailAddress'
preferredEmailAddressId:
description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
type: string
minLength: 1
maxLength: 4
phones:
description: An array of phone numbers.
type: array
items:
$ref: '#/components/schemas/phoneNumber'
preferredPhoneId:
description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
type: string
minLength: 1
maxLength: 4
prefix:
description: A title or honorific prefix such as Dr. or Fr.
type: string
maxLength: 20
suffix:
description: A title or honorific suffix such as PhD or DDS.
type: string
maxLength: 20
preferredName:
description: >-
The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
`firstName`.
type: string
identification:
description: A collection of official identifying information associated with the contact.
x-apiture-pii: true
type: array
items:
$ref: '#/components/schemas/identification'
preferredContactMethod:
description: The contact's preferred method of communication.
allOf:
- $ref: '#/components/schemas/preferredContactMethod'
role:
type: string
description: The person's role at the organization.
percentage:
description: The percent of the business that this person owns.
type: integer
minimum: 0
maximum: 100
example: 25
birthdate:
description: The beneficial's birth date in `YYYY-MM-DD` format.
type: string
format: date
contactId:
type: string
description: >-
The `_id` of an existing contact resource associated with the beneficial owner. Create the beneficial owner contact resource using the
Contacts API.
type: object
x-apiture-flattened: true
consentFields:
title: Consent Fields
description: Common fields of the consent resource used to build other model schemas.
properties:
document:
description: Properties of the target document.
allOf:
- $ref: '#/components/schemas/document'
type:
description: Describe what kind of consent this is. This value must be one of the type names in the `/consentTypeNames` resource.
type: string
contextUri:
description: >-
The URI of a resource that establishes the context in which the user's consent is requested for a specific document. For example, for
consent of an account's terms and conditions, the context might be the banking product for that account.
type: string
format: uri
maxLength: 2048
userId:
description: The user ID of the user who is requested to consent to a document. This is the `_id` of the User resource.
type: string
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/consents/consentFields/v1.0.0/model.json'
x-apiture-namespace: consents
x-apiture-version: 1.0.0
type: object
x-apiture-flattened: true
consentStates:
title: Consent States (v1.0.0)
description: The state of a consent resource.
type: string
enum:
- pending
- given
- stale
- rescinded
- revoked
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/consents/consentStates/v1.0.0/model.json'
x-apiture-namespace: consents
x-apiture-flattened: true
transactionTypes:
title: Transaction Types (v1.0.0)
description: An array which lists which transaction types are allowed for an account.
type: array
items:
$ref: '#/components/schemas/transactionType'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/transactionTypes/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-flattened: true
maturityPolicy:
title: Maturity Policy (v1.0.0)
description: >-
Indicates how the principal and interest are processed upon maturity. The values indicate whether to rollover (to a time deposit account of
the same rate and term), transfer funds to another (possibly new) deposit account, or simply hold the funds in the current account (which may
no longer accrue interest). Labels and descriptions for the enumeration values are in the `maturityPolicy` key in the response of the
`getLabels` operation.
maturityPolicy
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
rolloverPrincipalAndInterest | Rollover principal and interest to a new CD of the same product: Upon maturity, both principal and interest rollover into a specified banking product, such as a savings, checking, or other deposit account. |
transferPrincipalAndInterest | Transfer principal and interest to a deposit account: Upon maturity, the principal an interest are both transferred to an existing or new deposit account. |
rolloverPrincipalAndTransferInterest | Transfer interest to a new deposit account an rollover principal to a new CD of the same product: Upon maturity, the principal rolls over into a specified banking product and the interest is transferred to an existing deposit account. |
holdPrincipalAndInterest | Hold principal and accued interest in the CD account until withdrawal: Upon maturity, the principal and interest are held in the current time deposit account. The account may or may not accrue further interest, depending on the terms of the time deposit product. Funds may be withdrawn or transferred. |
partialTransfer | Partial Transfer: Upon maturity, any funds greater than the maturity threshold is transfered to an existing deposit account and the rest remains on deposit. The account may or may not accrue further interest, depending on the terms of the time deposit product. Funds may be withdrawn or transferred. |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `maturityPolicy` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- rolloverPrincipalAndInterest
- transferPrincipalAndInterest
- rolloverPrincipalAndTransferInterest
- holdPrincipalAndInterest
- partialTransfer
x-apiture-enum: maturityPolicy
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/maturityPolicy/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-flattened: true
productState:
title: State of a Product or Product Type (v1.0.0)
description: The state of a product or type.
x-apiture-fragment: true
properties:
state:
description: >-
The state of this product or product type. New resources are `pending` by default and must be activated before they may be used.
The `state` property is immutable and derived and may not be changed via the `PUT` or `PATCH` operations. To change the state of a product
or product type, use the `POST` operation using the `apiture:activate`, `apiture:deactivate` or `apiture:remove` links on the resource.
allOf:
- $ref: '#/components/schemas/prodState'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/productState/v1.0.0/model.json'
x-apiture-namespace: products
type: object
x-apiture-flattened: true
newAccountAvailability:
title: New Account Availability (v1.0.0)
description: |-
Describes if the product is available for opening new accounts.
newAccountAvailability
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
available | Users may open new accounts of this type |
notAvailable | Users may not open new accounts of this type |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `newAccountAvailability` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- available
- notAvailable
x-apiture-enum: newAccountAvailability
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/newAccountAvailability/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-flattened: true
rate:
title: Interest Rate (v1.0.0)
description: >-
The interest rate of the account. For deposit accounts, this is the rate of return; for loan accounts, this is the interest rate charged on
balances. Rates can be absolute, such as "1.40" to indicate 1.4%, which is expressed as `{ "value" : "1.40" }`, or relative to a benchmark,
such as U.S. Prime Rate + 0.5% which is expressed as `{ "benchmark" : "prime", "value" : "0.50" }`.
properties:
value:
description: >-
The rate, expressed as an decimal percentage string in order to represent the rate exactly. This number must have 2 to four decimal
points, i.e. '2.00' or '0.50' or '1.015', but not `2` or `.5`. (Regular expression pattern: `-?\d{1,3}+\.\d{2,4}`)
type: string
example: '1.40'
benchmark:
description: >-
An optional base benchmark that the rate is relative to. If omitted, the rate is fixed. Otherwise the rate is added to the benchmark rate.
Values may be (but are not limited to):
* *`primeUS`* - the [U.S. Prime rate](https://en.wikipedia.org/wiki/Prime_rate)
* *`treasuryUS`* - The [U.S. Treasury rate](https://www.treasury.gov/resource-center/data-chart-center/interest-rates/Pages/TextView.aspx?data=yieldAll)
* *`libor`* - the [London Inter-bank Offered Rates](https://en.wikipedia.org/wiki/Libor) rate
type: string
example: prime
compoundPeriod:
description: >-
The period at which interest compounds.
This value is an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string of the form `P[n]Y[n]M[n]D` to specify the
term in the number of years/months/days. The default is `"P0D"` (continuous).
type: string
example: P7D
accrualType:
description: Indicates how interest is accrued according to the `compoundPeriod`.
allOf:
- $ref: '#/components/schemas/accrualType'
adjustmentPeriod:
description: >-
The period at which the rate is adjusted or recomputed to account for differences in the benchmark rate.
This value is an [ISO 8601 duration](https://en.wikipedia.org/wiki/ISO_8601#Durations) string of the form `P[n]Y[n]M[n]D` to specify the
term in the number of years/months/days; The default is `"P1D"` (daily).
type: string
example: P1D
type:
description: The interest rate type.
type: string
allOf:
- $ref: '#/components/schemas/interestRateType'
example:
value: '1.40'
type: apr
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/rate/v1.0.0/model.json'
x-apiture-namespace: products
type: object
x-apiture-flattened: true
productTarget:
title: Product Target (v1.0.0)
description: |-
The target audience for this product.
productTarget
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
personal | Banking products for personal use |
business | Banking products for business use |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `productTarget` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- personal
- business
x-apiture-enum: productTarget
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/productTarget/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-flattened: true
summaryRole:
title: Role Summary
description: >-
Summary representation of a role resource in roles collections. This representation normally does not contain any `_embedded` objects. If
needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/associations/role/v1.0.0/profile.json'
name: primaryUser
label: Primary User
description: |-
The primary user on the account.
There may be only one primary user on an account.
_links:
self:
href: /associations/roles/0399abed-fd3d-4830-a88b-30f38b8a365c
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/associations/summaryRole/v1.0.0/model.json'
x-apiture-namespace: associations
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/roleFields'
- $ref: '#/components/schemas/abstractResource'
- properties:
- _id
properties:
name:
description: >-
The name of this role, for identification purposes, such as `primaryOwner`, `beneficiary`, `authorizedSigner`. Some roles have well-known
uses in the platform.
type: string
maxLength: 128
minLength: 1
example: primaryUser
label:
description: 'The text label for this role, for use in human presentation. This field may be localized.'
type: string
maxLength: 128
minLength: 1
example: Primary User
description:
description: A fuller description of this role. This field may be localized.
type: string
maxLength: 4096
minLength: 1
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
_id:
description: The unique identifier for this role resource. This is an immutable opaque string.
readOnly: true
type: string
type: object
x-apiture-flattened: true
contactVerificationFields:
title: Contact Fields
description: Common fields of the contact resource used to build other model schemas for people who hold bank accounts.
type: object
properties:
kycAnswers:
description: >-
An object that contains the answers to Know Your Customer (KYC) questions. **Warning**: This property is deprecated. Identity verification
details will only exist on Users, not Contacts.
x-apiture-deprecated: true
x-apiture-pii: true
type: object
identityVerificationStatus:
description: >-
Use the `state` of `identityVerification`. The identity verification status for this person. This field is read-only and is derived from
the results of any identity verification processes executed against the personally identifiable information (PII) contained in this
record. **Warning**: This property is deprecated. Identity verification details will only exist on Users, not Contacts.
x-apiture-deprecated: true
type: string
readOnly: true
enum:
- verified
- unverified
identityVerification:
description: >-
The identity verification data for this person. These fields are derived from the results of any identity verification processes executed
against the personally identifiable information (PII) contained in this record. **Warning**: This property is deprecated. Identity
verification details will only exist on Users, not Contacts.
x-apiture-deprecated: true
type: object
allOf:
- $ref: '#/components/schemas/identityVerification'
example:
firstName: John
middleName: Daniel
lastName: Smith
preferredName: John
suffix: MD
identification:
- type: taxId
value: 111-11-1111
emailAddresses:
- _id: ea1
value: api@apiture.com
type: personal
- _id: ek3
value: support@apiture.com
type: work
preferredEmailAddressId: ea1
phones:
- _id: pa1
type: home
number: (555) 555-5555
- _id: da6
type: mobile
number: (999) 555-5555
preferredPhoneId: pa1
birthdate: '1974-10-27'
citizenship:
- countryCode: US
state: citizen
residencyStatus: resident
occupation: officeAndAdministrativeSupport
addresses:
- _id: ha1
type: home
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
- _id: wa1
type: work
addressLine1: 123 S 3rd Street
addressLine2: Apt 42
city: Wilmington
regionCode: NC
postalCode: 28411-5405
countryCode: US
preferredMailingAddressId: ha1
identityVerification:
provider: IDology
sessionId: '123456'
scoredAt: '2019-09-13T13:06:52.078Z'
score: passed
state: verified
yearsAtAddress: 3
mailingDifferentAddress: false
kycAnswers:
citizen: true
permanentResident: true
w9Withholdings: false
employmentStatus: fullTime
occupation: officeAndAdministrativeSupport
foreignPoliticalFigure: false
countryPoliticalFigure: N/A
familyOfPoliticalFigure: false
state: active
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/contactVerificationFields/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-version: 1.0.0
x-apiture-flattened: true
identifiedContact:
title: Identified Contact (v1.0.0)
description: A contact with additional personally identifiable information data.
x-apiture-fragment: true
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/identifiedContact/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-composition:
- $ref: '#/components/schemas/simpleContact'
- $ref: '#/components/schemas/identifiedContactFields'
properties:
firstName:
description: The person's first name (or given name).
type: string
middleName:
description: The person's middle name.
type: string
lastName:
description: The person's last name (or surname).
type: string
addresses:
description: An array of postal/mailing addresses.
type: array
items:
$ref: '#/components/schemas/address'
preferredMailingAddressId:
description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
type: string
minLength: 1
maxLength: 4
emailAddresses:
description: An array of email addresses.
type: array
items:
$ref: '#/components/schemas/typedEmailAddress'
preferredEmailAddressId:
description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
type: string
minLength: 1
maxLength: 4
phones:
description: An array of phone numbers.
type: array
items:
$ref: '#/components/schemas/phoneNumber'
preferredPhoneId:
description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
type: string
minLength: 1
maxLength: 4
prefix:
description: A title or honorific prefix such as Dr. or Fr.
type: string
maxLength: 20
suffix:
description: A title or honorific suffix such as PhD or DDS.
type: string
maxLength: 20
preferredName:
description: >-
The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
`firstName`.
type: string
identification:
description: A collection of official identifying information associated with the contact.
x-apiture-pii: true
type: array
items:
$ref: '#/components/schemas/identification'
preferredContactMethod:
description: The contact's preferred method of communication.
allOf:
- $ref: '#/components/schemas/preferredContactMethod'
birthdate:
description: The contact's birth date in `YYYY-MM-DD` format.
type: string
format: date
citizenship:
description: This individual's citizenship or nationality status.
allOf:
- $ref: '#/components/schemas/citizenship'
residencyStatus:
description: This individual's residency status.
allOf:
- $ref: '#/components/schemas/residencyStatus'
occupation:
description: The occupation of this individual.
allOf:
- $ref: '#/components/schemas/occupation'
otherOccupation:
description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
type: string
minLength: 4
maxLength: 32
yearsAtAddress:
description: The number of years the person has been at their present home address.
allOf:
- $ref: '#/components/schemas/yearsAtAddress'
type: object
x-apiture-flattened: true
contactState:
title: Contact State (v1.0.0)
description: |-
The state of this person. The values are described in the `contactState` text via the `getLabels` operation.
contactState
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
inactive | Inactive: A new contact, not yet activated. |
active | Active: An activated contact record. |
merged | Merged: A contact record resulting from merging other contacts. |
removed | Removed: A removed, no longer available contact. |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `contactState` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- inactive
- active
- merged
- removed
x-apiture-enum: contactState
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/contactState/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
identityVerificationState:
title: IdentityVerification Type (v1.0.0)
description: |+
The type of the historical verification.
identityVerificationState
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
passed | Passed: Identity verification passed. |
failed | Failed: Identity verification failed. |
passedWithRiskFactors | PassedWithRiskFactors: Identity verification passed with risk factors. |
pending | Pending: Identity verification has not started. |
asked | Asked: Identity verification is in progress, after personal questions have been presented to the user. |
identityServiceFailure | IdentityServiceFailure: Identity verification failed to complete due to a failure in a back-end or third party service. |
scoring | Scoring: Identity verification is generating a verification score. |
expired | Expired: The user did not complete the identity verification process before it expired.
|
type: string
enum:
- passed
- failed
- passedWithRiskFactors
- pending
- asked
- identityServiceFailure
- scoring
- expired
x-apiture-enum: identityVerificationState
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/identityVerificationState/v1.0.0/model.json'
x-apiture-namespace: identity
x-apiture-flattened: true
summaryApproval:
title: Approval Summary
description: >-
Summary representation of an approval resource in approvals collections. This representation normally does not contain any `_embedded`
objects. If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/approvals/approvals/v1.0.0/profile.json'
_links:
self:
href: /approvals/approvals/0399abed-fd3d-4830-a88b-30f38b8a365c
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/summaryApproval/v1.0.0/model.json'
x-apiture-namespace: approvals
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- $ref: '#/components/schemas/approvalFields'
- properties:
- _id
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
label:
description: 'The approval''s common name. If omitted on create request, this will default to the label of the Approval Type.'
type: string
description:
description: 'The approval''s description. If omitted on create request, this will default to the description of the Approval Type.'
type: string
state:
description: >-
The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding `POST`
operations, `submitApproval`, `approveApproval`, `rejectApproval`, `waiveApproval`, `returnApproval`, and `cancelApproval`, if the
corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined
by the approval type.
allOf:
- $ref: '#/components/schemas/approvalState'
readOnly: true
done:
description: >-
If `done` is true, the approval is in a terminal state and may no longer be acted upon. Done states include `canceled`, `approved`,
`waived` or `rejected`. This property is derived from the `state` field and is immutable.
type: boolean
readOnly: true
typeName:
description: The name of the Approval Type. This field is immutable and derived from the name of the Approval Type.
type: string
reviewedBy:
description: The id of the User that reviewed the approval.
type: string
readOnly: true
reviewedAt:
description: The date-time when the approval was reviewed.
type: string
format: date-time
readOnly: true
_id:
description: The unique identifier for this approval resource. This is an immutable opaque string.
readOnly: true
type: string
type: object
x-apiture-flattened: true
businessVerificationScore:
title: Business Verification Score (v1.0.0)
description: An score that summarizes the verification of the input information. This objects contains a score `value` and accompanying `description`.
properties:
value:
description: The business verification score value
type: string
description:
description: The business verification score description
type: string
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/businessVerificationScore/v1.0.0/model.json'
x-apiture-namespace: businessVerifications
type: object
x-apiture-flattened: true
riskFactor:
title: Risk Factor (v1.0.0)
description: >-
Risk factors, warning codes, or risk codes are not necessarily indicators of fraud or of any fraudulent intent. They are value added
attributes that indicate information that may have contributed to a lower score.
properties:
riskCode:
description: The risk factor risk code
type: string
description:
description: The risk code description
type: string
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/riskFactor/v1.0.0/model.json'
x-apiture-namespace: businessVerifications
type: object
x-apiture-flattened: true
comprehensiveVerificationScore:
title: Authorized Representative Comprehensive Verification Score (v1.0.0)
description: The comprehensive verification score is a risk verification score for the authorized representative.
properties:
inputRepNumber:
description: the rep number for the authorized representative
type: string
score:
description: The comprehensive verification score is a risk verification score of the authorized representative
type: integer
description:
description: The description for the CVI value
type: string
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/comprehensiveVerificationScore/v1.0.0/model.json'
x-apiture-namespace: businessVerifications
type: object
x-apiture-flattened: true
verificationRequestFields:
title: Verification Request Fields (v1.0.0)
description: 'Common fields of a verification request, used to build other model schemas.'
properties:
businessName:
description: The business's name
type: string
maxLength: 512
minLength: 1
alternateBusinessName:
description: An alternate name for the business
type: string
maxLength: 512
minLength: 1
phone:
description: The business's phone
type: string
maxLength: 32
minLength: 1
identification:
$ref: '#/components/schemas/identificationModel'
authorizedSigners:
description: An optional array of authorized signer entities
type: array
items:
$ref: '#/components/schemas/authorizedSigner'
addresses:
description: An array of postal mailing addresses for this contact.
type: array
items:
$ref: '#/components/schemas/address'
attributes:
description: An optional map of name/value pairs which provide additional metadata about the verification report.
allOf:
- $ref: '#/components/schemas/attributes'
example:
businessName: ABC EXAMPLE CO.
phone: 555-555-1234
identification:
- type: taxId
value: 12-347894309
attributes: {}
addresses:
- addressLine1: 3212 N. 2nd Ave.
city: Wilmington
regionCode: NC
postalCode: '28412'
authorizedSigners:
- firstName: Jane
lastName: Doe
identification:
- type: taxId
value: 121-34-5431
birthdate: '1980-12-01'
email: email@email.com
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/verificationRequestFields/v1.0.0/model.json'
x-apiture-namespace: businessVerifications
type: object
x-apiture-flattened: true
contactName:
title: Name (v1.0.0)
description: A person's name.
x-apiture-fragment: true
properties:
firstName:
description: The person's first name (or given name).
type: string
middleName:
description: The person's middle name.
type: string
lastName:
description: The person's last name (or surname).
type: string
example:
firstName: John
middleName: Daniel
lastName: Smith
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/contactName/v1.0.0/model.json'
x-apiture-namespace: contacts
type: object
x-apiture-flattened: true
simpleContactFields:
title: Simple Contact Fields (v1.0.0)
description: Additional properties for a person or contact.
x-apiture-fragment: true
type: object
properties:
prefix:
description: A title or honorific prefix such as Dr. or Fr.
type: string
maxLength: 20
suffix:
description: A title or honorific suffix such as PhD or DDS.
type: string
maxLength: 20
preferredName:
description: >-
The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
`firstName`.
type: string
identification:
description: A collection of official identifying information associated with the contact.
x-apiture-pii: true
type: array
items:
$ref: '#/components/schemas/identification'
preferredContactMethod:
description: The contact's preferred method of communication.
allOf:
- $ref: '#/components/schemas/preferredContactMethod'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/simpleContactFields/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
userVerificationFields:
title: User Verification Fields
description: >-
Fields for recording the status of user verification for a financial institution's Customer Identification Program (CIP). (This fragment
schema is used to build other schemas.)
type: object
properties:
kycAnswers:
description: This user's answers Know Your Customer (KYC) questions.
x-apiture-pii: true
readOnly: true
allOf:
- $ref: '#/components/schemas/kycAnswers'
identityVerification:
description: >-
The identity verification data for this person. These fields are derived from the results of any identity verification processes executed
against the personally identifiable information (PII) contained in this record.
type: object
readOnly: true
allOf:
- $ref: '#/components/schemas/identityVerification'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/userVerificationFields/v1.0.0/model.json'
x-apiture-namespace: users
x-apiture-version: 1.0.0
x-apiture-flattened: true
userAddress:
title: User Address (v1.0.0)
description: >
Representation of a user's address resource.
Links
Response and request bodies using this userAddress
schema may contain
the following links:
x-apiture-links:
- rel: delete
operationId: deleteAddress
- rel: 'apiture:setAsPreferred'
operationId: setPreferredAddress
example:
_id: ha1
type: home
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
state: approved
_links:
self:
href: /users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/userAddress/v1.0.0/model.json'
x-apiture-namespace: users
x-apiture-composition:
- $ref: '#/components/schemas/address'
- $ref: '#/components/schemas/abstractResource'
- properties:
- state
properties:
type:
description: The type of this address.
allOf:
- $ref: '#/components/schemas/addressType'
label:
description: 'A text label, suitable for presentation to the end user. This is derived from `type` or from `otherType` if `type` is `other`'
type: string
readOnly: true
minLength: 4
maxLength: 32
otherType:
description: The actual address type if `type` is `other`.
minLength: 4
maxLength: 32
type: string
addressLine1:
description: 'The first street address line of the address, normally a house number and street name.'
type: string
minLength: 4
maxLength: 128
addressLine2:
description: The optional second street address line of the address.
type: string
maxLength: 128
city:
description: The name of the city or municipality.
type: string
minLength: 2
maxLength: 128
regionCode:
description: 'The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.'
type: string
example: NC
minLength: 2
maxLength: 2
pattern: '^[a-zA-Z]{2}$'
postalCode:
description: 'The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.'
type: string
example: 28401-5405
minLength: 5
maxLength: 10
pattern: '^[0-9]{5}(?:-[0-9]{4})?$'
countryCode:
description: 'The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. This is normalized to uppercase.'
type: string
minLength: 2
maxLength: 2
pattern: '^[a-zA-Z]{2}$'
_id:
description: >-
An identifier for this address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
provide one. The `_id` must be unique across all addresses within the `addresses` array.
type: string
minLength: 1
maxLength: 8
example: ha5
pattern: '^[-a-zA-Z0-9_]{1,8}$'
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
state:
description: >-
The state of this address. `pending` addresses require financial institution approval. Only `approved` addresses may be set as the
preferred address.
allOf:
- $ref: '#/components/schemas/profileItemState'
type: object
x-apiture-flattened: true
userPhoneNumber:
title: Phone Number (v1.0.0)
description: >
Representation of phone number resources.
Links
Response and request bodies using this userPhoneNumber
schema may contain
the following links:
x-apiture-links:
- rel: delete
operationId: deletePhoneNumber
- rel: 'apiture:setAsPreferred'
operationId: setPreferredPhoneNumber
example:
_id: hp1
_profile: 'https://api.apiture.com/schemas/users/userPhoneNumber/v1.0.0/profile.json'
type: home
number: 555-555-5555
state: approved
_links:
self:
href: /users/users/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/hp1
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/userPhoneNumber/v1.0.0/model.json'
x-apiture-namespace: users
x-apiture-composition:
- $ref: '#/components/schemas/phoneNumber'
- properties:
- state
- $ref: '#/components/schemas/abstractResource'
properties:
type:
description: The type or role of this phone number.
allOf:
- $ref: '#/components/schemas/phoneNumberType'
number:
description: >-
The phone number, as a string. The service strips all spaces, hyphens, periods and parentheses from input. The default country code prefix
is `+1`. Phone numbers are returned in responses in [E.164](https://en.wikipedia.org/wiki/E.164) format with a leading `+`, country code
(up to 3 digits) and subscriber number for a total of up to 15 digits. See [Phone Number
Representations](https://developer.apiture.com/docs/concepts/phone-numbers/) for more information.
type: string
example: '+19105550155'
minLength: 8
maxLength: 20
label:
description: 'A text label, suitable for presentation to the end user. This is also used if `type` is `other`.'
type: string
example: assistant
maxLength: 32
_id:
description: >-
An identifier for this phone number, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
provide one. The `_id` must be unique across all phone numbers within the `phones` array.
type: string
minLength: 1
maxLength: 8
example: ha5
pattern: '^[-a-zA-Z0-9_]{1,8}$'
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
state:
description: >-
The state of this phone number. `pending` numbers require financial institution approval. Only `approved` numbers may be set as the
preferred phone number.
allOf:
- $ref: '#/components/schemas/profileItemState'
type: object
x-apiture-flattened: true
userEmailAddress:
title: Email Address (v1.0.0)
description: >
Representation of email address resources. An email address is immutable, although users can add new email addresses.
Links
Response and request bodies using this userEmailAddress
schema may contain
the following links:
x-apiture-links:
- rel: delete
operationId: deleteEmailAddress
- rel: 'apiture:setAsPreferred'
operationId: setPreferredEmailAddress
example:
_id: pe1
_profile: 'https://api.apiture.com/schemas/users/userEmailAddress/v1.0.0/profile.json'
type: personal
number: 555-555-5555
state: approved
_links:
self:
href: /users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1
delete:
href: /users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1
'apiture:setAsPreferred':
href: /users/users/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredEmailAddresses?value=pe1
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/userEmailAddress/v1.0.0/model.json'
x-apiture-namespace: users
x-apiture-composition:
- $ref: '#/components/schemas/typedEmailAddress'
- properties:
- state
- $ref: '#/components/schemas/abstractResource'
properties:
value:
description: 'The email address, such as `JohnBankCustomer@example.com`'
type: string
format: email
minLength: 8
maxLength: 120
example: JohnBankCustomer@example.com
type:
description: The kind of email address.
allOf:
- $ref: '#/components/schemas/emailType'
_id:
description: >-
An identifier for this email address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
provide one. The `_id` must be unique across all email addresses within the `emailAddresses` array.
type: string
minLength: 1
maxLength: 8
example: ha3
pattern: '^[-a-zA-Z0-9_]{1,8}$'
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
state:
description: >-
The state of this email address. `pending` email addresses require financial institution approval. Only `approved` numbers may be set as
the preferred email address.
allOf:
- $ref: '#/components/schemas/profileItemState'
type: object
x-apiture-flattened: true
simpleOrganization:
title: Simple Organization
description: The simplest form of an organization.
example:
name: Smith's Auto Detailing
label: Smith's Detailing
emailAddresses:
- type: work
value: smitties-detailing@example.com
identification:
- type: taxId
value: 00-9999999
phones:
- type: work
number: (555) 555-5555
- type: mobile
number: (999) 555-5555
addresses:
- type: work
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
- type: work
addressLine1: 123 S 3rd Street
addressLine2: Apt 42
city: Wilmington
regionCode: NC
postalCode: 28411-5405
countryCode: US
establishedDate: 2009-07-09T
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/simpleOrganization/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-version: 1.0.0
x-apiture-composition:
- properties:
- name
- label
- type
- subtype
- identification
- addresses
- phones
- emailAddresses
- preferredEmailAddressId
- preferredPhoneId
- preferredMailingAddressId
- establishedDate
properties:
name:
description: The organization's official full name
type: string
label:
description: The organization's common name.
type: string
type:
description: |-
Indicates what type of organization this resource represents.
The enumeration values are described by the `organizationType`
value in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/organizationType'
subtype:
description: |-
A refinement of the `type`.
The enumeration values are described by the `organizationSubtype`
value in the response of the `getLabels` operation.
allOf:
- $ref: '#/components/schemas/organizationSubtype'
identification:
description: A collection of official identifying information associated with the organization. This currently only supports government tax ID.
type: array
items:
$ref: '#/components/schemas/organizationIdentification'
addresses:
description: An array containing address items.
type: array
items:
$ref: '#/components/schemas/organizationAddress'
phones:
description: >-
An array of phone numbers associated with the organization. The first item, if present, is the default (preferred) organization phone
number.
type: array
items:
$ref: '#/components/schemas/organizationPhoneNumber'
emailAddresses:
description: 'An array of email addresses associated with the organization. The first item, if present, is the default (preferred) organization email.'
type: array
items:
$ref: '#/components/schemas/organizationEmailAddress'
preferredEmailAddressId:
description: |-
The ID of the organization's preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
This value is set with the `setPreferredEmailAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
preferredPhoneId:
description: >-
The ID of organization's preferred phone number. This string is the `_id` of a phone number in the `phones` array. This value is set with
the `setPreferredPhoneNumber` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
preferredMailingAddressId:
description: >-
The preferred mailing address. This string is the `_id` of an address in the `addresses` array. This value is set with the
`setPreferredMailingAddress` operation.
type: string
minLength: 1
maxLength: 4
readOnly: true
establishedDate:
description: The date the organization was established.
type: string
format: date
type: object
x-apiture-flattened: true
organizationState:
title: Organization State (v1.0.0)
description: >-
The state of this organization. The enumeration values are described by the `organizationState` value in the response of the `getLabels`
operation.
organizationState
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
pending | Pending: The organization resource has been created but is not yet active; it is a draft and may be deleted. |
inactive | Inactive: The organization resource is inactive and not available for use or assignment, such as associated to business account or payee. |
active | Active: The organization resource is inactive and not available for use or assignment, such as associated to business account or payee. |
merged | Merged: The organization resource is has been merged into another organization and is not available for use or for activating. |
removed | Removed: The inactive organization resource is has been marked as removed. |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `organizationState` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- pending
- inactive
- active
- merged
- removed
x-apiture-enum: organizationState
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationState/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-flattened: true
regulatory:
title: Regulatory (v1.0.0)
description: Responses to regulatory-related questions.
type: object
properties:
estimatedAnnualRevenue:
description: The range of estimated revenue in US dollars.
allOf:
- $ref: '#/components/schemas/estimatedAnnualRevenue'
atmOperator:
description: The organization operates automated teller machines (ATMs).
type: boolean
charity:
description: Some of the organization's income depends on a charity.
type: boolean
cashesChecksMoreThan1000Usd:
description: 'The organization cashes checks for customers in amounts greater than $1,000.'
type: boolean
internetGamblingIncorporated:
description: The organization derives income from internet gambling.
type: boolean
marijuanaBusiness:
description: The organization derives income from marijuana or other drugs/controlled substances.
type: boolean
moneyOrderMoreThan1000Usd:
description: 'Individuals at the organization may request money orders of more than $1,000.'
type: boolean
thirdPartyBenefit:
description: The organization processes transactions on behalf of third parties.
type: boolean
transmitBehalfOfCustomer:
description: The organization transmits funds on behalf of third parties.
type: boolean
virtualCurrency:
description: The organization administers or exchanges virtual currency.
type: boolean
intermediaryServices:
description: A list of intermediary/non-bank financial institution services provided the organization performs on behalf of others.
type: array
uniqueItems: true
items:
$ref: '#/components/schemas/intermediaryServices'
subjectToWithholdings:
description: 'If `true`, the organization is subject to tax withholdings.'
type: boolean
default: false
additionalProperties:
$ref: '#/components/schemas/regulatoryValue'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/regulatory/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-flattened: true
estimatedMonthlyAmounts:
title: Estimated Monthly Amounts (v1.0.0)
description: Estimated monthly amounts for banking services.
type: object
properties:
percentGrossRevenue:
title: Percent of Gross Revenue derived from Money Services
description: |-
The percentage of gross revenue the organization derives from money services.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `percentGrossRevenue`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
x-apiture-choice: percentGrossRevenue
sentAch:
description: |-
Indicates the estimated monthly total amount to send by ACH.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlySentAchAmounts`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
example: upToOneHundredThousand
x-apiture-choice: estimatedMonthlySentAchAmounts
receivedAch:
description: |-
Indicates the estimated monthly total amount to receive by ACH.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyReceivedAchAmounts`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
example: oneHundredThousandToOneMillion
x-apiture-choice: estimatedMonthlyReceivedAchAmounts
mobileCheckDeposit:
description: |-
Indicates the estimated monthly minimum amount to deposit.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyMobileCheckDepositAmounts`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
example: oneHundredThousandToOneMillion
x-apiture-choice: estimatedMonthlyMobileCheckDepositAmounts
sentWire:
description: |-
Indicates the estimated monthly minimum wires amount sent.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlySentWireAmounts`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
example: oneHundredThousandToOneMillion
x-apiture-choice: estimatedMonthlySentWireAmounts
receivedWire:
description: |-
Indicates the estimated monthly minimum wires amount received.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `estimatedMonthlyReceivedWireAmounts`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
example: moreThanOneMillion
x-apiture-choice: estimatedMonthlyReceivedWireAmounts
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/estimatedMonthlyAmounts/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-flattened: true
accountPurpose:
title: Account purpose (v1.0.0)
x-apiuture-fragment: true
description: >-
The purpose of the account.
**Warning**: the `enum` list will be removed in a future release and the values defined at runtime via the `accountPurpose` group in the
response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- unknown
- creditCardProcessing
- generalOperatingFunds
- lottery
- payroll
- savings
- other
- notApplicable
x-apiture-choice: accountPurpose
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/accountPurpose/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-flattened: true
individualIdentification:
title: Individual Identification (v1.0.0)
x-apiture-fragment: true
description: This object contains key identification information for a person associated with digital banking.
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/individualIdentification/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-composition:
- $ref: '#/components/schemas/contactName'
- $ref: '#/components/schemas/addresses'
- properties:
- taxId
- citizen
- emailAddress
properties:
firstName:
description: The person's first name (or given name).
type: string
middleName:
description: The person's middle name.
type: string
lastName:
description: The person's last name (or surname).
type: string
addresses:
description: An array of postal/mailing addresses.
type: array
items:
$ref: '#/components/schemas/address'
preferredMailingAddressId:
description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
type: string
minLength: 1
maxLength: 4
taxId:
description: >-
Official government identification (tax ID) for this person. This will return a masked tax ID, where only the last 4 digits are visible.
If the `?unmasked=true` query parameter is passed, the full, unmasked tax ID is returned.
type: string
citizen:
description: Indicates if the person is a (US) citizen.
type: boolean
emailAddress:
description: Optional email address.
type: string
format: email
type: object
x-apiture-flattened: true
authorizationType:
title: Account Authorization type (v1.0.0)
description: |-
The type of this account access authorization.
* *`primary`* the person is the primary owner of a personal account.
There may be only one primary owner.
* *`joint`* the person is a non-primary joint owner of a
personal account.
* *`authorizedSigner`* the person is an authorized signer
for all business accounts owned by the organization.
authorizationType
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
primary | Primary Account Holder: The primary account holder of a personal account. There may be only one primary owner. |
joint | Joint Account Holder: A non-primary joint account holder of a personal account. |
authorizedSigner | Authorized Signer: Authorized Signer of a business account. |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `authorizationType` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
x-apiture-enum: authorizationType
enum:
- primary
- joint
- authorizedSigner
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/authorizationType/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
simpleContact:
title: Simple Contact (v1.0.1)
description: >-
Basic contact and identification information for a person, consisting of the name, mailing address, phone numbers, email addresses, and
government identification.
x-apiture-version: 1.0.1
example:
firstName: John
middleName: Daniel
lastName: Smith
preferredName: John
suffix: MD
identification:
- type: taxId
value: '*****3333'
addresses:
- _id: ha1
type: home
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
preferredMailingAddressId: ha1
emailAddresses:
- id: pe0
value: api@apiture.com
type: personal
- id: wp1
value: support@apiture.com
type: work
preferredEmailAddressId: pe0
phones:
- _id: hp1
type: home
number: '+19105550155'
- _id: mp1
type: mobile
number: '+19105550159'
preferredPhoneId: hp1
preferredContactMethod: email
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/simpleContact/v1.0.1/model.json'
x-apiture-namespace: contacts
x-apiture-composition:
- $ref: '#/components/schemas/contactName'
- $ref: '#/components/schemas/addresses'
- $ref: '#/components/schemas/emailAddresses'
- $ref: '#/components/schemas/phoneNumbers'
- $ref: '#/components/schemas/simpleContactFields'
properties:
firstName:
description: The person's first name (or given name).
type: string
middleName:
description: The person's middle name.
type: string
lastName:
description: The person's last name (or surname).
type: string
addresses:
description: An array of postal/mailing addresses.
type: array
items:
$ref: '#/components/schemas/address'
preferredMailingAddressId:
description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
type: string
minLength: 1
maxLength: 4
emailAddresses:
description: An array of email addresses.
type: array
items:
$ref: '#/components/schemas/typedEmailAddress'
preferredEmailAddressId:
description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
type: string
minLength: 1
maxLength: 4
phones:
description: An array of phone numbers.
type: array
items:
$ref: '#/components/schemas/phoneNumber'
preferredPhoneId:
description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
type: string
minLength: 1
maxLength: 4
prefix:
description: A title or honorific prefix such as Dr. or Fr.
type: string
maxLength: 20
suffix:
description: A title or honorific suffix such as PhD or DDS.
type: string
maxLength: 20
preferredName:
description: >-
The contact's preferred name. This is how the contact's name is presented to the user in the interface. The default is the contact's
`firstName`.
type: string
identification:
description: A collection of official identifying information associated with the contact.
x-apiture-pii: true
type: array
items:
$ref: '#/components/schemas/identification'
preferredContactMethod:
description: The contact's preferred method of communication.
allOf:
- $ref: '#/components/schemas/preferredContactMethod'
type: object
x-apiture-flattened: true
identity:
title: Identity (v1.0.0)
description: Information that describes the identity.
required:
- taxId
- firstName
- lastName
- address1
- city
- region
- postalCode
- phone
- birthdate
properties:
taxId:
description: >-
The identity's masked tax or government ID. In requests, the full tax ID is required. In responses, the tax ID is masked; only the last
four digits are shown. The mask consists of one ore more `'*'` characters.
type: string
maxLength: 128
minLength: 1
example: 112-22-3333
firstName:
description: The identity's first name.
type: string
maxLength: 128
minLength: 1
lastName:
description: The identity's last name.
type: string
maxLength: 128
minLength: 1
address1:
description: Line 1 of the identity's street address.
type: string
maxLength: 512
minLength: 1
address2:
description: Line 2 of the identity's street address.
type: string
maxLength: 512
minLength: 1
city:
description: The identity's city.
type: string
maxLength: 64
minLength: 1
region:
description: The identity's region.
type: string
maxLength: 128
minLength: 1
postalCode:
description: The identity's postal code.
type: string
maxLength: 32
minLength: 1
phone:
description: The identity's phone.
type: string
maxLength: 32
minLength: 1
birthdate:
description: The identity's birth date in `yyyy-mm-dd` format.
type: string
format: date
pattern: '^([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))$'
maxLength: 10
minLength: 10
email:
description: The identity's email address.
type: string
format: email
maxLength: 256
ipAddress:
description: The identity's IP address.
type: string
format: ipv4
example:
taxId: 112-22-3333
firstName: John
lastName: Smith
address1: 1741 Tiburon Dr
city: Wilmington
region: NC
postalCode: '28403'
phone: 15555555555
birthdate: '1940-10-15'
email: api@apiture.com
ipAddress: 127.0.0.1
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/identity/v1.0.0/model.json'
x-apiture-namespace: identity
type: object
x-apiture-flattened: true
transactionType:
title: Transaction Type (v1.0.0)
description: |-
A string which defines a transaction type allowed for an account.
* *`credit`* : Credits may be posted to this account, such as transfer funds _to_ this external account.
* *`debit`* : Debits may be posted to this account, such as transfer funds _from_ this external account.
Labels and descriptions for the enumeration values are in the `transactionType`
key in the response of the `getLabels` operation.
transactionType
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
debit | A transaction which descreases an account's balance |
credit | A transaction which increases an accounts's balance |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `transactionType` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- debit
- credit
x-apiture-enum: transactionType
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/transactionType/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-flattened: true
outputs:
title: Outputs (v1.0.0)
description: Base model schema for identity verification operations outputs.
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/outputs/v1.0.0/model.json'
x-apiture-namespace: identity
x-apiture-composition:
- $ref: '#/components/schemas/verificationToken'
properties:
token:
type: string
description: An opaque string that conveys the state of the contact's identity verification.
type: object
x-apiture-flattened: true
fraudRiskReportState:
title: Fraud Risk Report State (v1.0.0)
type: string
description: >+
The state of a fraud report. `passed` indicates that the provided personally identifiable information (PII) was located and contains no risk
factors. `passedWithRiskFactors` means that the provided PII matches an identity but contains risk factors. `failed` means that the provided
PII does not match any identity records.
fraudRiskReportState
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
passed | Passed: Identity verification passed. |
failed | Failed: Identity verification failed. |
passedWithRiskFactors | Passed with Risk Factors: Identity verification passed with risk factors. |
enum:
- passed
- passedWithRiskFactors
- failed
x-apiture-enum: fraudRiskReportState
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskReportState/v1.0.0/model.json'
x-apiture-namespace: identity
x-apiture-flattened: true
fraudRiskCategory:
title: Fraud-risk Category (v1.0.0)
description: Representation of a fraud-risk category.
properties:
type:
$ref: '#/components/schemas/fraudRiskCategoryType'
description:
description: The description of the fraud.
type: string
message:
description: The original result message that was received from the identity verification provider.
type: string
example:
type: personalInfoDoesNotMatch
description: The retrieved identity does not match the provided PII.
message: ZIP code located does not match the ZIP code submitted.
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskCategory/v1.0.0/model.json'
x-apiture-namespace: identity
type: object
x-apiture-flattened: true
prodState:
title: Product or Product Type State (v1.0.0)
description: >-
The state of this product or product type. New resources are `pending` by default and must be activated before they may be used.
The `state` property is immutable and derived and may not be changed via the `PUT` or `PATCH` operations. To change the state of a product or
product type, use the `POST` operation using the `apiture:activate`, `apiture:deactivate` or `apiture:remove` links on the resource.
prodState
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
pending | This product has been created in draft form but is not yet available |
active | This product is active and available for use |
inactive | This product is temporarily not available for use |
removed | This product has been removed and is permanently not available for use |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `prodState` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- pending
- active
- inactive
- removed
default: pending
x-apiture-enum: prodState
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/prodState/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-flattened: true
summaryApprovalType:
title: Approval Type Summary (v1.0.1)
description: >-
Summary representation of an approval type resource in approvals collections. This representation normally does not contain any `_embedded`
objects. If needed, call the `GET` operation on the item's `self` link to get `_embedded` objects.
x-apiture-version: 1.0.1
example:
_id: 0399abed-fd3d-4830-a88b-30f38b8a365c
_profile: 'https://api.apiture.com/schemas/approvals/summaryApprovalType/v1.0.1/profile.json'
_links:
self:
href: 'https://api.apiture.com/approvals/approvalTypes/0399abed-fd3d-4830-a88b-30f38b8a365c'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/summaryApprovalType/v1.0.1/model.json'
x-apiture-namespace: approvals
x-apiture-composition:
- $ref: '#/components/schemas/abstractResource'
- $ref: '#/components/schemas/approvalTypeFields'
- properties:
- _id
properties:
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
name:
description: The approval's name.
type: string
label:
description: The approval's common name.
type: string
description:
description: The approval's description.
type: string
domain:
description: >-
A namespace for grouping related resources, to keep them separate from other resources. For example, a department or bank branch may
define a domain, and all Approval Type instances they define will use that domain, so that they can avoid conflicting with Approval Type
names in other domains. An API or service may define a domain for new Approval Types that it defines. The combination of `domain` and
`name` must be unique within the set of all approval types. It is a best practice to define `domain` with a URI or a URN.
type: string
disallowedStates:
description: >-
An optional array of states that are not allowed for this approval type. If omitted, all state transitions are allowed. The states `open`
and `approved` are always allowed, so this enumeration set is a subset of the `approvalState` enumeration on an approval.
type: array
items:
$ref: '#/components/schemas/disallowedState'
_id:
description: The unique identifier for this approval resource. This is an immutable opaque string.
readOnly: true
type: string
type: object
x-apiture-flattened: true
roleFields:
title: Role Fields
description: Core fields of the role resource used to build other model schema.
properties:
name:
description: >-
The name of this role, for identification purposes, such as `primaryOwner`, `beneficiary`, `authorizedSigner`. Some roles have well-known
uses in the platform.
type: string
maxLength: 128
minLength: 1
example: primaryUser
label:
description: 'The text label for this role, for use in human presentation. This field may be localized.'
type: string
maxLength: 128
minLength: 1
example: Primary User
description:
description: A fuller description of this role. This field may be localized.
type: string
maxLength: 4096
minLength: 1
example:
name: primaryUser
label: Primary User
description: |-
The primary user on the account.
There may be only one primary user on an account.
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/associations/roleFields/v1.0.0/model.json'
x-apiture-namespace: associations
x-apiture-version: 1.0.0
type: object
x-apiture-flattened: true
identityVerification:
title: Identity Verification Data
description: 'Data points on the identity verification process that tells if a user has passed, failed or expired the identity check.'
properties:
provider:
title: Identity verification provider
description: The name of the identity verification provider.
type: string
sessionId:
title: Session Id
description: The unique id for a session of the identity verification process.
type: string
scoredAt:
title: Time Stamp scored at
description: 'The date-time when the provider ran identity verification. This is an [RFC 3339](https://tools.ietf.org/html/rfc3339) time stamp.'
type: string
format: date-time
example: '2019-09-13T06:11:01.375Z'
score:
title: Verification Score
description: The indication if the user has passed or failed the identity verification process.
type: string
enum:
- passed
- failed
- expired
state:
title: Verification State
description: >-
The identity verification status for this person. This field is read-only and is derived from the results of any identity verification
processes executed against the personally identifiable information (PII) contained in this record.
type: string
readOnly: true
enum:
- verified
- unverified
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/identityVerification/v1.0.0/model.json'
x-apiture-namespace: users
x-apiture-version: 1.0.0
type: object
x-apiture-flattened: true
identifiedContactFields:
title: Identified Contact Fields (v1.0.0)
description: Properties which provide additional identification of a person.
x-apiture-fragment: true
type: object
properties:
birthdate:
description: The contact's birth date in `YYYY-MM-DD` format.
type: string
format: date
citizenship:
description: This individual's citizenship or nationality status.
allOf:
- $ref: '#/components/schemas/citizenship'
residencyStatus:
description: This individual's residency status.
allOf:
- $ref: '#/components/schemas/residencyStatus'
occupation:
description: The occupation of this individual.
allOf:
- $ref: '#/components/schemas/occupation'
otherOccupation:
description: The actual occupation of this individual if their `occupation` is `other`. This is ignored if `occupation` is not `other`.
type: string
minLength: 4
maxLength: 32
yearsAtAddress:
description: The number of years the person has been at their present home address.
allOf:
- $ref: '#/components/schemas/yearsAtAddress'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/identifiedContactFields/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
accrualType:
title: Accrual Type (v1.0.0)
description: |-
Indicates how interest is accrued according to the `compoundPeriod`.
accrualType
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
compounding | Compounding interest |
simple | Simple interest |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `accrualType` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- compounding
- simple
x-apiture-enum: accrualType
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/accrualType/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-flattened: true
interestRateType:
title: Interest Rate Type (v1.0.0)
x-apiture-verion: 1.1.0
x-apiture-deprecated:
since: 0.20.0
removeOn: 0.22.0
replacement: '`apy` and `apr` properties in `productInterestRates`'
description: |-
The rate type. The rate type may not be changed once it is set at product creation. Rate types are:
* *`apr`* - annual percentage rate
* *`apy`* - annual percentage yield
**Warning**: The schema `interestRateType` was deprecated on version `v0.20.0` of the API. Use `apy` and `apr` properties in `productInterestRates` instead. `interestRateType` will be removed on version `v0.22.0` of the API.
type: string
enum:
- apr
- apy
example: apr
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/products/interestRateType/v1.0.0/model.json'
x-apiture-namespace: products
x-apiture-flattened: true
identification:
title: Identification (v1.0.0)
description: Official identifying information associated with the contact.
type: object
required:
- type
- value
properties:
value:
description: >-
The value of this form of identification, such as tax ID as a string. The caller should pass the full `value` (for example
`"112-22-3333"`) when creating a contact or user. The input `value` may include `'-'` formatting characters. This is a _masked_ value in
API responses, with one or more leading `'*'` characters and only the last four characters unmasked, such as `"*****3333"`.
type: string
x-apiture-pii: true
type:
description: The type of this form of identification.
type: string
allOf:
- $ref: '#/components/schemas/identificationType'
enum:
- taxId
- passportNumber
expiration:
description: 'The date when the form of identification expires, in [RFC 3339](https://tools.ietf.org/html/rfc3339) `YYYY-MM-DD` format.'
type: string
format: date
example:
type: taxId
value: 112-22-3333
expiration: '2024-12-01'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/identification/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
preferredContactMethod:
title: Preferred Contact Method (v1.0.0)
description: |-
The contact's preferred method of communication.
**Warning**: The `enum` list will be removed in a future release.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `preferredContactMethod`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- unknown
- sms
- email
- other
- notApplicable
x-apiture-choice: preferredContactMethod
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/preferredContactMethod/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
organizationType:
title: Organization Type (v1.0.0)
description: |-
The primary organization type.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `organizationType`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
x-apiture-choice: organizationType
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationType/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-flattened: true
organizationSubtype:
title: Organization Subtype (v1.0.0)
description: |-
A refinement of the organization type.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `organizationSubtype`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
x-apiture-choice: organizationSubtype
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationSubtype/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-flattened: true
organizationIdentification:
title: Organization Identification
description: The type and value of the organizations unique identification numbers.
type: object
required:
- type
- value
properties:
value:
description: 'The value of this form of identification (the tax ID as a string, for example)'
type: string
type:
description: The type of this form of identification. `taxId` is the only supported type at this time.
allOf:
- $ref: '#/components/schemas/organizationIdentificationType'
expiresOn:
description: The date when this form of identification expires.
type: string
format: date
expiration:
description: The date when this form of identification expires. **Note** This property is deprecated; use `expiresOn`.
type: string
format: date
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationIdentification/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-version: 1.0.0
x-apiture-flattened: true
organizationAddress:
title: Organization Address (v1.0.0)
description: >
Representation of an organization's address resource.
Links
Response and request bodies using this organizationAddress
schema may contain
the following links:
x-apiture-links:
- rel: delete
operationId: deleteAddress
- rel: 'apiture:setAsPreferred'
operationId: setPreferredAddress
example:
_id: ha1
type: home
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
state: approved
_links:
self:
href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/addresses/ha1
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationAddress/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-composition:
- $ref: '#/components/schemas/address'
- properties:
- state
- $ref: '#/components/schemas/abstractResource'
properties:
type:
description: The type of this address.
allOf:
- $ref: '#/components/schemas/addressType'
label:
description: 'A text label, suitable for presentation to the end user. This is derived from `type` or from `otherType` if `type` is `other`'
type: string
readOnly: true
minLength: 4
maxLength: 32
otherType:
description: The actual address type if `type` is `other`.
minLength: 4
maxLength: 32
type: string
addressLine1:
description: 'The first street address line of the address, normally a house number and street name.'
type: string
minLength: 4
maxLength: 128
addressLine2:
description: The optional second street address line of the address.
type: string
maxLength: 128
city:
description: The name of the city or municipality.
type: string
minLength: 2
maxLength: 128
regionCode:
description: 'The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.'
type: string
example: NC
minLength: 2
maxLength: 2
pattern: '^[a-zA-Z]{2}$'
postalCode:
description: 'The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.'
type: string
example: 28401-5405
minLength: 5
maxLength: 10
pattern: '^[0-9]{5}(?:-[0-9]{4})?$'
countryCode:
description: 'The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. This is normalized to uppercase.'
type: string
minLength: 2
maxLength: 2
pattern: '^[a-zA-Z]{2}$'
_id:
description: >-
An identifier for this address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
provide one. The `_id` must be unique across all addresses within the `addresses` array.
type: string
minLength: 1
maxLength: 8
example: ha5
pattern: '^[-a-zA-Z0-9_]{1,8}$'
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
state:
description: >-
The state of this address. `pending` addresses require financial institution approval. Only `approved` addresses may be set as the
preferred address.
allOf:
- $ref: '#/components/schemas/profileItemState'
type: object
x-apiture-flattened: true
organizationPhoneNumber:
title: Phone Number
description: Representation of phone number resources.
x-apiture-links:
- rel: delete
operationId: deletePhoneNumber
- rel: 'apiture:setAsPreferred'
operationId: setPreferredPhoneNumber
example:
_id: hp1
_profile: 'https://api.apiture.com/schemas/organizations/organizationPhoneNumber/v1.0.0/profile.json'
type: home
number: 555-555-5555
state: approved
_links:
self:
href: /organizations/organizations/9b0387db-8705-469a-852c-ead8bfd872ba/phoneNumbers/hp1
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationPhoneNumber/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-version: 1.0.0
x-apiture-composition:
- $ref: '#/components/schemas/phoneNumber'
- properties:
- state
- $ref: '#/components/schemas/abstractResource'
properties:
type:
description: The type or role of this phone number.
allOf:
- $ref: '#/components/schemas/phoneNumberType'
number:
description: >-
The phone number, as a string. The service strips all spaces, hyphens, periods and parentheses from input. The default country code prefix
is `+1`. Phone numbers are returned in responses in [E.164](https://en.wikipedia.org/wiki/E.164) format with a leading `+`, country code
(up to 3 digits) and subscriber number for a total of up to 15 digits. See [Phone Number
Representations](https://developer.apiture.com/docs/concepts/phone-numbers/) for more information.
type: string
example: '+19105550155'
minLength: 8
maxLength: 20
label:
description: 'A text label, suitable for presentation to the end user. This is also used if `type` is `other`.'
type: string
example: assistant
maxLength: 32
_id:
description: >-
An identifier for this phone number, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
provide one. The `_id` must be unique across all phone numbers within the `phones` array.
type: string
minLength: 1
maxLength: 8
example: ha5
pattern: '^[-a-zA-Z0-9_]{1,8}$'
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
state:
description: >-
The state of this phone number. `pending` numbers require financial institution approval. Only `approved` numbers may be set as the
preferred phone number.
allOf:
- $ref: '#/components/schemas/profileItemState'
type: object
x-apiture-flattened: true
organizationEmailAddress:
title: Email Address (v1.0.0)
description: >
Representation of email address resources. An email address is immutable, although organizations can add new email addresses.
Links
Response and request bodies using this organizationEmailAddress
schema may contain
the following links:
x-apiture-links:
- rel: delete
operationId: deleteEmailAddress
- rel: 'apiture:setAsPreferred'
operationId: setPreferredEmailAddress
example:
_id: pe1
_profile: 'https://api.apiture.com/schemas/organizations/organizationEmailAddress/v1.0.0/profile.json'
type: personal
number: '+19105550155'
state: approved
_links:
self:
href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1
delete:
href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/emailAddresses/pe1
'apiture:setAsPreferred':
href: /organizations/organizations/f2d87aa6-33c8-458c-819b-41bb00f1ec08/preferredEmailAddresses?value=pe1
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationEmailAddress/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-composition:
- $ref: '#/components/schemas/typedEmailAddress'
- properties:
- state
- $ref: '#/components/schemas/abstractResource'
properties:
value:
description: 'The email address, such as `JohnBankCustomer@example.com`'
type: string
format: email
minLength: 8
maxLength: 120
example: JohnBankCustomer@example.com
type:
description: The kind of email address.
allOf:
- $ref: '#/components/schemas/emailType'
_id:
description: >-
An identifier for this email address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
provide one. The `_id` must be unique across all email addresses within the `emailAddresses` array.
type: string
minLength: 1
maxLength: 8
example: ha3
pattern: '^[-a-zA-Z0-9_]{1,8}$'
_links:
description: 'An optional map of links, mapping each link relation to a link object. This model defines the `_links` object of HAL representations.'
allOf:
- $ref: '#/components/schemas/links'
_embedded:
description: 'An optional map of nested resources, mapping each nested resource name to a nested resource representation.'
type: object
_profile:
description: 'The URI of a [resource profile](https://developer.apiture.com/docs/concepts/profiles/) which describes the representation.'
type: string
format: uri
_error:
description: An object which describes an error. This value is omitted if the operation succeeded without error.
type: object
allOf:
- $ref: '#/components/schemas/error'
state:
description: >-
The state of this email address. `pending` email addresses require financial institution approval. Only `approved` numbers may be set as
the preferred email address.
allOf:
- $ref: '#/components/schemas/profileItemState'
type: object
x-apiture-flattened: true
addresses:
title: Addresses (v1.0.0)
description: A list of postal addresses and the preferred mailing address.
x-apiture-fragment: true
properties:
addresses:
description: An array of postal/mailing addresses.
type: array
items:
$ref: '#/components/schemas/address'
preferredMailingAddressId:
description: The preferred mailing address. This string is the `_id` of an address in the `addresses` array.
type: string
minLength: 1
maxLength: 4
example:
addresses:
- _id: ha1
type: home
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
- _id: wa1
type: work
addressLine1: 123 S 3rd Street
addressLine2: Apt 42
city: Wilmington
regionCode: NC
postalCode: 28411-5405
countryCode: US
preferredMailingAddressId: ha1
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/addresses/v1.0.0/model.json'
x-apiture-namespace: contacts
type: object
x-apiture-flattened: true
emailAddresses:
title: Email Addresses (v1.0.0)
description: A list of email addresses and the preferred email address.
x-apiture-fragment: true
properties:
emailAddresses:
description: An array of email addresses.
type: array
items:
$ref: '#/components/schemas/typedEmailAddress'
preferredEmailAddressId:
description: The preferred email address. This string is the `_id` of an email address in the `emailAddresses` array.
type: string
minLength: 1
maxLength: 4
example:
emailAddresses:
- id: pe0
value: api@apiture.com
type: personal
- id: wp1
value: support@apiture.com
type: work
preferredEmailAddressId: pe0
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/emailAddresses/v1.0.0/model.json'
x-apiture-namespace: contacts
type: object
x-apiture-flattened: true
phoneNumbers:
title: Phone Numbers (v1.0.1)
description: A list of phone numbers and the preferred phone number.
x-apiture-fragment: true
x-apiture-version: 1.0.1
properties:
phones:
description: An array of phone numbers.
type: array
items:
$ref: '#/components/schemas/phoneNumber'
preferredPhoneId:
description: The ID of preferred phone number. This string is the `_id` of a phone number in the `phones` array.
type: string
minLength: 1
maxLength: 4
example:
phones:
- _id: hp1
type: home
number: '+19105550155'
- _id: mp1
type: mobile
number: '+19105550159'
preferredPhoneId: hp1
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumbers/v1.0.1/model.json'
x-apiture-namespace: contacts
type: object
x-apiture-flattened: true
estimatedAnnualRevenue:
title: Estimated Annual Revenue (v1.0.0)
x-apiuture-fragment: true
description: >-
The estimated annual revenue in USD.
**Warning**: the `enum` list will be removed in a future release and the values defined at runtime via the `estimatedAnnualRevenue` group in
the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- unknown
- under1Million
- from1to10Million
- from10to100Million
- over100Million
- other
- notApplicable
x-apiture-choice: estimatedAnnualRevenue
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/estimatedAnnualRevenue/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-flattened: true
intermediaryServices:
title: Intermediary Services (v1.0.0)
x-apiuture-fragment: true
description: >-
The intermediary/non-bank financial institution services provided.
**Warning**: the `enum` list will be removed in a future release and the values defined at runtime via the `intermediaryServices` group in the
response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- unknown
- accounting
- fundsManagement
- insurance
- investment
- legal
- medical
- notary
- realEstate
- taxPreparation
- trustManagement
- gambling
- securities
- loanFinance
- pawnBrokerage
- travelAgency
- vehicleSales
- foreignCurrency
- preciousMetals
- other
- notApplicable
x-apiture-choice: intermediaryServices
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/intermediaryServices/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-flattened: true
regulatoryValue:
title: Regulatory Value (v1.0.0)
description: The value associated with this regulatory property.
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/regulatoryValue/v1.0.0/model.json'
x-apiture-namespace: organizations
type: object
properties: {}
x-apiture-flattened: true
phoneNumber:
title: Phone Number (v1.0.1)
description: A phone number and its role.
type: object
x-apiture-version: 1.0.1
required:
- type
- number
properties:
type:
description: The type or role of this phone number.
allOf:
- $ref: '#/components/schemas/phoneNumberType'
number:
description: >-
The phone number, as a string. The service strips all spaces, hyphens, periods and parentheses from input. The default country code prefix
is `+1`. Phone numbers are returned in responses in [E.164](https://en.wikipedia.org/wiki/E.164) format with a leading `+`, country code
(up to 3 digits) and subscriber number for a total of up to 15 digits. See [Phone Number
Representations](https://developer.apiture.com/docs/concepts/phone-numbers/) for more information.
type: string
example: '+19105550155'
minLength: 8
maxLength: 20
label:
description: 'A text label, suitable for presentation to the end user. This is also used if `type` is `other`.'
type: string
example: assistant
maxLength: 32
_id:
description: >-
An identifier for this phone number, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
provide one. The `_id` must be unique across all phone numbers within the `phones` array.
type: string
minLength: 1
maxLength: 8
example: ha5
pattern: '^[-a-zA-Z0-9_]{1,8}$'
example:
_id: hp1
type: home
number: '+19105550155'
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumber/v1.0.1/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
profileItemState:
title: Organization Profile Item State (v1.0.0)
description: >-
The state of an item (address, email address, or phone number) within the organization's profile. New addresses, email addresses, or phone
numbers start with the state `pending`, which means approval by the financial institution is pending. After they have been verified, the state
becomes `approved`. Some normalizing or sanitizing of the value may occur when this happens (for example, a ZIP code may change to ZIP+4
format). `pending` items may not be assigned as the preferred item.
profileItemState
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
pending | Pending: A profile item that the financial institution has not yet approved. |
approved | Approved: A profile item that the financial institution has approved. |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `profileItemState` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- pending
- approved
example: approved
x-apiture-enum: profileItemState
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/profileItemState/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-flattened: true
approvalFields:
title: Approval Fields (v1.0.0)
description: 'Common fields of the approval resource, used to define other model schemas.'
properties:
label:
description: 'The approval''s common name. If omitted on create request, this will default to the label of the Approval Type.'
type: string
description:
description: 'The approval''s description. If omitted on create request, this will default to the description of the Approval Type.'
type: string
state:
description: >-
The state of this approval. This property is derived and immutable. Its value can only be changed by using the corresponding `POST`
operations, `submitApproval`, `approveApproval`, `rejectApproval`, `waiveApproval`, `returnApproval`, and `cancelApproval`, if the
corresponding links exist on the approval resource, as determined by the existing state of the approval and the allowed states determined
by the approval type.
allOf:
- $ref: '#/components/schemas/approvalState'
readOnly: true
done:
description: >-
If `done` is true, the approval is in a terminal state and may no longer be acted upon. Done states include `canceled`, `approved`,
`waived` or `rejected`. This property is derived from the `state` field and is immutable.
type: boolean
readOnly: true
typeName:
description: The name of the Approval Type. This field is immutable and derived from the name of the Approval Type.
type: string
reviewedBy:
description: The id of the User that reviewed the approval.
type: string
readOnly: true
reviewedAt:
description: The date-time when the approval was reviewed.
type: string
format: date-time
readOnly: true
example:
state: active
done: true
label: Government Issued ID
typeName: governmentId
description: A document that identifies a user
reviewedBy: /users/users/0399abed-fd3d-4830-a88b-30f38b8a365c
reviewedAt: '2018-04-17T10:12:58.375Z'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/approvalFields/v1.0.0/model.json'
x-apiture-namespace: approvals
type: object
x-apiture-flattened: true
fraudRiskCategoryType:
title: Fraud Risk Category Type (v1.0.0)
description: |+
Represents the possible types of fraud-risk.
fraudRiskCategoryType
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
ipRestricted | IP Restricted: The user's IP address is restricted. |
identityOnGovernmentWatchlist | On Government Watch list: The identity is on a government watch list. |
identityOnAlertList | On Alert List: The identity is on an alert list. |
addressIsPOBoxOrNonApproved | Address is PO Box or non-approved |
addressIsHighRisk | Address is high risk |
ageRestricted | Age Restricted: The person's age is restricted |
nonStandardTaxId | Non-standard Tax ID |
personalInfoDoesNotMatch | Personal information does not match |
emailRestricted | Email Restricted: The person's email address is restricted. |
type: string
enum:
- ipRestricted
- identityOnGovernmentWatchlist
- identityOnAlertList
- addressIsPOBoxOrNonApproved
- addressIsHighRisk
- ageRestricted
- nonStandardTaxId
- personalInfoDoesNotMatch
- emailRestricted
x-apiture-enum: fraudRiskCategoryType
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/fraudRiskCategoryType/v1.0.0/model.json'
x-apiture-namespace: identity
x-apiture-flattened: true
verificationToken:
title: Verification Token (v1.0.0)
description: The token used to validate and track a contact for identity verification purposes.
properties:
token:
type: string
description: An opaque string that conveys the state of the contact's identity verification.
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/identity/verificationToken/v1.0.0/model.json'
x-apiture-namespace: identity
type: object
x-apiture-flattened: true
identificationModel:
title: Identification Model (v1.0.0)
description: A collection of official identifying information associated with an entity.
type: array
items:
type: object
required:
- type
- value
properties:
value:
description: 'The value of this form of identification (the tax ID as a string, for example)'
type: string
type:
description: >-
The type of this form of identification. For a person, `taxId` is their federal tax ID (such as social security number). For a
business, `taxId` is the [_Federal Employer Identification
Number_](https://www.irs.gov/businesses/small-businesses-self-employed/employer-id-numbers) or FEIN (also known as _Tax Identification
Number_ or TIN), and `dunsNumber` is the business' [_Dun & Bradstreet Number_](https://fedgov.dnb.com/webform).
type: string
enum:
- taxId
- dunsNumber
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/identificationModel/v1.0.0/model.json'
x-apiture-namespace: businessVerifications
x-apiture-flattened: true
authorizedSigner:
title: Authorized Signer (v1.0.0)
description: 'Authorized Signers are primary bank users and co-owners of a business, optionally passed when creating verification reports.'
required:
- firstName
- lastName
properties:
firstName:
description: The authorized signer's first name
type: string
maxLength: 512
minLength: 1
lastName:
description: The authorized signer's last name
type: string
maxLength: 512
minLength: 1
identification:
$ref: '#/components/schemas/identificationModel'
birthdate:
description: The authorized signer's birth date in `yyyy-mm-dd` format.
type: string
format: date
pattern: '^([12]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01]))$'
maxLength: 10
minLength: 10
email:
description: The authorized signer's email address
type: string
maxLength: 512
minLength: 1
example:
firstName: Jane
lastName: Doe
identification:
- type: taxId
value: 121-34-5431
birthdat>: '1980-12-01'
email: email@email.com
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/businessVerifications/authorizedSigner/v1.0.0/model.json'
x-apiture-namespace: businessVerifications
type: object
x-apiture-flattened: true
address:
title: Address (v1.0.0)
description: A postal address.
type: object
required:
- type
properties:
type:
description: The type of this address.
allOf:
- $ref: '#/components/schemas/addressType'
label:
description: 'A text label, suitable for presentation to the end user. This is derived from `type` or from `otherType` if `type` is `other`'
type: string
readOnly: true
minLength: 4
maxLength: 32
otherType:
description: The actual address type if `type` is `other`.
minLength: 4
maxLength: 32
type: string
addressLine1:
description: 'The first street address line of the address, normally a house number and street name.'
type: string
minLength: 4
maxLength: 128
addressLine2:
description: The optional second street address line of the address.
type: string
maxLength: 128
city:
description: The name of the city or municipality.
type: string
minLength: 2
maxLength: 128
regionCode:
description: 'The mailing address region code, such as state in the US, or a province in Canada. This is normalized to uppercase.'
type: string
example: NC
minLength: 2
maxLength: 2
pattern: '^[a-zA-Z]{2}$'
postalCode:
description: 'The mailing address postal code, such as a US Zip or Zip+4 code, or a Canadian postal code.'
type: string
example: 28401-5405
minLength: 5
maxLength: 10
pattern: '^[0-9]{5}(?:-[0-9]{4})?$'
countryCode:
description: 'The [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. This is normalized to uppercase.'
type: string
minLength: 2
maxLength: 2
pattern: '^[a-zA-Z]{2}$'
_id:
description: >-
An identifier for this address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
provide one. The `_id` must be unique across all addresses within the `addresses` array.
type: string
minLength: 1
maxLength: 8
example: ha5
pattern: '^[-a-zA-Z0-9_]{1,8}$'
example:
_id: ha5
type: home
addressLine1: 555 N Front Street
addressLine2: Suite 5555
city: Wilmington
regionCode: NC
postalCode: 28401-5405
countryCode: US
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/address/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
citizenship:
title: Citizenship (v1.0.0)
description: Citizenship or nationality status.
type: array
items:
type: object
required:
- countryCode
- state
properties:
countryCode:
description: The ISO 3166-1 country code for the individual's citizenship.
x-apiture-pii: true
type: string
minLength: 2
maxLength: 2
state:
description: The individual's citizenship status.
x-apiture-pii: true
type: string
enum:
- citizen
- other
example:
- countryCode: US
state: citizen
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/citizenship/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
residencyStatus:
title: Residency (v1.0.0)
description: |-
Residency status.
**Warning**: The `enum` list will be removed in a future release.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `residencyStatus`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
x-apiture-choice: residencyStatus
enum:
- unknown
- resident
- nonresident
- residentAlien
- nonresidentAlien
- other
- notApplicable
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/residencyStatus/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
occupation:
title: Occupation (v1.0.0)
description: |-
The person's occupation.
**Warning**: The `enum` list will be removed in a future release.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `occupation`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
x-apiture-choice: occupation
enum:
- unknown
- architectureAndEngineering
- artsDesignEntertainmentSportsAndMedia
- buildingAndGroundsCleaningAndMaintenance
- businessAndFinancialOperations
- communityAndSocialService
- computerAndMathematical
- constructionAndExtraction
- educationTrainingAndLibrary
- farmingFishingAndForestry
- foodPreparationAndServingRelated
- healthcarePractitionersAndTechnical
- healthcareSupport
- installationMaintenanceAndRepair
- legal
- lifePhysicalAndSciences
- management
- militarySpecific
- officeAndAdministrativeSupport
- personalCareAndService
- production
- protectiveServices
- salesAndRelated
- transportationAndMaterialMoving
- other
- notApplicable
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/occupation/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
yearsAtAddress:
title: Years at Address (v1.0.0)
description: Categories for how long the person has been at their present home address.
type: string
enum:
- unknown
- oneOrFewer
- two
- three
- fourOrMore
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/yearsAtAddress/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
kycAnswers:
title: Know Your Customer Answers (v1.0.0)
description: Answers to 'Know Your Customer' questions which allow financial institutions to conform to a customer identification program.
properties:
citizen:
description: '`true` if the person is a citizen of the country in which the financial institution is doing business.'
type: boolean
permanentResident:
description: '`true` if the person is a permanent resident of the country in which the financial institution is doing business.'
type: boolean
w9Withholdings:
description: '`true` if the person is a subject to backup W-9 Tax Withholdings.'
type: boolean
employmentStatus:
description: The employment status of the person.
allOf:
- $ref: '#/components/schemas/employmentStatus'
foreignPoliticalFigure:
title: Foreign Senior Political Figure
description: '`true` if the person is a foreign senior political figure.'
type: boolean
default: false
countryPoliticalFigure:
description: >-
If the person is a foreign senior political figure, this is the foreign country. This field is omitted if `foreignPoliticalFigure` is
`false`.
type: string
familyOfPoliticalFigure:
title: Family of Political Figure
description: '`true` if the person is an immediate family member or a close associate of political figure.'
type: boolean
foreignPoliticalFigureCountry:
title: Foreign Senior Political Country
description: >-
If the person is a foreign senior political figure, this is the foreign country ISO 3166-1 country code. This field is omitted if
`foreignPoliticalFigure` is `false`.
type: string
maxLength: 2
foreignPoliticalFigureAssociation:
title: Association with Foreign Senior Political Figure
description: The type of association to a foreign political figure.
allOf:
- $ref: '#/components/schemas/foreignPoliticalFigureAssociation'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/kycAnswers/v1.0.0/model.json'
x-apiture-namespace: users
type: object
x-apiture-flattened: true
approvalTypeFields:
title: Approval Type Fields (v1.0.0)
description: Common fields of the approval resource used to build other model schemas.
properties:
name:
description: The approval's name.
type: string
label:
description: The approval's common name.
type: string
description:
description: The approval's description.
type: string
domain:
description: >-
A namespace for grouping related resources, to keep them separate from other resources. For example, a department or bank branch may
define a domain, and all Approval Type instances they define will use that domain, so that they can avoid conflicting with Approval Type
names in other domains. An API or service may define a domain for new Approval Types that it defines. The combination of `domain` and
`name` must be unique within the set of all approval types. It is a best practice to define `domain` with a URI or a URN.
type: string
disallowedStates:
description: >-
An optional array of states that are not allowed for this approval type. If omitted, all state transitions are allowed. The states `open`
and `approved` are always allowed, so this enumeration set is a subset of the `approvalState` enumeration on an approval.
type: array
items:
$ref: '#/components/schemas/disallowedState'
example:
name: governmentId
label: Government Issued ID
description: A document that identifies a user. `governmentId` approvals may not be waived or canceled.
disallowedStates:
- waived
- canceled
domain: 'https://production.api.apiture.com/domains/approvals/documentRequirement'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/approvalTypeFields/v1.0.0/model.json'
x-apiture-namespace: approvals
type: object
x-apiture-flattened: true
typedEmailAddress:
title: Email Address (v1.0.0)
description: An email address and the email address type.
properties:
value:
description: 'The email address, such as `JohnBankCustomer@example.com`'
type: string
format: email
minLength: 8
maxLength: 120
example: JohnBankCustomer@example.com
type:
description: The kind of email address.
allOf:
- $ref: '#/components/schemas/emailType'
_id:
description: >-
An identifier for this email address, so that it can be referenced uniquely. The service will assign a unique `_id` if the client does not
provide one. The `_id` must be unique across all email addresses within the `emailAddresses` array.
type: string
minLength: 1
maxLength: 8
example: ha3
pattern: '^[-a-zA-Z0-9_]{1,8}$'
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/typedEmailAddress/v1.0.0/model.json'
x-apiture-namespace: contacts
type: object
x-apiture-flattened: true
identificationType:
title: Identification Type (v1.0.0)
description: |-
The type of this form of identification.
identificationType
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
taxId | Tax ID: The government tax ID, such as a Social Security Number |
passportNumber | Passport Number |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `identificationType` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
x-apiture-enum: identificationType
enum:
- taxId
- passportNumber
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/identificationType/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
organizationIdentificationType:
title: Organization Identification Type (v1.0.0)
description: |-
The type of the form of an organization's identification. `taxId` is the only supported type at this time.
organizationIdentificationType
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
taxId | 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. |
dunsNumber | Dun & Bradstreet D-U-N-S Number: Dun & Bradstreet D-U-N-S Number, a unique nine-digit identifier for businesses. |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `organizationIdentificationType` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- taxId
- dunsNumber
x-apiture-enum: organizationIdentificationType
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/organizations/organizationIdentificationType/v1.0.0/model.json'
x-apiture-namespace: organizations
x-apiture-flattened: true
phoneNumberType:
title: Phone Number Type (v1.0.0)
description: |-
The type or role of this phone number.
**Warning**: The `enum` list will be removed in a future release.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `phoneNumberType`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
x-apiture-choice: phoneNumberType
enum:
- unknown
- home
- work
- mobile
- fax
- other
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/phoneNumberType/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
addressType:
title: Address Type (v1.0.0)
description: |-
The type of a postal address.
**Warning**: The `enum` list will be removed in a future release.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `addressType`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
x-apiture-choice: addressType
enum:
- unknown
- home
- prior
- work
- school
- mailing
- vacation
- shipping
- billing
- headquarters
- commercial
- site
- property
- other
- notApplicable
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/addressType/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
approvalState:
title: Approval State (v1.0.0)
description: |+
The state of this approval.
approvalState
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
open | Open: An approval that has been created but not submitted for review. |
submitted | Submitted: An approval that has been submitted for review but not yet reviewed. |
approved | Approved: An approval which has been approved by the financial institution. |
rejected | Rejected: An approval which has been rejected by the financial institution. |
waived | Waived: An approval which has been waived by the financial institution. |
returned | Returned: An approval which has been returned by the financial institution. The user should update the data that is the target of the review. |
canceled | Canceled: An approval which has been canceled by the user or the financial institution. |
type: string
x-apiture-enum: approvalState
enum:
- open
- submitted
- approved
- rejected
- waived
- returned
- canceled
default: open
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/approvalState/v1.0.0/model.json'
x-apiture-namespace: approvals
x-apiture-flattened: true
emailType:
title: Email Type (v1.0.0)
description: |-
The kind of email address.
**Warning**: The `enum` list will be removed in a future release.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `emailType`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
x-apiture-choice: emailType
enum:
- unknown
- personal
- work
- school
- other
- notApplicable
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/contacts/emailType/v1.0.0/model.json'
x-apiture-namespace: contacts
x-apiture-flattened: true
employmentStatus:
title: Employment Status (v1.0.0)
x-apiture-version: 1.0.0
description: |-
The employment status of the user.
The allowed values for this property are defined at runtime in the
[label group](https://developer.apiture.com/concepts/label-groups) named `employmentStatus`
in the response from the [`getLabels`](#op-getLabels) operation.
type: string
x-apiture-choice: employmentStatus
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/employmentStatus/v1.0.0/model.json'
x-apiture-namespace: users
x-apiture-flattened: true
foreignPoliticalFigureAssociation:
title: foreign Political Figure Association (v1.0.0)
description: >-
The type of association to a foreign political figure. This enumeration is described by the foreignPoliticalFigureAssociation value from the
`getLabels` operation.
foreignPoliticalFigureAssociation
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
unknown | Unknown: The association status of this individual is unknown. |
closeAssociate | Close Associate: This individual is a close associate of a foreign political figure. |
familyMember | Family Member: This individual is a family member of a foreign political figure. |
none | None: This individual has no association to a foreign political figure. |
other | Other |
notApplicable | Not Applicable |
These enumeration values are further described by the [label group](https://developer.apiture.com/concepts/label-groups)
named `foreignPoliticalFigureAssociation` in the response from the [`getLabels`](#op-getLabels) operation.
type: string
enum:
- unknown
- closeAssociate
- familyMember
- none
- other
- notApplicable
x-apiture-enum: foreignPoliticalFigureAssociation
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/users/foreignPoliticalFigureAssociation/v1.0.0/model.json'
x-apiture-namespace: users
x-apiture-flattened: true
disallowedState:
title: Disallowed State (v1.0.0)
description: |+
A disallowed state for an approval. Approvals of this type may not be set to any of the states defined by this.
disallowedState
strings may have one of the following
[enumerated values](https://developer.apiture.com/concepts/label-groups#enumerations):
Value | Description |
returned | Returned: The `returned` state is not allowed for approvals of this type. |
rejected | Waived: The `rejected` state is not allowed for approvals of this type. |
waived | Waived: The `waived` state is not allowed for approvals of this type. |
canceled | Canceled: The `canceled` state is not allowed for approvals of this type. |
type: string
x-apiture-enum: disallowedState
enum:
- rejected
- waived
- returned
- canceled
x-apiture-version: 1.0.0
x-apiture-resolved-from: 'https://production.api.apiture.com/schemas/approvals/disallowedState/v1.0.0/model.json'
x-apiture-namespace: approvals
x-apiture-flattened: true
responses:
'304':
description: Not Modified. The resource has not been modified since it was last fetched.
'400':
description: >-
Bad Request. The request body or one or more of the query parameters was not well formed. The `_error` field in the response will contain
details about the request error.
x-apiture-errors:
- emptyRequestBody
- malformedApplicationUri
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
'412':
description: >-
Precondition Failed. The supplied `if-Match` header value does not match the most recent `ETag` response header value. The resource has
changed in the interim.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
'422':
description: >-
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The `_error` field in the response will
contain details about the request error.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
400ExpireApplication:
description: Bad Request. The application parameter was malformed or does not refer to an existing or accessible application.
x-apiture-errors:
- applicationRefNotFound
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
409ExpireApplicationConflict:
description: >-
Conflict. The request to change the state of the application is not allowed. The `_error` field in the response will contain details about the
request error.
x-apiture-errors:
- invalidApplicationState
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
400RejectApplication:
description: Bad Request. The application parameter was malformed or does not refer to an existing or accessible application.
x-apiture-errors:
- applicationRefNotFound
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
409RejectApplicationConflict:
description: >-
Conflict. The request to change the state of the application is not allowed. The `_error` field in the response will contain details about the
request error.
x-apiture-errors:
- invalidApplicationState
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
400ApproveApplication:
description: Bad Request. The application parameter was malformed or does not refer to an existing or accessible application.
x-apiture-errors:
- applicationRefNotFound
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
409ApproveApplicationConflict:
description: >-
Conflict. The request to change the state of the application is not allowed. The `_error` field in the response will contain details about the
request error.
x-apiture-errors:
- invalidApplicationState
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
400CancelEnrollment:
description: Bad Request. The enrollment parameter was malformed or does not refer to an existing or accessible enrollment.
x-apiture-errors:
- enrollmentRefNotFound
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
409CancelEnrollmentConflict:
description: >-
Conflict. The request to cancel the enrollment is not allowed. The `_error` field in the response will contain details about the request
error.
400RejectEnrollment:
description: Bad Request. The enrollment parameter was malformed or does not refer to an existing or accessible enrollment.
x-apiture-errors:
- enrollmentRefNotFound
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
409RejectEnrollmentConflict:
description: >-
Conflict. The request to reject the enrollment is not allowed. The `_error` field in the response will contain details about the request
error.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
400ApproveEnrollment:
description: Bad Request. The enrollment parameter was malformed or does not refer to an existing or accessible enrollment.
x-apiture-errors:
- enrollmentRefNotFound
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
409ApproveEnrollmentConflict:
description: >-
Conflict. The request to approve the enrollment is not allowed. The `_error` field in the response will contain details about the request
error.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
400CancelApplication:
description: Bad Request. The application parameter was malformed or does not refer to an existing or accessible application.
x-apiture-errors:
- applicationRefNotFound
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
409CancelApplicationConflict:
description: >-
Conflict. The request to change the state of the application is not allowed. The `_error` field in the response will contain details about the
request error.
x-apiture-errors:
- invalidApplicationState
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
400StartApplication:
description: Bad Request. The application parameter was malformed or does not refer to an existing or accessible application.
x-apiture-errors:
- applicationRefNotFound
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
409StartApplicationConflict:
description: >-
Conflict. The request to change the state of the application is not allowed. The `_error` field in the response will contain details about the
request error.
x-apiture-errors:
- invalidApplicationState
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
404Application:
description: >-
Not Found. There is no such application resource at the specified `{applicationId}`. The `_error` field in the response will contain details
about the request error.
x-apiture-errors:
- applicationNotFound
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
404Enrollment:
description: >-
Not Found. There is no such enrollment resource at the specified `{enrollmentId}`. The `_error` field in the response will contain details
about the request error.
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
204Deleted:
description: No Content. The resource was deleted successfully.
404ConfigurationGroup:
description: >-
Not Found. There is no such configuration group resource at the specified `{groupName}` The `_error` field in the response will contain
details about the request error.
x-apiture-errors:
- invalidGroupName
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
404ConfigurationGroupOrValue:
description: >-
Not Found. There is either no such configuration group resource at the specified `{groupName}` or no such value at the specified
`{valueName}`. The `_error` field in the response will contain details about the request error.
x-apiture-errors:
- invalidValueName
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
400unverifiedApplications:
description: Bad Request. Unable to create new Application for user with an existing Application in process or under review.
x-apiture-errors:
- unverifiedApplications
content:
application/hal+json:
schema:
$ref: '#/components/schemas/errorResponse'
application/json:
schema:
$ref: '#/components/schemas/errorResponse'
parameters:
applicationQueryParam:
name: application
required: true
in: query
description: >-
A string which uniquely identifies an application which is to added to the running applications resource set. This may be the unique
applicationId or the URI of the application.
schema:
type: string
applicationIdPathParam:
name: applicationId
description: The unique identifier of this application. This is an opaque string.
in: path
required: true
schema:
type: string
enrollmentIdPathParam:
name: enrollmentId
description: The unique identifier of this enrollment. This is an opaque string.
in: path
required: true
schema:
type: string
enrollmentQueryParam:
name: enrollment
required: true
in: query
description: >-
A string which uniquely identifies an enrollment which is to added to the running enrollments resource set. This may be the unique
enrollmentId or the URI of the enrollment.
schema:
type: string
filterQueryParam:
name: filter
in: query
description: 'Optional filter criteria. See [filtering](https://developer.apiture.com/docs/concepts/filtering).'
schema:
type: string
qQueryParam:
name: q
in: query
description: 'Optional search string. See [searching](https://developer.apiture.com/docs/concepts/searching).'
schema:
type: string
stateQueryParam:
name: state
in: query
description: >-
Subset the applications collection to those whose `state` matches this value. Use `|` to separate multiple values. For example,
`?state=pending` matches only items whose `state` is `pending`; `?state=running|canceled` matches items whose `state` is `running` or
`canceled`. This is combined with an implicit `and` with other filters if they are used. See
[filtering](https://developer.apiture.com/docs/concepts/filtering).
schema:
type: string
enum:
- pending
- running
- blocked
- canceled
- expired
- rejected
- approved
nameQueryParam:
name: name
in: query
description: >-
Subset the applications collection to those with this name value. Use `|` to separate multiple values. For example, `?name=Bartell` will match
only items whose name is Bartell; `?name=Bartell|kirsten` will match items whose name is Bartell or kirsten. This is combined with an implicit
and with other filters if they are used. See [filtering](https://developer.apiture.com/docs/concepts/filtering).
schema:
type: string
ifMatchHeaderParam:
name: If-Match
description: The entity tag that was returned in the `ETag` response. This must match the current entity tag of the resource.
in: header
required: true
schema:
type: string
ifNoneMatchHeaderParam:
name: If-None-Match
description: >-
The entity tag that was returned in the `ETag` response. If the resource's current entity tag matches, the `GET` will return 304 (Not
Modified) and no response body, else the resource representation will be returned.
in: header
schema:
type: string
configurationGroupNamePathParam:
name: groupName
description: The unique name of this configuration group.
in: path
required: true
schema:
type: string
configurationGroupValueNamePathParam:
name: valueName
description: >-
The unique name of a value in a configuration group. This is the name of the value in the `schema`. A `{valueName}` must be a simple
identifier following the pattern _`letter [letter | digit | '-' | '_']*`_
in: path
required: true
schema:
type: string
requestBodies:
application:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/application'
application/json:
schema:
$ref: '#/components/schemas/application'
required: true
enrollment:
content:
application/hal+json:
schema:
$ref: '#/components/schemas/enrollment'
application/json:
schema:
$ref: '#/components/schemas/enrollment'
required: true
securitySchemes:
apiKey:
type: apiKey
name: API-Key
in: header
description: >-
API Key based authentication. Each client application must pass its private, unique API key, allocated in the developer portal, via the
`API-Key: {api-key}` request header.
accessToken:
type: oauth2
description: >-
OAuth2 client access token authentication. The client authenticates against the server at `authorizationUrl`, passing the client's private
`clientId` (and optional `clientSecret`) as part of this flow. The client obtains an access token from the server at `tokenUrl`. It then
passes the received access token via the `Authorization: Bearer {access-token}` header in subsequent API calls. The authorization process also
returns a refresh token which the client should use to renew the access token before it expires.
flows:
authorizationCode:
authorizationUrl: /auth/oauth2/authorize
tokenUrl: /auth/oauth2/token
scopes:
banking/read: Read access to accounts and account-related resources such as transfers and transactions.
banking/write: Write (update) access to accounts and account-related resources such as transfers and transactions.
banking/delete: Delete access to editable accounts and account-related resources such as transfers.
banking/readBalance: >-
Read access to account balances. This must be granted in addition to the `banking/read` scope in order to view balances, but is included
in the `banking/full` scope.
banking/full: Full access to accounts and account-related resources such as transfers and transactions.
profiles/read: Read access to user and contact related resources.
profiles/write: Write (update) access to user and contact related resources.
profiles/delete: Delete access to user and contact related resources.
profiles/readPii: >-
Read access to personally identifiable information such as tax ID numbers, phone numbers, email and postal addresses. This must be
granted in addition to the `profiles/read` scope in order to read such data, but is included in the `profiles/full` scope.
profiles/full: Full access to user and contact related resources.
data/read: 'Read access to non-account, non-profile data.'
data/write: 'Write (update) access to non-account, non-profile data.'
data/delete: 'Delete access to non-account, non-profile data.'
data/full: 'Full access to non-account, non-profile data.'
admin/read: Read access to system configuration.
admin/write: Write (update) access to system configuration.
admin/delete: Delete access to system configuration.
admin/full: Full access to system configuration.