openapi: 3.0.0
info:
title: Verifications API
version: 1.0.0
description: |
Order payroll, banking, and document-based income verifications.
security:
- basicAuth: []
paths:
/v2/sessions:
post:
summary: Create a session
description: >-
Create a connection session and return a `link` URL that launches the
frontend experience.
Session links expire after one hour. A new session link can be created
at any time by creating another session for the active verification.
This endpoint is for payroll and banking verifications
only.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClientSessionCreateRequest'
examples:
payroll:
summary: Example Request (Payroll)
value:
verification: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
configuration:
redirect_url: https://your-application.com/return
flow_id: 12ABCD3E
items:
- item_000000001
- item_000000002
language: EN
mobile_app: true
banking:
summary: Example Request (Banking)
value:
verification: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
configuration:
experience: 97f1eccb-241d-4052-8409-fab9e27a589b
single_use_url: false
redirect_url: https://your-application.com/return
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ClientSession'
examples:
payroll:
summary: Example Response (Payroll)
value:
verification: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
configuration:
experience: null
single_use_url: false
redirect_url: https://your-application.com/return
flow_id: 12ABCD3E
items:
- item_000000001
- item_000000002
language: EN
mobile_app: true
link: https://connect.argyle.com/?...
data_source: payroll
banking:
summary: Example Response (Banking)
value:
verification: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
configuration:
experience: 97f1eccb-241d-4052-8409-fab9e27a589b
single_use_url: false
redirect_url: https://your-application.com/return
link: https://connect2.finicity.com?...
data_source: banking
/v2/verifications:
post:
summary: Order a verification
description: >-
Orders a new verification.
[Create a user](/api-reference/verifications-guide#create-a-user) or
update an existing user with the required details before ordering
payroll, banking, or document verifications.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClientVerificationCreateRequest'
examples:
payroll:
summary: Example Request (Payroll)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
report:
type: voie
loan: &ref_0
number: '1234'
borrower_id: ABC789
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing: &ref_1
cost_center: '5'
banking:
summary: Example Request (Banking)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
report:
type: voai
configuration:
from_date: '2024-01-01T00:00:00Z'
income_stream_confidence_minimum: 50
report_custom_fields:
- label: loanID
value: '12345'
shown: true
loan: *ref_0
billing: *ref_1
documents:
summary: Example Request (Documents)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
employments:
- employer: Warehouse Services Inc
status: active
hire_date: '2023-02-01'
termination_date: null
report:
type: doc-voi-mortgage
loan: *ref_0
billing: *ref_1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ClientVerification'
examples:
payroll:
summary: Example Response (Payroll)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: PENDING
code: pending
errors: []
report:
id: null
type: voie
file_url: null
json_url: null
employments: []
loan: *ref_0
billing: *ref_1
data_source: payroll
banking:
summary: Example Response (Banking)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: PENDING
code: pending
errors: []
report:
id: null
type: voai
file_url: null
json_url: null
configuration:
from_date: '2024-01-01T00:00:00Z'
income_stream_confidence_minimum: 50
report_custom_fields:
- label: loanID
value: '12345'
shown: true
employments: []
loan: *ref_0
billing: *ref_1
data_source: banking
documents:
summary: Example Response (Documents)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: PENDING
code: pending
errors: []
report:
id: null
type: doc-voi-mortgage
file_url: null
json_url: null
employments:
- employer: Warehouse Services Inc
status: active
hire_date: '2023-02-01'
termination_date: null
loan: *ref_0
billing: *ref_1
data_source: documents
get:
summary: List all verifications
description: Returns a paginated list of all verification objects.
parameters:
- name: user
in: query
required: false
schema:
type: string
format: uuid
description: Filter by user ID.
- name: status_state
in: query
required: false
schema:
type: string
enum:
- PENDING
- PROCESSING
- PAUSED
- CANCELLED
- COMPLETED
description: Filter by verification status `state`.
- name: status_code
in: query
required: false
schema:
type: string
enum:
- pending
- documents_processing
- more_data_required
- report_available
- waiting_on_third_party
- report_generating
- argyle_timeout
- cancelled_by_client
- completed
- completed_with_errors
- user_session_started
- authenticated
description: Filter by verification status `code`.
- name: report_type
in: query
required: false
schema:
type: string
enum:
- voie
- voe
- voa
- voi
- voai
- voe-transactions
- doc-voi-mortgage
description: Filter by report `type`.
- name: loan_number
in: query
required: false
schema:
type: string
description: Filter by loan `number`.
- name: limit
in: query
required: false
schema:
type: integer
description: >
Number of verification objects returned [per
page](/api-guide/overview#pagination). Default: 10. Maximum: 200.
- name: cursor
in: query
required: false
schema:
type: string
description: >-
The URL returned in `next` or `previous` used to retrieve another
[page](/api-guide/overview#pagination) of results.
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
next:
type: string
nullable: true
description: URL for the next page of results, if available.
previous:
type: string
nullable: true
description: URL for the previous page of results, if available.
results:
type: array
description: Array of verification objects.
items:
$ref: '#/components/schemas/ClientVerification'
example:
next: >-
https://api-sandbox.argyle.com/v2/verifications?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: PENDING
code: pending
errors: []
report:
id: 2a14ce6f-3aed-4c15-8ea2-92a17b6edb95
type: voie
file_url: null
json_url: null
employments: []
loan:
number: '1234'
borrower_id: ABC789
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing:
cost_center: '5'
data_source: payroll
- id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc3333
user: 018051aa-f7a9-a0db-2f38-6cfa325e9345
created_at: '2023-03-10T05:14:06.081Z'
updated_at: '2023-03-10T13:03:06.081Z'
channel: api
status:
state: PROCESSING
code: authenticated
errors: []
report:
id: null
type: voai
file_url: null
json_url: null
configuration:
from_date: '2024-01-01T00:00:00Z'
income_stream_confidence_minimum: 50
report_custom_fields:
- label: loanID
value: '12345'
shown: true
employments: []
loan:
number: '1234'
borrower_id: ABC789
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing:
cost_center: '5'
data_source: banking
/v2/verifications/refresh:
post:
summary: Refresh a verification
description: >-
Creates a new payroll, banking, or Doc VOI verification without
requiring the user to reconnect or upload additional documents.
For payroll and banking, a valid connection must already exist. For Doc
VOI, the new report is generated from the user's existing uploaded
documents.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClientVerificationRefreshRequest'
examples:
payroll:
summary: Example Request (Payroll)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
report:
type: voie
loan: *ref_0
billing: *ref_1
banking:
summary: Example Request (Banking)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
report:
type: voa
configuration:
from_date: '2025-01-01T00:00:00Z'
loan: *ref_0
billing: *ref_1
documents:
summary: Example Request (Documents)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
report:
type: doc-voi-mortgage
loan: *ref_0
billing: *ref_1
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ClientVerification'
examples:
payroll:
summary: Example Response (Payroll)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: PENDING
code: pending
errors: []
report:
id: null
type: voie
file_url: null
json_url: null
employments: []
loan: *ref_0
billing: *ref_1
data_source: payroll
banking:
summary: Example Response (Banking)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: PENDING
code: pending
errors: []
report:
id: null
type: voa
file_url: null
json_url: null
configuration:
from_date: '2025-01-01T00:00:00Z'
employments: []
loan: *ref_0
billing: *ref_1
data_source: banking
documents:
summary: Example Response (Documents)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: PENDING
code: pending
errors: []
report:
id: null
type: doc-voi-mortgage
file_url: null
json_url: null
employments: []
loan: *ref_0
billing: *ref_1
data_source: documents
/v2/verifications/{id}:
get:
summary: Retrieve a verification
description: Retrieves a verification.
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: ID of the verification to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ClientVerification'
example:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: PROCESSING
code: authenticated
errors: []
report:
id: null
type: voai
file_url: null
json_url: null
configuration:
from_date: '2024-01-01T00:00:00Z'
income_stream_confidence_minimum: 50
report_custom_fields:
- label: loanID
value: '12345'
shown: true
employments: []
loan:
number: '1234'
borrower_id: ABC789
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing:
cost_center: '5'
data_source: banking
patch:
summary: Update a verification
description: >
Updates verification metadata or employments.
After a verification is updated, it will re-enter the `PROCESSING`
state.
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: ID of the verification to be updated.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ClientVerificationUpdateRequest'
examples:
payroll:
summary: Example Request (Payroll)
value:
loan:
number: '5678'
borrower_id: '5678'
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing:
cost_center: new_cost_center
banking:
summary: Example Request (Banking)
value:
loan:
number: '5678'
borrower_id: '5678'
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing:
cost_center: new_cost_center
documents:
summary: Example Request (Documents)
value:
employments:
- employer: Warehouse Services Inc
status: previous
hire_date: '2015-08-28'
termination_date: '2023-05-01'
- employer: Amazon
status: active
hire_date: '2023-06-15'
termination_date: null
loan:
borrower_id: '5678'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ClientVerification'
examples:
payroll:
summary: Example Response (Payroll)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: PROCESSING
code: authenticated
errors: []
report:
id: null
type: voie
file_url: null
json_url: null
employments: []
loan:
number: '5678'
borrower_id: '5678'
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing:
cost_center: new_cost_center
data_source: payroll
banking:
summary: Example Response (Banking)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: PROCESSING
code: authenticated
errors: []
report:
id: null
type: voai
file_url: null
json_url: null
configuration:
from_date: '2024-01-01T00:00:00Z'
income_stream_confidence_minimum: 50
report_custom_fields:
- label: loanID
value: '12345'
shown: true
employments: []
loan:
number: '5678'
borrower_id: '5678'
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing:
cost_center: new_cost_center
data_source: banking
documents:
summary: Example Response (Documents)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: PROCESSING
code: documents_processing
errors: []
report:
id: null
type: doc-voi-mortgage
file_url: null
json_url: null
employments:
- employer: Warehouse Services Inc
status: previous
hire_date: '2015-08-28'
termination_date: '2023-05-01'
- employer: Amazon
status: active
hire_date: '2023-06-15'
termination_date: null
loan:
number: '1234'
borrower_id: '5678'
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing:
cost_center: '5'
data_source: documents
/v2/verifications/{id}/cancel:
post:
summary: Cancel a verification
description: |
Cancels a verification order.
Only verifications in the `PAUSED` state can be cancelled.
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: ID of the verification to be cancelled.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ClientVerification'
example:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: CANCELLED
code: cancelled_by_client
errors: []
report:
id: null
type: doc-voi-mortgage
file_url: null
json_url: null
employments:
- employer: Warehouse Services Inc
status: active
hire_date: '2023-02-01'
termination_date: null
loan:
number: '1234'
borrower_id: ABC789
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing:
cost_center: '5'
data_source: documents
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
description: Username = api_key_id, Password = api_key_secret
schemas:
ClientCreateUserResponse:
type: object
description: Response returned after creating a client user.
properties:
user_token:
type: string
description: Token associated with the created user.
id:
type: string
format: uuid
description: Unique ID of the user.
ClientAddress:
type: object
description: Address of the user.
properties:
city:
type: string
description: Name of the city, town, district, or similar regional entity.
line1:
type: string
description: Address-Line 1, usually street address or P.O. Box information.
line2:
type: string
nullable: true
description: Address-Line 2, usually the apartment or unit number.
state:
type: string
description: State, county, province, region, or equivalent.
country:
type: string
description: Two-letter country code (ISO 3166-1 alpha-2 format).
postal_code:
type: string
nullable: true
description: Zip code, or equivalent.
ClientBirthDate:
type: object
description: Date of birth in year-month-day format.
properties:
year:
type: integer
description: Birth year (1900 or later).
month:
type: integer
description: Birth month (between 1 and 12).
day:
type: integer
description: Birth day (between 1 and 31).
ClientOpenBankingEndUser:
type: object
description: Contains details about the person or entity making the lending decision.
properties:
name:
type: string
description: Name of the lender or entity.
address:
type: string
description: >-
Street address or P.O. Box information (include apartment or unit
numbers).
city:
type: string
description: Name of the city, town, district, or similar regional entity.
state:
type: string
description: State, county, province, region, or equivalent.
zip:
type: string
description: Zip code, or equivalent.
phone:
type: string
description: Phone number of the lender or entity.
ClientOpenBanking:
type: object
description: Banking-specific user metadata.
properties:
end_user:
$ref: '#/components/schemas/ClientOpenBankingEndUser'
ClientUserCreateRequest:
type: object
description: >
Request body for creating a client user.
This matches the public `/v2/users` request shape.
`external_metadata.suppress_verification = true` is recommended when
manually orchestrating banking and document verification flows.
properties:
first_name:
type: string
description: User first name.
last_name:
type: string
description: User last name.
email:
type: string
description: User email address.
phone_number:
type: string
description: User phone number. E.164 international format recommended.
ssn:
type: string
description: User Social Security number.
address:
$ref: '#/components/schemas/ClientAddress'
birth_date:
$ref: '#/components/schemas/ClientBirthDate'
external_metadata:
type: object
description: Additional metadata for internal workflows.
additionalProperties: true
open_banking:
$ref: '#/components/schemas/ClientOpenBanking'
external_id:
type: string
nullable: true
description: External identifier for your internal mapping.
ClientUserUpdateRequest:
type: object
description: Request body for updating a client user.
properties:
first_name:
type: string
description: User first name.
last_name:
type: string
description: User last name.
email:
type: string
description: User email address.
phone_number:
type: string
description: User phone number.
ssn:
type: string
description: User Social Security number.
address:
$ref: '#/components/schemas/ClientAddress'
birth_date:
$ref: '#/components/schemas/ClientBirthDate'
external_metadata:
type: object
description: Additional metadata for internal workflows.
additionalProperties: true
open_banking:
$ref: '#/components/schemas/ClientOpenBanking'
external_id:
type: string
nullable: true
description: External identifier for your internal mapping.
ClientUser:
type: object
description: Client user object.
properties:
id:
type: string
format: uuid
description: Unique ID of the user.
created_at:
type: string
format: date-time
description: >-
Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when
the user was created.
items_connected:
type: array
items:
type: string
description: Items the user has connected through Link.
employers_connected:
type: array
items:
type: string
description: Employers associated with the connected items.
first_name:
type: string
description: User first name.
last_name:
type: string
description: User last name.
email:
type: string
description: User email address.
phone_number:
type: string
description: User phone number.
ssn:
type: string
description: User Social Security number.
address:
$ref: '#/components/schemas/ClientAddress'
birth_date:
$ref: '#/components/schemas/ClientBirthDate'
external_metadata:
type: object
description: Additional metadata for internal workflows.
additionalProperties: true
external_id:
type: string
nullable: true
description: External identifier for your internal mapping.
ClientSessionCreateConfiguration:
type: object
description: Connection session configuration for payroll and banking verifications.
properties:
experience:
type: string
format: uuid
description: Banking only. Optional bank connection experience customization ID.
single_use_url:
type: boolean
description: >-
Banking only. If `true`, the session link expires after one
successful connection.
redirect_url:
type: string
nullable: true
description: >-
Payroll and banking. Optional redirect URL after session completion.
Hosted/direct-launch flows should always set this. On desktop
browsers, use a regular `https://` URL. For mobile app flows, use a
custom scheme such as `your-custom-scheme://return-to-app`, or a
Universal Link on iOS / App Link on Android. Universal Links and App
Links are the more modern approach. You can include an
application-owned state or nonce value to match the returning
browser session to an internal user, session, or verification.
Argyle appends `user_submission_complete` and
`user_attempted_employer_selection`, which mirror the
[`onClose`](/link/reference/callbacks#onclose) fields.
flow_id:
type: string
description: >-
Payroll only. Optional payroll embedded connection experience
customization ID.
items:
type: array
description: >-
Payroll only. Limits Link to the provided Items. If one Item is
provided, Link skips search and opens that Item's login screen. If
multiple Items are provided, Link shows only those Items.
items:
type: string
example:
- item_000000001
- item_000000002
language:
type: string
enum:
- EN
- ES
- RU
- ZH
description: >-
Payroll only. Supported Link [display
language](/link/initialization/overview#optional-initialization-parameters).
mobile_app:
type: boolean
description: >-
Payroll only. Set to `true` when the session is used in a mobile
app, including Hosted Link opened in a secure browser context.
ClientSessionConfiguration:
allOf:
- $ref: '#/components/schemas/ClientSessionCreateConfiguration'
ClientSessionCreateRequest:
type: object
properties:
verification:
type: string
format: uuid
description: ID of the verification used to initialize the session.
configuration:
$ref: '#/components/schemas/ClientSessionCreateConfiguration'
required:
- verification
ClientSession:
type: object
description: Client connection session object.
properties:
verification:
type: string
format: uuid
description: Verification ID associated with the session.
configuration:
$ref: '#/components/schemas/ClientSessionConfiguration'
link:
type: string
description: >-
URL used to launch the payroll or banking frontend experience. For
payroll, use it as `connectUrl` when initializing the [Web
SDK](/link/initialization/web#initialize-with-connecturl); the
returned session URL already determines whether the session runs in
Sandbox or Production. Alternatively, open it directly for [Hosted
Link](/link/initialization/hosted-link). For banking, use it to
launch either an Embedded banking session or a Hosted banking
session. Session links expire after one hour. A new session link can
be created at any time by creating another session for the active
verification.
data_source:
type: string
enum:
- payroll
- banking
description: Source of connection data.
ClientVerificationListResponse:
type: object
description: Paginated list of client verification objects.
properties:
next:
type: string
format: uri
nullable: true
description: URL for the next page of results, if available.
previous:
type: string
format: uri
nullable: true
description: URL for the previous page of results, if available.
results:
type: array
items:
$ref: '#/components/schemas/ClientVerification'
ClientVerification:
type: object
properties:
id:
type: string
format: uuid
description: Unique ID of the verification.
user:
type: string
format: uuid
description: ID of the user associated with the verification.
created_at:
type: string
format: date-time
description: >-
Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when
the verification was requested.
updated_at:
type: string
format: date-time
description: >-
Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when
the verification object was last updated.
channel:
type: string
enum:
- api
- encompass
example: api
description: Origin of the verification order.
status:
$ref: '#/components/schemas/ClientVerificationStatus'
report:
$ref: '#/components/schemas/ClientVerificationReport'
employments:
type: array
description: List of employments for the user. Documents only.
items:
$ref: '#/components/schemas/ClientVerificationEmployment'
loan:
$ref: '#/components/schemas/ClientVerificationLoan'
billing:
$ref: '#/components/schemas/ClientVerificationBilling'
data_source:
type: string
enum:
- payroll
- banking
- documents
description: Source of verification data.
ClientVerificationStatus:
type: object
description: Verification status information.
properties:
state:
type: string
enum:
- PENDING
- PROCESSING
- PAUSED
- CANCELLED
- COMPLETED
description: >
Verification state.
- `PENDING` - Initial status after verification is created.
- `PROCESSING` - Verification processing is underway.
- `PAUSED` - Verification is paused because more data or documents
are required.
- `CANCELLED` - Verification has been cancelled.
- `COMPLETED` - Verification is complete and report assets are
available.
code:
type: string
enum:
- pending
- documents_processing
- more_data_required
- report_available
- waiting_on_third_party
- report_generating
- argyle_timeout
- cancelled_by_client
- completed
- completed_with_errors
- user_session_started
- authenticated
description: >-
Verification status code.
For `doc-voi-mortgage` report types:
- `pending` - Verification created.
- `documents_processing` - Documents processing.
- `more_data_required` - More data or documents are needed to
complete the verification.
- `report_available` - Data and documents are sufficient to complete
verification.
- `waiting_on_third_party` - Awaiting processing by a third party.
- `report_generating` - Report is currently generating.
- `argyle_timeout` - Verification request has been cancelled by
Argyle after 180 days of inactivity.
- `cancelled_by_client` - Verification has been cancelled.
- `completed` - Verification request complete. Report can be
retrieved.
- `completed_with_errors` - Verification request completed. Report
can be retrieved but is not GSE eligible.
For payroll and banking report types:
- `pending` - Verification created.
- `user_session_started` - User opened the payroll or banking
connection experience.
- `authenticated` - User authenticated for payroll or banking; data
aggregation is in progress.
- `completed` - Report is ready for download.
errors:
type: array
description: >
Error information.
Error details can explain what caused a `PAUSED` state or prevented
GSE eligibility for a `COMPLETED` document verification.
items:
$ref: '#/components/schemas/ClientVerificationError'
ClientVerificationError:
type: object
description: Verification error details.
properties:
code:
type: string
description: Error code.
title:
type: string
description: Error title.
message:
type: string
description: Error message.
resources:
type: array
description: >-
Additional troubleshooting resources (for example, the ID of an
unmatched document).
items:
$ref: '#/components/schemas/ClientVerificationErrorResource'
example:
code: self-employed_income
title: Self-employed income
message: Self-employed income cannot be assessed using Paystub and W2 Data.
resources:
- id: null
type: employments
name: Freelance Consulting LLC
ClientVerificationErrorResource:
type: object
description: Verification error resource details.
properties:
id:
type: string
nullable: true
description: ID of the associated resource, if available.
type:
type: string
description: Resource type.
name:
type: string
description: Resource name.
ClientReportCustomField:
type: object
description: Custom field returned in report JSON as a pass-through value.
properties:
label:
type: string
description: Custom field name.
value:
type: string
description: Custom field value.
shown:
type: boolean
description: Show custom field on report PDF.
ClientVerificationReportConfiguration:
type: object
description: Optional banking report configurations.
properties:
bank_accounts:
type: array
items:
type: string
description: >-
List of [bank account](/api-reference/bank-accounts) IDs to be
included in the report.
from_date:
type: string
format: date-time
description: >
Restrict report to data from on or after this datetime ([ISO
8601](https://en.wikipedia.org/wiki/ISO_8601)).
- `VOAI` reports - controls the length of asset history
- `VOA` reports - controls the length of asset history
- `VOI` reports - controls the length of income history
income_from_date:
type: string
format: date-time
description: >
Restrict report to data from on or after this datetime ([ISO
8601](https://en.wikipedia.org/wiki/ISO_8601)).
- `VOAI` reports - controls the length of income history
- Does not apply to `VOA` or `VOI` reports.
income_stream_confidence_minimum:
type: integer
minimum: 0
maximum: 100
description: >
Limit income streams used in the report to those above this
confidence value (`0-100` accepted).
Only available for `VOI` and `VOAI` report types.
report_custom_fields:
type: array
maxItems: 5
description: >-
Include up to `5` custom objects in the report metadata. Often used
for identifying information.
items:
$ref: '#/components/schemas/ClientReportCustomField'
ClientVerificationReport:
type: object
description: Report information.
properties:
id:
type: string
format: uuid
nullable: true
description: |
Unique ID of the report.
Only available when verification state is `COMPLETED`.
type:
type: string
enum: &ref_2
- voie
- voe
- voa
- voi
- voai
- voe-transactions
- doc-voi-mortgage
description: >-
The type of report.
Payroll:
- `voie` - Verification of Income and Employment.
- `voe` - Verification of Employment.
Banking:
- `voa` - Banking verification of assets.
- `voi` - Banking verification of income.
- `voai` - Banking verification of income and assets.
- `voe-transactions` - Banking verification of employment.
Documents:
- `doc-voi-mortgage` - Document-based verification of income,
integrated with Freddie Mac's AIM Check.
file_url:
type: string
nullable: true
example: www.argyle.com/storagename/pdf
description: >
Download link to the report PDF.
Requires [Argyle authentication
headers](/api-guide/overview#authentication). Only available when
verification state is `COMPLETED`.
json_url:
type: string
nullable: true
example: www.argyle.com/storagename/json
description: >
Download link to the report in JSON.
Requires [Argyle authentication
headers](/api-guide/overview#authentication). Only available when
verification state is `COMPLETED`.
configuration:
$ref: '#/components/schemas/ClientVerificationReportConfiguration'
ClientVerificationEmployment:
type: object
description: Employment details for the user.
properties:
employer:
type: string
description: Name of the employer.
status:
type: string
enum:
- active
- previous
description: User's current employment status at this employer.
hire_date:
type: string
format: date
description: >-
Employment start date in [ISO
8601](https://en.wikipedia.org/wiki/ISO_8601) format.
termination_date:
type: string
format: date
nullable: true
description: >-
Employment end date in [ISO
8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` when
employment `status` is `active`.
ClientVerificationEmploymentRequest:
allOf:
- $ref: '#/components/schemas/ClientVerificationEmployment'
- type: object
required:
- employer
- status
- hire_date
ClientVerificationLoan:
type: object
description: Optional loan details.
properties:
number:
type: string
description: Loan number or identifier.
borrower_id:
type: string
description: Borrower identifier.
application_id:
type: string
description: Application identifier.
officer_email:
type: string
description: Email of the loan officer requesting the verification.
ClientVerificationBilling:
type: object
description: Optional billing details.
properties:
cost_center:
type: string
description: Cost center identifier.
ClientVerificationCreateReportRequest:
type: object
description: Report request configuration.
properties:
type:
type: string
enum: *ref_2
description: >-
The type of report to generate.
Payroll:
- `voie` - Verification of Income and Employment.
- `voe` - Verification of Employment.
Banking:
- `voa` - Banking verification of assets.
- `voi` - Banking verification of income.
- `voai` - Banking verification of income and assets.
- `voe-transactions` - Banking verification of employment.
Documents:
- `doc-voi-mortgage` - Document-based verification of income,
integrated with Freddie Mac's AIM Check.
configuration:
allOf:
- $ref: '#/components/schemas/ClientVerificationReportConfiguration'
- description: Optional banking report configurations.
required:
- type
ClientVerificationRefreshReportRequest:
type: object
description: Report request configuration for refresh requests.
properties:
type:
type: string
enum:
- voie
- voe
- voa
- voi
- voai
- voe-transactions
- doc-voi-mortgage
description: >-
Payroll, banking, or Doc VOI report type to generate.
Payroll:
- `voie` - Verification of Income and Employment.
- `voe` - Verification of Employment.
Banking:
- `voa` - Banking verification of assets.
- `voi` - Banking verification of income.
- `voai` - Banking verification of income and assets.
- `voe-transactions` - Banking verification of employment.
Documents:
- `doc-voi-mortgage` - Document-based verification of income,
integrated with Freddie Mac's AIM Check.
configuration:
allOf:
- $ref: '#/components/schemas/ClientVerificationReportConfiguration'
- description: Optional banking report configurations.
required:
- type
ClientVerificationCreateRequest:
type: object
description: |-
Request body for ordering a verification.
- `user` and `report` are required for all requests.
- `employments` is required for document verifications only.
- `report.configuration` is used for banking verifications only.
properties:
user:
type: string
format: uuid
description: User ID for the verification.
employments:
type: array
description: >-
List of employments for the user.
Required for document verifications only. Not used for payroll or
banking verifications.
items:
$ref: '#/components/schemas/ClientVerificationEmploymentRequest'
report:
$ref: '#/components/schemas/ClientVerificationCreateReportRequest'
loan:
$ref: '#/components/schemas/ClientVerificationLoan'
billing:
$ref: '#/components/schemas/ClientVerificationBilling'
required:
- user
- report
ClientVerificationRefreshRequest:
type: object
properties:
user:
type: string
format: uuid
description: User ID for the verification refresh.
report:
$ref: '#/components/schemas/ClientVerificationRefreshReportRequest'
loan:
$ref: '#/components/schemas/ClientVerificationLoan'
billing:
$ref: '#/components/schemas/ClientVerificationBilling'
required:
- user
- report
ClientVerificationUpdateRequest:
type: object
description: >
Request body for updating a verification.
- `loan` and `billing` can be updated for either data source.
- `employments` can only be updated when a document verification is in
the `PAUSED` state.
- Updating `employments` replaces the full employments array.
properties:
loan:
$ref: '#/components/schemas/ClientVerificationLoan'
billing:
$ref: '#/components/schemas/ClientVerificationBilling'
employments:
type: array
description: Updated list of employments for the user.
items:
$ref: '#/components/schemas/ClientVerificationEmploymentRequest'