openapi: 3.0.0
info:
title: Argyle API
version: '2.0'
description: RESTful API providing user-consented access to payroll and employment
data including identities, paystubs, gigs, shifts, vehicles, ratings, payroll
documents, and deposit destinations across thousands of employers and gig platforms.
contact:
name: Argyle Support
url: https://docs.argyle.com/
x-api-id: argyle
x-audience: public
servers:
- url: https://api.argyle.com
description: Production
- url: https://api-sandbox.argyle.com
description: Sandbox
security:
- basicAuth: []
paths:
/v2/accounts/{id}:
get:
summary: Retrieve an account
description: Retrieves an account object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the account object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
example:
id: 0187c66e-e7e5-811c-b006-2232f00f426a
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
employers:
- Whole Goods
item: item_123456789
source: thepayrollcompany
created_at: '2023-01-30T12:53:22.561Z'
updated_at: '2023-01-30T12:55:04.478Z'
scanned_at: '2023-01-30T12:55:04.016Z'
connection:
status: connected
error_code: null
error_message: null
updated_at: '2023-01-30T12:53:25.561Z'
direct_deposit_switch:
status: success
error_code: null
error_message: null
updated_at: '2023-01-30T12:55:03.478Z'
availability:
shifts:
status: synced
updated_at: '2023-01-30T12:55:03Z'
available_count: 94
available_from: '2020-04-11T12:53:27Z'
available_to: '2023-01-25T00:00:00Z'
gigs:
status: synced
updated_at: '2023-01-30T12:55:03Z'
available_count: 217
available_from: '2020-04-11T12:53:27Z'
available_to: '2023-01-25T00:00:00Z'
paystubs:
status: synced
updated_at: '2023-01-30T12:55:03Z'
available_count: 68
available_from: '2020-05-11T12:53:27Z'
available_to: '2023-01-29T23:59:59Z'
payroll_documents:
status: synced
updated_at: '2023-01-30T12:53:44.308912Z'
identities:
status: synced
updated_at: '2023-01-30T12:53:44.028552Z'
ratings:
status: synced
updated_at: '2023-01-30T12:55:03.359356Z'
vehicles:
status: synced
updated_at: '2023-01-30T12:53:44.321951Z'
deposit_destinations:
status: synced
updated_at: '2023-01-30T12:53:42.586391Z'
user_forms:
status: in_progress
updated_at: '2023-01-30T12:53:42.586391Z'
available_count: 0
files_count: 1
in_progress_count: 1
user_uploads:
status: synced
updated_at: '2023-01-30T12:54:41.621Z'
files_count: 2
in_progress_count: 0
ongoing_refresh:
status: enabled
delete:
summary: Delete an account
description: 'Deletes an account object.
**Caution** - Deleting an account object will delete all resources
associated with the account, such as paystubs or uploaded documents.
'
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the account object to be deleted.
responses:
'204':
description: '204 status code: No content.'
/v2/accounts:
get:
summary: List all accounts
description: Returns a paginated list of all account objects.
parameters:
- in: query
name: user
schema:
type: string
format: uuid
description: Filter by user ID.
- in: query
name: item
schema:
type: string
format: uuid
description: Filter by Item ID.
- in: query
name: ongoing_refresh_status
schema:
type: string
enum:
- enabled
- disabled
- idle
description: Filter by `status` of the `ongoing_refresh` object.
- in: query
name: limit
schema:
type: integer
description: 'Number of account objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.'
- in: query
name: cursor
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
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/Account'
example:
next: https://api-sandbox.argyle.com/v2/accounts?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0185a8b8-60eb-80ca-7482-5f24504573f7
user: 0186c5b8-8fa1-67b3-39af-14b3e18da8a7
employers:
- Half Bads
item: item_000000001
source: payrollcorp
created_at: '2023-01-30T18:25:13.491Z'
updated_at: '2023-01-30T18:46:44.034Z'
scanned_at: '2023-01-30T18:46:43.446Z'
connection:
status: connected
error_code: null
error_message: null
updated_at: '2023-01-30T18:25:30.334956Z'
direct_deposit_switch:
status: error
error_code: confirmation_timeout
error_message: This user did not finish confirming the direct
deposit switch.
updated_at: '2023-01-30T18:35:31.961Z'
availability:
shifts:
status: synced
updated_at: '2023-01-30T18:46:43Z'
available_count: 132
available_from: '2020-03-03T18:25:30Z'
available_to: '2023-01-28T00:00:00Z'
gigs:
status: synced
updated_at: '2023-01-30T18:46:43Z'
available_count: 242
available_from: '2020-03-03T18:25:30Z'
available_to: '2023-01-28T00:00:00Z'
paystubs:
status: synced
updated_at: '2023-01-30T18:46:43Z'
available_count: 40
available_from: '2020-03-03T18:25:30Z'
available_to: '2023-01-02T00:00:00Z'
payroll_documents:
status: synced
updated_at: '2023-01-30T18:45:35.228Z'
identities:
status: synced
updated_at: '2023-01-30T18:45:34.960Z'
ratings:
status: synced
updated_at: '2023-01-30T18:45:35.235Z'
vehicles:
status: synced
updated_at: '2023-01-30T18:45:35.237Z'
deposit_destinations:
status: synced
updated_at: '2023-01-30T18:25:31.438Z'
user_forms: null
user_uploads: null
ongoing_refresh:
status: enabled
- id: 01856c65-43b6-8b5d-b32a-56b8fbda5c28
user: 0186c5b8-8fa1-67b3-39af-14b3e18da8a7
employers: []
item: item_000012271
source: doc_upload_item
created_at: '2023-01-30T15:15:53.176Z'
updated_at: '2023-01-30T15:16:12.042Z'
scanned_at: null
connection:
status: connecting
error_code: null
error_message: null
updated_at: '2023-01-30T15:16:14.695Z'
direct_deposit_switch:
status: idle
error_code: null
error_message: null
updated_at: '2023-01-30T15:16:11.703Z'
availability:
shifts: null
gigs: null
paystubs: null
payroll_documents: null
identities: null
ratings: null
vehicles: null
deposit_destinations: null
user_forms:
status: synced
updated_at: '2023-01-30T15:16:12.012Z'
available_count: 1
files_count: 3
in_progress_count: 0
user_uploads: null
ongoing_refresh:
status: idle
/v2/accounts/{id}/disable-ongoing-refresh:
post:
summary: Disable account updates
description: "Disables `ongoing_refresh` for an individual account.\n\nTo access\
\ this feature, reach out to our team for assistance.\n\n* Link will display\
\ the [ongoing\\_refresh\\_disabled](/api-reference/account-connection-errors#ongoingrefreshdisabled)\
\ account connection error when users return to view this account.\n* Changes\
\ the account's [`ongoing_refresh.status`](/api-reference/accounts#object-ongoing_refresh)\
\ value from `enabled` to `disabled` and causes the [`accounts.updated`](/api-reference/accounts-webhooks/updated)\
\ webhook to be sent.\n\n
\n\nAfter `ongoing_refresh` is disabled:\n\n\
* The specified account will no longer receive [data updates](/overview/ongoing-refresh).\n\
* If the user returns to Link and [reconnects the account](/workflows/reconnecting-accounts#reconnecting-disconnected-accounts):\n\
\ 1. The account will immediately be re-scanned and its data updated.\n\
\ 2. The account will be billed as a new account connection.\n 3. \
\ Ongoing refresh will be re-enabled for the account.\n"
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the account object.
responses:
'200':
description: '200 status code: Request succeeded.'
/v2/deposit-destinations/{id}:
get:
summary: Retrieve a deposit destination
description: Retrieves a deposit destination object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the deposit destination object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DepositDestination'
example:
id: 0176e1ea-60ca-c561-eb8e-6dcdb33b1b55
account: 0187c66e-e7e5-811c-b006-2232f00f426a
employer: Whole Goods
destination_type: ach_deposit_account
status: active
allocation_type: amount
currency: USD
allocation_value: '325.70'
method: Direct deposit
ach_deposit_account:
account_number: '123456780000'
bank_name: NW Bank
routing_number: '026010000'
account_type: savings
created_at: '2023-03-14T16:00:49.420Z'
updated_at: '2023-03-14T16:00:49.420Z'
metadata: {}
/v2/deposit-destinations:
get:
summary: List all deposit destinations
description: Returns a paginated list of all deposit destination objects.
parameters:
- in: query
name: account
schema:
type: string
format: uuid
required: false
description: Filter by account ID.
- in: query
name: user
schema:
type: string
format: uuid
required: false
description: Filter by user ID.
- in: query
name: limit
schema:
type: integer
required: false
description: 'Number of deposit destination objects returned per
page. Default: 10. Maximum: 200.
'
- in: query
name: cursor
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
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/DepositDestination'
example:
next: https://api-sandbox.argyle.com/v2/deposit-destinations?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0185da22-3322-eeaf-57b2-a6527214e456
account: 0185a8b8-60eb-80ca-7482-5f24504573f7
employer: Half Bads
destination_type: card
status: active
allocation_type: null
currency: null
allocation_value: null
method: Instant payout
card:
card_number: '****5678'
card_name: Visa
is_platform_card: false
created_at: '2023-03-13T19:53:49.090Z'
updated_at: '2023-03-13T19:53:49.091Z'
metadata: {}
- id: 0185e091-cbe2-775c-bc32-7bc943cb4264
account: 0187e091-b47d-3cc6-a273-2b5e3cab83af
employer: Bullseye
destination_type: ach_deposit_account
status: inactive
allocation_type: amount
currency: USD
allocation_value: remainder
method: Direct deposit
ach_deposit_account:
account_number: '757127245584'
bank_name: SW Bank
routing_number: 016012008
account_type: checking
created_at: '2023-03-14T14:41:37.989Z'
updated_at: '2023-03-14T14:41:37.989Z'
metadata: {}
/v2/employer-search:
get:
summary: List all employers
description: Returns a paginated list of all Item objects, representing the
most relevant search results.
operationId: listEmployers
parameters:
- name: q
in: query
description: Free-text search filter.
required: false
schema:
type: string
- name: kind
in: query
description: Filter by `kind` value.
required: false
schema:
type: string
- name: mapping_status
in: query
description: 'Filter by `mapping_status` value.
Multiple `mapping_status` values can also be searched at once using either
method:
1. `/v2/items?mapping_status=verified,mapped`
2. `/v2/items?mapping_status=verified&mapping_status=mapped`
'
required: false
schema:
type: string
- name: status
in: query
description: 'Filter by `status` value.
Multiple `status` values can also be searched at once using either method:
1. `/v2/items?status=healthy,issues`
2. `/v2/items?status=healthy&status=issues`
Filtering by both `healthy` and `issues` will return all Items that currently
support new payroll connections.
'
required: false
schema:
type: string
- name: limit
in: query
description: 'Number of Item objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.'
required: false
schema:
type: integer
format: int32
minimum: 1
maximum: 200
- in: query
name: cursor
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
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/Employer'
example:
next: https://api-sandbox.argyle.com/v2/employer-search?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: item_000000002
name: Bullseye
logo_url: argyle.com/image-holdings
kind: employer
mapping_status: verified
status: unavailable
- id: item_000000003
name: Triple
logo_url: argyle.com/image-holdings
kind: platform
mapping_status: mapped
status: healthy
/v2/employments:
get:
summary: List all employments
description: Returns a paginated list of all employment objects.
parameters:
- in: query
name: user
schema:
type: string
format: uuid
required: false
description: Filter by user ID.
- in: query
name: account
schema:
type: string
format: uuid
required: false
description: Filter by account ID.
- in: query
name: limit
schema:
type: integer
description: 'Number of employment objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.'
- in: query
name: cursor
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: A list of employment objects.
content:
application/json:
schema:
type: object
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/Employment'
example:
next: https://api-sandbox.argyle.com/v2/employments?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0186a27d-e5c6-735a-a359-6315b34d544c
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
account: 0187c66e-e7e5-811c-b006-2232f00f426a
created_at: '2023-01-30T12:53:24.561Z'
employer: Whole Goods
employment_status: active
origin: retrieved
- id: 0183d52a-d3b2-331d-c753-3662a20e352b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
account: 0183d52b-a0c3-599a-e901-3676a20a533f
created_at: '2023-01-30T12:53:24.561Z'
employer: Double Double
employment_status: inactive
origin: acquired
- id: 0183d52a-d3b2-331d-c753-3662a20e352b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
account: 0175a40a-b3b4-622b-a339-8855c57b226e
created_at: '2023-01-30T12:53:24.561Z'
employer: Half Bads
employment_status: inactive
origin: retrieved
- id: 0183d52a-d3b2-331d-c753-3662a20e352b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
account: 0175a40a-b3b4-622b-a339-8855c57b226e
created_at: '2023-01-30T12:53:24.561Z'
employer: Stardollars LLC
employment_status: inactive
origin: retrieved
/v2/gigs/{id}:
get:
summary: Retrieve a gig
description: Retrieves a gig object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the gig object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Gig'
example:
id: 0187dbfa-6f5e-a33a-af26-7e12ff408fea
account: 0187c66e-e7e5-811c-b006-2232f00f426a
employer: GigAndGo
created_at: '2023-03-08T08:31:37.037Z'
updated_at: '2023-03-08T08:31:37.037Z'
status: completed
type: delivery
task_count: 2
start_datetime: '2023-03-08T08:08:57Z'
end_datetime: '2023-03-08T08:31:36Z'
all_datetimes:
request_at: '2023-03-08T08:08:57Z'
accept_at: '2023-03-08T08:09:38Z'
pickup_at: '2023-03-08T08:12:57Z'
dropoff_at: '2023-03-08T08:31:36Z'
cancel_at: null
shift_start: null
shift_end: null
breaks: []
duration: 2659
timezone: America/New_York
earning_type: work
start_location:
lat: '40.65932120164202'
lng: '-73.8526246331782'
formatted_address: 201 North W St, New York, NY 10014, US
end_location:
lat: '40.689177462234504'
lng: '-73.89453884284752'
formatted_address: 102 South E St, New York, NY 10002, US
task_details:
events:
- order_id: null
sequence: '1'
type: accept
name: null
formatted_address: 201 North W St, New York, NY 10014, US
lat: '40.65932120164202'
lng: '-73.89453884284752'
datetime: '2023-03-08T08:09:38Z'
- order_id: '1'
sequence: '2'
type: pickup
name: Healthy Snacks
formatted_address: 150 East N St, New York, NY 10014, US
lat: '40.673422892136178'
lng: '-73.88931269893891'
datetime: '2023-03-08T08:12:57Z'
- order_id: '2'
sequence: '3'
type: pickup
name: Gourmet Desserts
formatted_address: 182 East N St, New York, NY 10014, US
lat: '40.673523811763259'
lng: '-73.86335212657626'
datetime: '2023-03-08T08:12:57Z'
- order_id: null
sequence: '4'
type: dropoff
name: null
formatted_address: 102 South E St, New York, NY 10002, US
lat: '40.689177462234504'
lng: '-73.89453884284752'
datetime: '2023-03-08T08:31:36Z'
orders:
- order_id: '1'
sequence: '1'
income:
currency: USD
total_charge: '34.75'
customer_price: '26.38'
fees: '8.37'
total: '19.96'
pay: '22.28'
tips: null
bonus: '0.00'
other: '-2.32'
- order_id: '2'
sequence: '2'
income:
currency: USD
total_charge: '7.25'
customer_price: '7.25'
fees: null
total: '4.30'
pay: '4.30'
tips: '0.00'
bonus: '0.00'
other: null
distance: '1.80'
distance_unit: miles
metadata:
income.other:
name: 'Taxes: Withholding tax'
value: '-15.32'
circumstances:
is_pool: false
is_rush: false
is_surge: true
service_type: Comfort Ride
position: null
income:
currency: USD
total_charge: '42.00'
customer_price: '33.68'
fees: '8.37'
total: '30.68'
pay: '26.58'
tips: '6.42'
bonus: '0.00'
other: '-2.32'
income_rates:
hour: '92.70'
mile: '20.20'
/v2/gigs:
get:
summary: List all gigs
description: Returns a paginated list of all gig objects.
parameters:
- in: query
name: account
schema:
type: string
format: uuid
required: false
description: Filter by account ID.
- in: query
name: user
schema:
type: string
format: uuid
required: false
description: Filter by user ID.
- in: query
name: from_start_datetime
schema:
type: string
format: date-time
required: false
description: 'Filter by gigs with a `start_datetime` on or after this timestamp
[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601).
'
- in: query
name: to_start_datetime
schema:
type: string
format: date-time
required: false
description: 'Filter by gigs with a `start_datetime` on or before this timestamp
[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601).
'
- in: query
name: limit
schema:
type: integer
required: false
description: 'Number of gig objects returned per
page. Default: 10. Maximum: 200.
'
- in: query
name: cursor
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
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/Gig'
example:
next: https://api-sandbox.argyle.com/v2/gigs?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0187b43a-35fa-56e2-1a95-f7e4232a4b3a
account: 0187c66e-e7e5-811c-b006-2232f00f426a
employer: GigAntic
created_at: '2023-03-15T06:10:25.004Z'
updated_at: '2023-03-15T06:10:25.004Z'
status: completed
type: rideshare
task_count: 1
start_datetime: '2023-03-15T05:24:44Z'
end_datetime: '2023-03-15T06:10:24Z'
all_datetimes:
request_at: '2023-03-15T05:24:44Z'
accept_at: '2023-03-15T05:26:51Z'
pickup_at: '2023-03-15T05:30:46Z'
dropoff_at: '2023-03-15T06:10:24Z'
cancel_at: null
shift_start: null
shift_end: null
breaks: []
duration: 2740
timezone: America/New_York
earning_type: work
start_location:
lat: '40.61236518213759'
lng: '-73.58345445703922'
formatted_address: 305 East Ave Apt. 980, New York, NY 10006,
US
end_location:
lat: '40.693262037420084'
lng: '-73.83205844061759'
formatted_address: 503 Far West Ave Suite 970, New York, NY 10019,
US
task_details:
events: []
orders: []
distance: '24.93'
distance_unit: miles
metadata: {}
circumstances:
is_pool: false
is_rush: false
is_surge: true
service_type: GigAntic XL
position: null
income:
currency: USD
total_charge: '34.79'
customer_price: '25.32'
fees: '9.47'
total: '25.32'
pay: '25.32'
tips: '0.00'
bonus: '0.00'
other: null
income_rates:
hour: '13.62'
mile: '0.60'
- id: 0187dbfa-6f5e-a33a-af26-7e12ff408fea
account: 0187c66e-e7e5-811c-b006-2232f00f426a
employer: GigAndGo
created_at: '2023-03-08T08:31:37.037Z'
updated_at: '2023-03-08T08:31:37.037Z'
status: completed
type: delivery
task_count: 2
start_datetime: '2023-03-08T08:08:57Z'
end_datetime: '2023-03-08T08:31:36Z'
all_datetimes:
request_at: '2023-03-08T08:08:57Z'
accept_at: '2023-03-08T08:09:38Z'
pickup_at: '2023-03-08T08:12:57Z'
dropoff_at: '2023-03-08T08:31:36Z'
cancel_at: null
shift_start: null
shift_end: null
breaks: []
duration: 2659
timezone: America/New_York
earning_type: work
start_location:
lat: '40.65932120164202'
lng: '-73.8526246331782'
formatted_address: 201 North W St, New York, NY 10014, US
end_location:
lat: '40.689177462234504'
lng: '-73.89453884284752'
formatted_address: 102 South E St, New York, NY 10002, US
task_details:
events:
- order_id: null
sequence: '1'
type: accept
name: null
formatted_address: 201 North W St, New York, NY 10014, US
lat: '40.65932120164202'
lng: '-73.89453884284752'
datetime: '2023-03-08T08:09:38Z'
- order_id: '1'
sequence: '2'
type: pickup
name: Healthy Snacks
formatted_address: 150 East N St, New York, NY 10014, US
lat: '40.673422892136178'
lng: '-73.88931269893891'
datetime: '2023-03-08T08:12:57Z'
- order_id: '2'
sequence: '3'
type: pickup
name: Gourmet Desserts
formatted_address: 182 East N St, New York, NY 10014, US
lat: '40.673523811763259'
lng: '-73.86335212657626'
datetime: '2023-03-08T08:12:57Z'
- order_id: null
sequence: '4'
type: dropoff
name: null
formatted_address: 102 South E St, New York, NY 10002, US
lat: '40.689177462234504'
lng: '-73.89453884284752'
datetime: '2023-03-08T08:31:36Z'
orders:
- order_id: '1'
sequence: '1'
income:
currency: USD
total_charge: '34.75'
customer_price: '26.38'
fees: '8.37'
total: '19.96'
pay: '22.28'
tips: null
bonus: '0.00'
other: '-2.32'
- order_id: '2'
sequence: '2'
income:
currency: USD
total_charge: '7.25'
customer_price: '7.25'
fees: null
total: '4.30'
pay: '4.30'
tips: '0.00'
bonus: '0.00'
other: null
distance: '1.80'
distance_unit: miles
metadata:
income.other:
name: 'Taxes: Withholding tax'
value: '-15.32'
circumstances:
is_pool: false
is_rush: false
is_surge: true
service_type: Comfort Ride
position: null
income:
currency: USD
total_charge: '42.00'
customer_price: '33.68'
fees: '8.37'
total: '30.68'
pay: '26.58'
tips: '6.42'
bonus: '0.00'
other: '-2.32'
income_rates:
hour: '92.70'
mile: '20.20'
/v2/identities/{id}:
get:
summary: Retrieve an identity
description: Retrieves an identity object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the identity object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Identity'
example:
id: 0153b145-7ab9-bea2-cc16-a8b71328942f
account: 0187c66e-e7e5-811c-b006-2232f00f426a
address:
city: New York
line1: 852 North W St
line2: Apt 221
state: NY
country: US
postal_code: '10014'
first_name: Sarah
last_name: Longfield
full_name: Sarah Longfield
birth_date: '1980-10-30'
email: '[email protected]'
phone_number: '+12125555555'
picture_url: www.argyle.com/logofoldername
employment_status: active
employment_type: full-time
job_title: Store Manager
ssn: 522-09-1191
marital_status: Married filing jointly
gender: Female
original_hire_date: '2019-01-03'
hire_date: '2020-04-08'
termination_date: null
termination_reason: null
employer: Whole Goods
employment: 0183d52a-d3b2-331d-c753-3662a20e352b
base_pay:
amount: '58024.50'
period: annual
currency: USD
pay_cycle: semimonthly
platform_ids:
employee_id: OB238HDW5
position_id: 6ELL4O7PM
platform_user_id: JLH7B9V6O6YGN9O7
created_at: '2023-01-30T12:53:24.561594Z'
updated_at: '2023-01-30T12:55:06.478699Z'
metadata: {}
/v2/identities:
get:
summary: List all identities
description: Returns a paginated list of all identity objects.
parameters:
- in: query
name: account
schema:
type: string
format: uuid
description: Filter by account ID.
- in: query
name: user
schema:
type: string
format: uuid
description: Filter by user ID.
- in: query
name: employment
schema:
type: string
format: uuid
description: Filter by employment ID.
- in: query
name: limit
schema:
type: integer
description: 'Number of identity objects returned per page. Default: 10. Maximum:
200.
'
- in: query
name: cursor
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
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/Identity'
example:
next: https://api-sandbox.argyle.com/v2/identities?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0186da0b-6569-0ea0-eb50-b64e97cb29e9
account: 0186da0b-9923-0d27-4b05-6ce3b7b07b89
address:
city: San Diego
line1: 54 N Shea Ridge
line2: null
state: CA
country: US
postal_code: '92092'
first_name: Joe
last_name: Burnam
full_name: Joe Burnam
birth_date: '1978-08-29'
email: '[email protected]'
phone_number: '+12123338708'
picture_url: www.argyle.com/logofoldername
employment_status: active
employment_type: part-time
job_title: Hourly staff
ssn: 301-06-1225
marital_status: Married filing jointly
gender: Male
original_hire_date: '2022-05-18'
hire_date: '2022-05-18'
termination_date: null
termination_reason: null
employer: Double Double
employment: 0183d52a-d3b2-331d-c753-3662a20e352b
base_pay:
amount: '18.08'
period: hourly
currency: USD
pay_cycle: monthly
platform_ids:
employee_id: 32ULINA8
position_id: 67LKUKA8
platform_user_id: '332512349952'
created_at: '2023-01-31T12:13:24.561594Z'
updated_at: '2023-01-31T12:45:06.478699Z'
metadata: {}
- id: 0353c142-4ab9-baa1-cb44-c8b51225877e
account: 0185a8b8-60eb-80ca-7482-5f24504573f7
address:
city: Oklahoma City
line1: 312 Main Ave
line2: null
state: OK
country: US
postal_code: '73008'
first_name: Bob
last_name: Jones
full_name: Bob Jones
birth_date: '1983-07-02'
email: '[email protected]'
phone_number: '+13228675309'
picture_url: www.argyle.com/logofoldername
employment_status: active
employment_type: contractor
job_title: Data analyst
ssn: 507-18-3058
marital_status: Single
gender: Female
original_hire_date: '2019-01-03'
hire_date: '2021-04-08'
termination_date: null
termination_reason: null
employer: Half Bads
employment: 0183d52a-d3b2-331d-c753-3662a20e352b
base_pay:
amount: '39.72'
period: hourly
currency: USD
pay_cycle: biweekly
platform_ids:
employee_id: bd823Lk
position_id: ab3EkU2
platform_user_id: '832355'
created_at: '2023-01-30T13:53:24.561594Z'
updated_at: '2023-01-30T13:55:06.478699Z'
metadata: {}
/v2/invites:
post:
summary: Send an invite
description: 'Immediately sends an invite via email, SMS, or both.
Returns an invite object in the response.
'
requestBody:
required: true
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/SendInviteRequest'
required:
- first_name
- last_name
examples:
default:
value:
first_name: Sarah
last_name: Longfield
phone_number: 212-555-5555
email: sarah@email.com
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/InviteObject'
example:
id: 0424137bc-edc5-35de-c1b5-1c3cddb4b227
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
user_token: bcJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWEiOiIxNDRhMTRkNS04YzEzLTQzZGYtOTI4Ni01OWY4NjFkOWEyMDIiLCJleHAiOjE2ODc3OTMzODAsImZpZCI6IjUyYWM3ZFFiLTI1MzAtNGYyNy04NTZlLTkwOTk1ZDA4NWJkMCIsImlhdCI6MTY4Nzc4OTc4MCwiaXNzIjoiYXJneWxlLWNvcmUtYXV1aC1kZXYiLCJqdGkiOiI2ZWJiOGIxMS0wYzFjLTRiNjEtYmI5NS04ZGQ0YzA0OGQwNzUiLCJzdWIiOiIwMTg4ZjgxYy0zZTFkLTRlZDEtMjEyYy02NmE3YzE4YzVjYzMiLCJ1c2VyX2lkIjoiMDE4OGY4MWMtM2UxZC00ZWQxLTIxMmMtNjZhN2MxN2M1Y2MzIn0.TNiZojOiiXtPVamyCDjz4f2GwR4TA8x6JR3RwjTECjY
email: sarah@email.com
phone_number: 212-555-5555
full_name: Sarah Longfield
first_name: Sarah
last_name: Longfield
revoked_at: null
status: sent
group_id: d8a07e5b-13a3-11ef-af7e-c7eb00762562
url: https://verify.argyle.com/connect/0424137bc-edc5-35de-c1b5-1c3cddb4b227
created_at: '2023-03-09T23:57:05.756Z'
updated_at: '2023-03-09T23:57:05.756Z'
invited_at: '2023-03-09T23:57:05.756Z'
flow_id: 8DRRA4XC
flow_items:
- item_000000001
- item_000000002
reply_to:
- person1@email.com
- person2@email.com
deliveries:
- id: d7c85e44-9729-11f0-b297-f3718e19503e
method: email
status: sent
sent_at: '2023-03-09T23:57:24.000Z'
updated_at: '2023-03-09T23:57:24.000Z'
invite_template_id: null
get:
summary: List all invites
description: Returns an object containing all invite objects.
parameters:
- in: query
name: status
schema:
type: string
description: 'Filter invites by [status](#object-status).
Multiple status values can be searched at once using either method:
1. `/v2/invites?status=sent,initiated`
2. `/v2/invites?status=sent&status=initiated`
'
- in: query
name: reply_to
schema:
type: string
description: Filter invites for a specific [`reply_to`](#object-reply_to)
email.
- in: query
name: limit
schema:
type: integer
description: 'Number of invite objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.'
- in: query
name: cursor
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
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/InviteObject'
example:
next: https://api-sandbox.argyle.com/v2/invites?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0424137bc-edc5-35de-c1b5-1c3cddb4b227
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
user_token: null
email: sarah@email.com
phone_number: 212-555-5555
full_name: Sarah Longfield
first_name: Sarah
last_name: Longfield
revoked_at: null
status: completed
group_id: d8a07e5b-13a3-11ef-af7e-c7eb00762562
url: https://verify.argyle.com/connect/0424137bc-edc5-35de-c1b5-1c3cddb4b227
created_at: '2023-03-09T23:57:05.756Z'
updated_at: '2023-03-09T23:57:05.756Z'
invited_at: '2023-03-09T23:57:05.756Z'
flow_id: 8DRRA4XC
flow_items:
- item_000000001
- item_000000002
reply_to:
- person1@email.com
- person2@email.com
deliveries:
- id: d7c85e44-9729-11f0-b297-f3718e19503e
method: email
status: opened
sent_at: '2023-03-09T23:57:24.000Z'
updated_at: '2023-03-09T23:57:24.000Z'
invite_template_id: null
- id: 0186c5b8-8fa1-67b3-39af-14b3e18da8a7
user: f3041cb5-bf31-21cb-aa05-df294c161fd9
user_token: null
email: bob@email.com
phone_number: 212-867-5309
full_name: Bob Jones
first_name: Bob
last_name: Jones
revoked_at: null
status: initiated
group_id: null
url: https://verify.argyle.com/connect/f3041cb5-bf31-21cb-aa05-df294c161fd9
created_at: '2023-03-10T01:22:36.432Z'
updated_at: '2023-03-10T01:22:36.432Z'
invited_at: '2023-03-10T01:22:36.432Z'
flow_id: R23CELUZ
flow_items: []
reply_to: []
deliveries:
- id: d7c85e44-9729-11f0-b297-f3718e19503e
method: email
status: opened
sent_at: '2023-03-10T01:22:37.432Z'
updated_at: '2023-03-12T01:22:37.432Z'
invite_template_id: null
/v2/invites/{id}:
get:
summary: Retrieve an invite
description: Retrieves an invite object.
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: ID of the invite to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/InviteObject'
example:
id: 0424137bc-edc5-35de-c1b5-1c3cddb4b227
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
user_token: bcJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWEiOiIxNDRhMTRkNS04YzEzLTQzZGYtOTI4Ni01OWY4NjFkOWEyMDIiLCJleHAiOjE2ODc3OTMzODAsImZpZCI6IjUyYWM3ZFFiLTI1MzAtNGYyNy04NTZlLTkwOTk1ZDA4NWJkMCIsImlhdCI6MTY4Nzc4OTc4MCwiaXNzIjoiYXJneWxlLWNvcmUtYXV1aC1kZXYiLCJqdGkiOiI2ZWJiOGIxMS0wYzFjLTRiNjEtYmI5NS04ZGQ0YzA0OGQwNzUiLCJzdWIiOiIwMTg4ZjgxYy0zZTFkLTRlZDEtMjEyYy02NmE3YzE4YzVjYzMiLCJ1c2VyX2lkIjoiMDE4OGY4MWMtM2UxZC00ZWQxLTIxMmMtNjZhN2MxN2M1Y2MzIn0.TNiZojOiiXtPVamyCDjz4f2GwR4TA8x6JR3RwjTECjY
email: sarah@email.com
phone_number: 212-555-5555
full_name: Sarah Longfield
first_name: Sarah
last_name: Longfield
revoked_at: null
status: sent
group_id: d8a07e5b-13a3-11ef-af7e-c7eb00762562
url: https://verify.argyle.com/connect/0424137bc-edc5-35de-c1b5-1c3cddb4b227
created_at: '2023-03-09T23:57:05.756Z'
updated_at: '2023-03-09T23:57:05.756Z'
invited_at: '2023-03-09T23:57:05.756Z'
flow_id: 8DRRA4XC
flow_items:
- item_000000001
- item_000000002
reply_to:
- person1@email.com
- person2@email.com
deliveries:
- id: d7c85e44-9729-11f0-b297-f3718e19503e
method: email
status: sent
sent_at: '2023-03-09T23:57:24.000Z'
updated_at: '2023-03-09T03:24:58.000Z'
invite_template_id: null
post:
summary: Re-send an invite
description: 'Re-sends a previously sent invite. Updates the `updated_at` and
`invited_at` time.
'
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: ID of the invite to be re-sent.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/InviteObject'
example:
id: 0424137bc-edc5-35de-c1b5-1c3cddb4b227
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
user_token: bcJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWEiOiIxNDRhMTRkNS04YzEzLTQzZGYtOTI4Ni01OWY4NjFkOWEyMDIiLCJleHAiOjE2ODc3OTMzODAsImZpZCI6IjUyYWM3ZFFiLTI1MzAtNGYyNy04NTZlLTkwOTk1ZDA4NWJkMCIsImlhdCI6MTY4Nzc4OTc4MCwiaXNzIjoiYXJneWxlLWNvcmUtYXV1aC1kZXYiLCJqdGkiOiI2ZWJiOGIxMS0wYzFjLTRiNjEtYmI5NS04ZGQ0YzA0OGQwNzUiLCJzdWIiOiIwMTg4ZjgxYy0zZTFkLTRlZDEtMjEyYy02NmE3YzE4YzVjYzMiLCJ1c2VyX2lkIjoiMDE4OGY4MWMtM2UxZC00ZWQxLTIxMmMtNjZhN2MxN2M1Y2MzIn0.TNiZojOiiXtPVamyCDjz4f2GwR4TA8x6JR3RwjTECjY
email: sarah@email.com
phone_number: 212-555-5555
full_name: Sarah Longfield
first_name: Sarah
last_name: Longfield
revoked_at: null
status: sent
group_id: d8a07e5b-13a3-11ef-af7e-c7eb00762562
url: https://verify.argyle.com/connect/0424137bc-edc5-35de-c1b5-1c3cddb4b227
created_at: '2023-03-09T23:57:05.756Z'
updated_at: '2023-03-09T23:57:05.756Z'
invited_at: '2023-03-09T23:57:05.756Z'
flow_id: 8DRRA4XC
flow_items:
- item_000000001
- item_000000002
reply_to:
- person1@email.com
- person2@email.com
deliveries:
- id: d7c85e44-9729-11f0-b297-f3718e19503e
method: email
status: sent
sent_at: '2023-03-11T05:23:12.000Z'
updated_at: '2023-03-11T05:23:12.000Z'
- id: d7c85e44-9729-11f0-b297-f3718e19503e
method: email
status: sent
sent_at: '2023-03-09T23:57:24.000Z'
updated_at: '2023-03-09T23:57:24.000Z'
invite_template_id: null
/v2/invites/{id}/revoke:
post:
summary: Revoke an invite
description: 'Invalidates a previously sent invite.
If a user clicks a revoked invite URL, the landing page will notify the user
the invite has expired.
'
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: ID of the invite to be revoked.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/InviteObject'
example:
id: 0424137bc-edc5-35de-c1b5-1c3cddb4b227
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
user_token: bcJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWEiOiIxNDRhMTRkNS04YzEzLTQzZGYtOTI4Ni01OWY4NjFkOWEyMDIiLCJleHAiOjE2ODc3OTMzODAsImZpZCI6IjUyYWM3ZFFiLTI1MzAtNGYyNy04NTZlLTkwOTk1ZDA4NWJkMCIsImlhdCI6MTY4Nzc4OTc4MCwiaXNzIjoiYXJneWxlLWNvcmUtYXV1aC1kZXYiLCJqdGkiOiI2ZWJiOGIxMS0wYzFjLTRiNjEtYmI5NS04ZGQ0YzA0OGQwNzUiLCJzdWIiOiIwMTg4ZjgxYy0zZTFkLTRlZDEtMjEyYy02NmE3YzE4YzVjYzMiLCJ1c2VyX2lkIjoiMDE4OGY4MWMtM2UxZC00ZWQxLTIxMmMtNjZhN2MxN2M1Y2MzIn0.TNiZojOiiXtPVamyCDjz4f2GwR4TA8x6JR3RwjTECjY
email: sarah@email.com
phone_number: 212-555-5555
full_name: Sarah Longfield
first_name: Sarah
last_name: Longfield
revoked_at: null
status: sent
group_id: d8a07e5b-13a3-11ef-af7e-c7eb00762562
url: https://verify.argyle.com/connect/0424137bc-edc5-35de-c1b5-1c3cddb4b227
created_at: '2023-03-09T23:57:05.756Z'
updated_at: '2023-03-09T23:57:05.756Z'
invited_at: '2023-03-09T23:57:05.756Z'
flow_id: 8DRRA4XC
flow_items:
- item_000000001
- item_000000002
reply_to:
- person1@email.com
- person2@email.com
deliveries:
- id: d7c85e44-9729-11f0-b297-f3718e19503e
method: email
status: sent
sent_at: '2023-03-09T23:57:24.000Z'
updated_at: '2023-03-09T23:57:24.000Z'
invite_template_id: null
/v2/item-filters:
post:
summary: Create an Item filter
description: "Filters are applied to properties of the `field_coverage` object\
\ of [Items](/api-reference/items#object) using the comparison operators below.\
\ You can also filter Items by their `status` property using the `eq` operator.\n\
\nThe name and ID of the new Item filter are returned in the response, which\
\ can be used as a query parameter when [listing Items](/api-reference/items#list).\n\
\n## Comparison operators\n\n`eq` — equals \n`gt` — greater than \n`gte`\
\ — greater than or equal to \n`lt` — less than \n`lte` — less than or equal\
\ to\n"
requestBody:
required: true
content:
application/json:
example:
name: Key paystub fields supported
filters:
status:
eq: healthy
field_coverage:
paystubs:
gross_pay:
supported:
eq: true
paystub_date:
supported:
eq: true
schema:
type: object
properties:
name:
type: string
description: Name for the Item filter.
filters:
type: object
description: The set of filters, which can be applied when [listing
Items](/api-reference/items#list).
required:
- name
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The ID of the item filter.
example: 087394d4-83b5-4722-8c5e-0235362c12f5
name:
type: string
description: The name of the item filter.
example: Key paystub fields supported
get:
summary: List all Item filters
description: Returns a paginated list of all Item filters.
parameters:
- name: limit
in: query
description: 'Number of Item filters returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.
'
schema:
type: integer
- in: query
name: cursor
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
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:
type: object
properties:
name:
type: string
description: The name of the item filter.
example: Candidate for new car loan fields supported
filters:
type: object
description: The filters applied to this item filter.
example:
- name: Candidate for new car loan fields supported
filters:
field_coverage:
gigs:
distance:
supported: true
vehicles:
year:
supported: true
- name: Key paystub fields supported
filters:
status:
eq: healthy
field_coverage:
paystubs:
gross_pay:
supported:
eq: true
paystub_date:
supported:
eq: true
/v2/item-filters/{id}:
get:
summary: Retrieve an Item filter
description: Retrieves an Item filter.
parameters:
- name: id
in: path
description: ID of the Item filter to be retrieved.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The ID of the item filter.
example: 087394d4-83b5-4722-8c5e-0235362c12f5
name:
type: string
description: The name of the item filter.
example: Key paystub fields supported
filters:
type: object
description: The filters applied to this item filter.
example:
status:
eq: healthy
field_coverage:
paystubs:
gross_pay:
supported:
eq: true
paystub_date:
supported:
eq: true
put:
summary: Replace an Item filter
description: Replaces the filters of an Item filter with a new set of filters.
parameters:
- name: id
in: path
description: ID of the Item filter whose filters are to be replaced.
required: true
schema:
type: string
format: uuid
requestBody:
required: true
content:
application/json:
example:
name: Key paystub fields supported
filters:
status:
eq: healthy
field_coverage:
paystubs:
gross_pay:
supported:
eq: true
paystub_date:
supported:
eq: true
schema:
type: object
properties:
name:
type: string
description: 'Name for the revised Item filter.
The ID of the Item filter does not change after the replacement
filters are substituted.
'
filters:
type: object
description: The replacement set of filters.
required:
- name
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: The ID of the item filter.
example: 087394d4-83b5-4722-8c5e-0235362c12f5
name:
type: string
description: The name of the item filter.
example: Key paystub fields supported
delete:
summary: Delete an Item filter
description: Deletes an Item filter.
parameters:
- name: id
in: path
description: ID of the Item filter to be deleted.
required: true
schema:
type: string
format: uuid
responses:
'204':
description: '204 status code: No content.'
/v2/items/{id}:
get:
summary: Retrieve an Item
description: Retrieves an Item object.
parameters:
- in: path
name: id
schema:
type: string
required: true
description: 'ID of the Item. ID format — `item_123456789`
'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Item'
example:
id: item_000000001
name: Whole Goods
kind: employer
known_limitations: First 5 digits of SSN obfuscated.
status: healthy
status_details: null
logo_url: argyle.com/image-holdings
is_grouping: false
mapping_status: verified
features:
data_retrieval:
refresh_frequency: 5h
field_coverage:
identities:
first_name:
supported: true
last_name:
supported: true
'...':
supported: true
paystubs:
hours_ytd:
supported: false
paystub_period:
start_date:
supported: true
end_date:
supported: true
'...':
supported: true
payroll_documents:
'...':
supported: true
deposit_destinations:
'...':
supported: true
shifts:
'...':
supported: true
gigs:
'...':
supported: true
vehicles:
'...':
supported: true
ratings:
'...':
supported: true
direct_deposit_switch:
card:
supported: true
max_allocations: '3'
deposit_account:
types:
- ach_deposit_account
supported: true
max_allocations: '2'
amount_allocation: false
percent_allocation: true
amount_precision: null
percent_precision: '0.01'
/v2/items:
get:
summary: List all Items
description: Returns a paginated list of all Item objects.
parameters:
- in: query
name: q
schema:
type: string
description: 'Free-text search filter. For best results, use the payroll platform
or employer''s full name.
'
- in: query
name: id
schema:
type: string
description: 'Filter by Item ID.
Multiple Item IDs can also be searched at once using either method:
1. `/v2/items?id=item_000000001,item_000000002`
2. `/v2/items?id=item_000000001&id=item_000000002`
'
- in: query
name: kind
schema:
type: string
description: Filter by `kind` value.
- in: query
name: status
schema:
type: string
description: 'Filter by `status` value.
Multiple `status` values can also be searched at once using either method:
1. `/v2/items?status=healthy,issues`
2. `/v2/items?status=healthy&status=issues`
Filtering by both `healthy` and `issues` will return all Items that currently
support new payroll connections.
'
- in: query
name: mapping_status
schema:
type: string
description: 'Filter by `mapping_status` value.
Multiple `mapping_status` values can also be searched at once using either
method:
1. `/v2/items?mapping_status=verified,mapped`
2. `/v2/items?mapping_status=verified&mapping_status=mapped`
'
- in: query
name: min_matching_score
schema:
type: number
description: 'Only returns items with a [matching_score](/api-reference/items#object-matching_score)
greater than or equal to this value.
`min_matching_score` should be used together with the `q` "free-text search"
query parameter.
'
- in: query
name: filter_set
schema:
type: string
format: uuid
description: Filter by Item filter ID.
- in: query
name: limit
schema:
type: integer
description: 'Number of Item objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.
'
- in: query
name: cursor
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
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/Item'
example:
next: https://api-sandbox.argyle.com/v2/items?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: item_000000002
name: Bullseye
kind: employer
known_limitations: null
status: unavailable
status_details: The Item is down due to scheduled maintenance but
should be back shortly.
mapping_status: verified
logo_url: argyle.com/image-holdings
is_grouping: false
matching_score: '1.00'
- id: item_000000003
name: Triple
kind: platform
known_limitations: null
status: healthy
status_details: null
mapping_status: mapped
logo_url: argyle.com/image-holdings
is_grouping: false
matching_score: '0.63'
/v2/item-migrations:
post:
summary: Migrate a Link item ID
description: 'Returns the Item ID''s that correspond to a provided list of Link
item ID''s.
- Link item ID''s were used in Link 4 initializations.
- Item ID''s are used in [Link 5 initializations](/link/initialization).
Item ID''s use the convention: "item_[9 digits]" - `"item_123456789"` for
example.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
link_items:
type: array
description: Array of Link item ID's.
items:
type: string
required:
- link_items
example:
link_items:
- GigAndGo
- GigDrive
- GigAntic
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
description: 'Object keyed by Link item ID''s.
Each key maps to an object containing the corresponding Item ID.
'
example:
GigAndGo:
id: item_000000003
GigDrive:
id: item_000000042
GigAntic:
id: item_000000819
/v2/open-banking/connect:
post:
summary: Create a Connect URL
description: Creates a new Connect URL for the specified user.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user:
type: string
format: uuid
description: ID of the user object.
webhook:
type: string
format: uri
description: Webhook URL to receive Connect Events.
webhook_data:
type: object
description: Optional data added to Connect Events webhook payloads.
experience:
type: string
description: 'Experience ID that customizes the bank connection
experience.
If an `experience` value is not provided, a default experience
configured by the Argyle team will be applied.
'
single_use_url:
type: boolean
description: If true, the Connect URL expires after the session
completes.
redirect_url:
type: string
format: uri
description: Redirect users after they complete the session.
required:
- user
- webhook
example:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
webhook: https://your-webhook-backend.com
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
open_banking_link:
type: string
description: Connect URL for the user.
example:
open_banking_link: https://connect_url_link.com
/v2/open-banking/reports/{type}:
post:
summary: Generate a banking report
description: Generates a new banking report and returns a report object.
parameters:
- in: path
name: type
required: true
schema:
type: string
enum:
- voa
- voi
- voai
description: The type of report to generate.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BankingReportRequest'
example:
user: 01975b3b-5ba6-3ec1-2148-f595b6d92614
webhook: https://your-webhook-backend.com
bank_accounts:
- '8057637863'
from_date: '1970-01-19T17:30:50Z'
report_custom_fields:
- label: loanID
value: '12345'
shown: true
income_stream_confidence_minimum: 50
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/BankingReport'
example:
id: cde25bb1-5cf4-4544-9df8-04212a781e1b
user: 01975b3b-5ba6-3ec1-2148-f595b6d92614
reference_id: cde25bb1-5cf4-4544-9df8-04212a781e1b
generated_at: '2025-06-10T20:39:35.000Z'
created_at: '2025-06-10T20:39:35.000Z'
type: voai
status: generating
file_url: www.argyle.com/storagename/pdf
json_url: www.argyle.com/storagename/json
accounts: []
last_synced_at: null
external_id: null
source: open-banking
metadata:
origin_report_id: 5u6fx59dnw4b
bank_accounts_requested:
- '8057637863'
from_date: '1970-01-19T17:30:50.000Z'
report_custom_fields:
- label: loanID
value: '12345'
shown: true
income_stream_confidence_minimum: 50
/v2/open-banking/bank-accounts/{bank_account_id}:
get:
summary: Retrieve a bank account
description: Retrieves a bank account.
parameters:
- in: path
name: bank_account_id
required: true
schema:
type: string
description: ID of the bank account.
- in: query
name: user
required: true
schema:
type: string
format: uuid
description: ID of the user.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/OpenBankingBankAccount'
example:
id: '8057637863'
user: 01975b3b-5ba6-3ec1-2148-f595b6d92614
account_number_display: '2203'
name: Savings
type: savings
aggregation_status_code: 0
status: active
institution: '102168'
aggregation_success_date: '2026-06-04T16:57:26.000Z'
aggregation_attempt_date: '2026-06-04T16:57:26.000Z'
created_date: '2026-06-04T16:57:17.000Z'
currency: USD
institution_login: 8029158291
display_position: 1
parent_bank_account: null
linked_account_date: '2026-06-04T16:57:22.000Z'
error_code: null
error_message: null
real_account_number_last4: '2203'
balance: 22327.3
balance_date: '2026-06-04T16:57:26.000Z'
last_updated_date: '2026-06-04T16:57:22.000Z'
market_segment: personal
last_transaction_date: '2026-06-04T16:57:23.000Z'
oldest_transaction_date: '2024-06-08T12:00:00.000Z'
/v2/open-banking/bank-accounts:
get:
summary: List all bank accounts
description: 'Returns a paginated list of the user''s bank accounts.
Each result is a bank account object with two bank connection error fields:
- `error_code` - Bank connection error code. Returned when `aggregation_status_code`
indicates an error; otherwise `null`.
- `error_message` - Bank connection error message. Returned when `aggregation_status_code`
indicates an error; otherwise `null`.
'
parameters:
- in: query
name: user
required: true
schema:
type: string
format: uuid
description: ID of the user.
- in: query
name: limit
schema:
type: integer
description: 'Number of bank account objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.'
- in: query
name: cursor
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
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:
type: object
additionalProperties: true
properties:
id:
type: string
description: ID of the bank account.
user:
type: string
format: uuid
description: ID of the user associated with the bank account.
account_number_display:
type: string
description: Display account identifier.
name:
type: string
description: Account name.
type:
type: string
description: Bank account type.
enum:
- checking
- savings
- cd
- moneyMarket
- creditCard
- lineOfCredit
- investment
- investmentTaxDeferred
- employeeStockPurchasePlan
- ira
- 401k
- roth
- 403b
- 529plan
- rollover
- ugma
- utma
- keogh
- 457plan
- 401a
- brokerageAccount
- educationSavings
- healthSavingsAccount
- pension
- profitSharingPlan
- roth401k
- sepIRA
- simpleIRA
- thriftSavingsPlan
- variableAnnuity
- cryptocurrency
- mortgage
- loan
- studentLoan
- studentLoanGroup
- studentLoanAccount
aggregation_status_code:
type: integer
description: 'Status code of the most recent aggregation
attempt.
See [Aggregation status codes](/api-reference/bank-accounts#aggregation-status-codes).
'
status:
type: string
description: Bank account status.
enum:
- pending
- active
institution:
type: string
description: ID of the financial institution.
aggregation_success_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the last successful aggregation.
aggregation_attempt_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the last aggregation attempt.
created_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
for when the bank account was created.
currency:
type: string
description: Currency code.
institution_login:
type: integer
description: ID of the institution login.
display_position:
type: integer
description: Display position of the account at the financial
institution.
parent_bank_account:
type: string
description: ID of the parent bank account.
linked_account_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
for when the account was linked.
error_code:
type: string
description: Bank connection error code.
error_message:
type: string
description: Bank connection error message.
real_account_number_last4:
type: string
description: Last four digits of the account number.
balance:
type: number
description: Account balance amount.
balance_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
for when the balance was recorded.
last_updated_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
for when the account was last updated.
market_segment:
type: string
enum:
- personal
- business
description: Indicates whether the account is personal or
business.
last_transaction_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the latest transaction.
oldest_transaction_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the oldest transaction.
example:
results:
- id: '8057637863'
user: 01975b3b-5ba6-3ec1-2148-f595b6d92614
account_number_display: '2203'
name: Savings
type: savings
aggregation_status_code: 0
status: active
institution: '102168'
aggregation_success_date: '2026-06-04T16:57:26.000Z'
aggregation_attempt_date: '2026-06-04T16:57:26.000Z'
created_date: '2026-06-04T16:57:17.000Z'
currency: USD
institution_login: 8029158291
display_position: 1
parent_bank_account: null
linked_account_date: '2026-06-04T16:57:22.000Z'
error_code: null
error_message: null
real_account_number_last4: '2203'
balance: 22327.3
balance_date: '2026-06-04T16:57:26.000Z'
last_updated_date: '2026-06-04T16:57:22.000Z'
market_segment: personal
last_transaction_date: '2026-06-04T16:57:23.000Z'
oldest_transaction_date: '2024-06-08T12:00:00.000Z'
- id: '8057637864'
user: 01975b3b-5ba6-3ec1-2148-f595b6d92614
account_number_display: '1111'
name: Checking
type: checking
aggregation_status_code: 0
status: active
institution: '102168'
aggregation_success_date: '2026-06-04T16:57:27.000Z'
aggregation_attempt_date: '2026-06-04T16:57:27.000Z'
created_date: '2026-06-04T16:57:17.000Z'
currency: USD
institution_login: 8029158291
display_position: 2
parent_bank_account: null
linked_account_date: '2026-06-04T16:57:22.000Z'
error_code: null
error_message: null
real_account_number_last4: '1111'
balance: 9357.24
balance_date: '2026-06-04T16:57:27.000Z'
last_updated_date: '2026-06-04T16:57:22.000Z'
market_segment: personal
last_transaction_date: '2026-06-04T16:57:25.000Z'
oldest_transaction_date: '2024-06-08T12:00:00.000Z'
next: https://api-sandbox.argyle.com/v2/open-banking/bank-accounts?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
/v2/open-banking/institutions/{institution_id}:
get:
summary: Retrieve an institution
description: Retrieves a financial institution.
parameters:
- in: path
name: institution_id
required: true
schema:
type: string
description: ID of the financial institution.
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
example:
id: 10
name: Discover Card (All Account Types)
trans_agg: true
ach: true
state_agg: true
voi: true
voa: true
aha: false
avail_balance: true
account_owner: true
student_loan_data: false
loan_payment_details: false
account_type_description: Credit Cards/Accounts
phone: 1-800-DISCOVER
url_home_app: www.discovercard.com
url_logon_app: https://www.discover.com/login/
oauth_enabled: false
url_forgot_password: https://bank.discover.com/bankac/loginreg/loadloginassist?Aff=Bank
url_online_registration: ''
special_text: Please enter your Discover Card personalized User ID
and Password required to login.
time_zone: null
special_instructions: []
special_instutions_title: null
address:
city: Wilmington
state: DE
country: USA
postal_code: '19886'
address_line1: ''
address_line2: ''
currency: USD
email: https://customerservice.novusnet.com/EMS/html/usemsform.html
status: online
new_institution: 0
branding:
logo: https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/10/logo.svg
alternate_logo: https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/10/alternateLogo.svg
icon: https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/10/icon.svg
primary_color: '#115892'
tile: https://prod-carpintero-branding.s3.us-west-2.amazonaws.com/10/tile.svg
oauth_institution: 0
class: creditCards
/v2/open-banking/institutions:
get:
summary: List all institutions
description: Returns a paginated list of supported financial institutions.
parameters:
- in: query
name: search
required: false
schema:
type: string
description: Search term (financial institution name).
- in: query
name: type
required: false
schema:
type: string
enum:
- voa
- voi
description: 'Report type eligibility.
Possible values:
- `voa` - Verification of Assets
- `voi` - Verification of Income
If `voa` is `true` but `voi` is `false`, VOAI reports contain only asset
data.
If `voi` is `true` but `voa` is `false`, VOAI reports contain only income
data.
'
- in: query
name: limit
required: false
schema:
type: integer
description: Number of institutions per page.
- in: query
name: start
required: false
schema:
type: integer
description: Index of page results to return.
- in: query
name: cursor
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
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:
type: object
example:
found: 8263
displaying: 25
more_available: true
requested_date: '2025-06-10T17:39:43.000Z'
institutions:
- id: 10
rssd: 0
name: Discover Card (All Account Types)
trans_agg: true
ach: true
state_agg: true
voi: true
voa: true
aha: false
avail_balance: true
account_owner: true
student_loan_data: false
loan_payment_details: false
child_institutions: []
- id: 12
rssd: 0
name: E*TRADE
trans_agg: true
ach: true
state_agg: false
voi: true
voa: true
aha: false
avail_balance: true
account_owner: true
student_loan_data: false
loan_payment_details: false
child_institutions: []
- id: 18
rssd: 0
name: SouthTrust
trans_agg: true
ach: false
state_agg: false
voi: true
voa: true
aha: false
avail_balance: false
account_owner: true
student_loan_data: false
loan_payment_details: false
child_institutions: []
- id: 23
rssd: 0
name: Merrill Lynch
trans_agg: true
ach: false
state_agg: true
voi: true
voa: true
aha: false
avail_balance: false
account_owner: true
student_loan_data: false
loan_payment_details: false
child_institutions: []
/v2/payroll-documents/{id}:
get:
summary: Retrieve a payroll document
description: Retrieves a payroll document object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the payroll document object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PayrollDocument'
example:
id: 0183b2c1-02e5-a5e5-38f2-ecd51a5cf3d6
account: 0187c66e-e7e5-811c-b006-2232f00f426a
document_number: ced46eb3-7586-3cd7-2418-8eb9482bc3ec
available_date: '2019-03-14T17:46:25Z'
expiration_date: '2027-03-12T17:46:25Z'
employer: GigAndGo
employment: 42d6531c-520a-26b9-35c3-b7137a6d205a
document_type: drivers-licence
document_type_description: Driver's license
file_url: api.argyle.com/v2/payroll-documents/{id}/file
created_at: '2023-03-13T17:46:28.240Z'
updated_at: '2023-03-13T17:46:28.240Z'
ocr_data: {}
metadata: {}
/v2/payroll-documents:
get:
summary: List all payroll documents
description: Returns a paginated list of all payroll document objects.
parameters:
- in: query
name: account
schema:
type: string
format: uuid
description: Filter by account ID.
- in: query
name: user
schema:
type: string
format: uuid
description: Filter by user ID.
- in: query
name: employment
schema:
type: string
format: uuid
description: Filter by employment ID.
- in: query
name: from_available_date
schema:
type: string
format: date-time
description: 'Filter for payroll documents with an `available_date` on or
after this timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)).
'
- in: query
name: to_available_date
schema:
type: string
format: date-time
description: 'Filter for payroll documents with an `available_date` on or
before this timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)).
'
- in: query
name: limit
schema:
type: integer
description: 'Number of payroll document objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.
'
- in: query
name: cursor
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
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/PayrollDocument'
example:
next: https://api-sandbox.argyle.com/v2/payroll-documents?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0186dc02-05b6-b83f-c366-b39a267e1570
account: 0185a8b8-60eb-80ca-7482-5f24504573f7
document_number: null
available_date: '2020-05-13T17:25:59Z'
expiration_date: null
employer: Whole Goods
employment: 0186a27d-e5c6-735a-a359-6315b34d544c
document_type: payout-statement
document_type_description: null
file_url: api.argyle.com/v2/payroll-documents/{id}/file
created_at: '2023-03-13T17:27:01.501Z'
updated_at: '2023-03-13T17:27:01.501Z'
ocr_data: {}
metadata: {}
- id: 0176dc14-bb37-402a-7be1-f5261759fae7
account: 0187c66e-e7e5-811c-b006-2232f00f426a
document_number: ced46eb3-7586-3cd7-2418-8eb9482bc3ec
available_date: '2019-03-14T17:46:25Z'
expiration_date: '2027-03-12T17:46:25Z'
employer: GigAndGo
employment: 42d6531c-520a-26b9-35c3-b7137a6d205a
document_type: drivers-licence
document_type_description: Driver's license
file_url: api.argyle.com/v2/payroll-documents/{id}/file
created_at: '2023-03-13T17:46:28.240Z'
updated_at: '2023-03-13T17:46:28.240Z'
ocr_data: {}
metadata: {}
/v2/paystubs/{id}:
get:
summary: Retrieve a paystub
description: Retrieves a paystub object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: 'ID of the paystub object to be retrieved.
'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Paystub'
/v2/paystubs:
get:
summary: List all paystubs
description: Returns a paginated list of all paystub objects.
parameters:
- in: query
name: account
schema:
type: string
format: uuid
description: Filter by account ID.
- in: query
name: user
schema:
type: string
format: uuid
description: Filter by user ID.
- in: query
name: employment
schema:
type: string
format: uuid
description: Filter by employment ID.
- in: query
name: from_start_date
schema:
type: string
format: date-time
description: 'Filter for paystubs with a `paystub_date` on or after this timestamp
([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)).
'
- in: query
name: to_start_date
schema:
type: string
format: date-time
description: 'Filter for paystubs with a `paystub_date` on or before this
timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)).
'
- in: query
name: limit
schema:
type: integer
description: 'Number of paystubs objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.
'
- in: query
name: cursor
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
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/Paystub'
/v2/ratings/{id}:
get:
summary: Retrieve a rating
description: Retrieves a rating object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the rating object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Rating'
example:
id: 0176a5bd-6ed4-1a21-8661-32bc3546e6de
account: 0187c66e-e7e5-811c-b006-2232f00f426a
rating: '4.98'
acceptance_rate: '0.91'
ontime_rate: '0.94'
achievements:
- count: 1
label: excellent_service
points: null
metadata: {}
badge_url: www.partner.com/badgeinfo
description: Excellent Service
- count: 1
label: great_amenities
points: null
metadata: {}
badge_url: www.partner.com/badgeinfo
description: Great Amenities
employer: GigAndGo
created_at: '2023-03-15T13:19:55.723Z'
updated_at: '2023-03-15T13:19:55.723Z'
metadata: {}
/v2/ratings:
get:
summary: List all ratings
description: Returns a paginated list of all rating objects.
parameters:
- in: query
name: account
schema:
type: string
format: uuid
description: Filter by account ID.
- in: query
name: user
schema:
type: string
format: uuid
description: Filter by user ID.
- in: query
name: limit
schema:
type: integer
description: 'Number of rating objects returned per
page. Default: 10. Maximum: 200.
'
- in: query
name: cursor
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
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/Rating'
example:
next: https://api-sandbox.argyle.com/v2/ratings?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0186b4eb-1e33-bb38-a45a-1db105b5bed0
account: 0187c66e-e7e5-811c-b006-2232f00f426a
rating: '4.14'
acceptance_rate: '0.87'
ontime_rate: '0.85'
achievements:
- count: 3
label: excellent_service
points: '300'
award: null
description: Excellent Service
metadata: {}
- count: 2
label: speed_demon
points: '200'
award: Speed Demon
description: Fast Service
metadata: {}
employer: GigAntic
created_at: '2023-03-15T11:15:20.359Z'
updated_at: '2023-03-15T11:15:20.359Z'
metadata: {}
- id: 0176a5bd-6ed4-1a21-8661-32bc3546e6de
account: 0187c66e-e7e5-811c-b006-2232f00f426a
rating: '4.98'
acceptance_rate: '0.91'
ontime_rate: '0.94'
achievements:
- count: 3
label: excellent_service
points: null
metadata: {}
badge_url: www.partner.com/badgeinfo
description: Excellent Service
- count: 1
label: great_amenities
points: null
metadata: {}
badge_url: www.partner.com/badgeinfo
description: Great Amenities
employer: GigAndGo
created_at: '2023-03-15T13:19:55.723Z'
updated_at: '2023-03-15T13:19:55.723Z'
metadata: {}
/v2/receipts:
post:
summary: Generate a receipt
description: Returns a PDF listing all billable transactions associated with
the user.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user:
type: string
format: uuid
description: ID of the user.
required:
- user
example:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
responses:
'200':
description: ''
headers:
Content-Type:
description: Content type of response payload.
schema:
type: string
example: application/pdf
Content-Disposition:
description: Response disposition with receipt filename.
schema:
type: string
example: attachment; filename="receipt.pdf"
Content-Length:
description: Size of response payload in bytes.
schema:
type: integer
example: 12345
content:
application/pdf:
schema:
type: string
format: binary
examples:
default:
value: '200 OK
Content-Type: application/pdf
Content-Disposition: attachment; filename="receipt.pdf"
Content-Length: 12345
[PDF binary stream omitted]
'
/v2/reports/{type}:
post:
summary: Generate a report
description: 'Generates a new report and returns a report object.
There is a daily limit of 10 reports per user to prevent excessive
report generation due to accidental client-side errors.
If the daily report limit is reached, deleting a previously generated report
from the same 24 hour period will allow another report to be generated.
'
parameters:
- name: type
in: path
required: true
schema:
type: string
enum:
- voe
- voie
- voe-mortgage
- voie-mortgage
description: 'The type of report to generate.
- `voie` - Verification of Income and Employment
- `voe` - Verification of Employment
- `voie-mortgage` - Verification of Income and Employment, integrated with
Fannie Mae''s Desktop Underwriter (DU) validation service and Freddie Mac''s
asset and income modeler (AIM)
- `voe-mortgage` - Verification of Employment, integrated with Fannie Mae''s
Desktop Underwriter (DU) validation service and Freddie Mac''s asset and
income modeler (AIM)
Visit our [Day 1 Certainty and AIM guide](/integrations/d1c-aim/verifications#requesting-verification-reports)
for more information on mortgage reports.
'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user:
type: string
format: uuid
description: ID of the user.
metadata:
type: object
description: Information for internal use, structured as a JSON
object.
required:
- user
example:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Report'
example:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
reference_id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
generated_at: '2023-03-09T16:22:06.081Z'
created_at: '2023-03-09T16:22:06.081Z'
type: voie
status: generating
file_url: www.argyle.com/storagename/pdf
json_url: www.argyle.com/storagename/json
accounts:
- id: 0187c66e-e7e5-811c-b006-2232f00f426a
item: item_123456789
last_synced_at: '2023-03-09T14:08:25.069Z'
- id: 0185a8b8-60eb-80ca-7482-5f24504573f7
item: item_000000001
last_synced_at: '2023-03-01T05:10:59.558Z'
metadata: {}
last_synced_at: '2023-03-09T14:08:25.069Z'
external_id: July_Connection
/v2/reports:
get:
summary: List all reports
description: Returns a paginated list of all report objects.
parameters:
- name: user
in: query
schema:
type: string
format: uuid
description: Filter by user ID.
- name: limit
in: query
schema:
type: integer
description: 'Number of report objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.
'
- in: query
name: cursor
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
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/Report'
example:
next: https://api-sandbox.argyle.com/v2/reports?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 5b3fa756-1d76-43e1-55f6-e29fc6ae535d
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
reference_id: 5b3fa756-1d76-43e1-55f6-e29fc6ae535d
generated_at: '2023-03-01T22:45:08.916Z'
created_at: '2023-03-01T22:45:08.916Z'
type: voe
status: generated
file_url: www.argyle.com/storagename/pdf
json_url: www.argyle.com/storagename/json
last_synced_at: '2023-03-01T19:20:21.576Z'
accounts:
- id: 018e6a25-130b-3b98-a3ca-1658cb3afc26
item: item_987654321
last_synced_at: '2023-03-01T19:20:21.576363Z'
metadata: {}
external_id: null
- id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
reference_id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
generated_at: '2023-03-09T16:22:06.081Z'
created_at: '2023-03-09T16:22:06.081Z'
type: voie
status: generated
file_url: www.argyle.com/storagename/pdf
json_url: www.argyle.com/storagename/json
last_synced_at: '2023-03-09T14:08:25.069Z'
accounts:
- id: 0187c66e-e7e5-811c-b006-2232f00f426a
item: item_123456789
last_synced_at: '2023-03-09T14:08:25.069105Z'
- id: 0185a8b8-60eb-80ca-7482-5f24504573f7
item: item_000000001
last_synced_at: '2023-03-01T05:10:59.558295Z'
metadata: {}
external_id: July_Connection
/v2/reports/{id}:
get:
summary: Retrieve a report
description: Retrieves a report object.
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: ID of the report object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Report'
example:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
reference_id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
generated_at: '2023-03-09T16:22:06.081Z'
created_at: '2023-03-09T16:22:06.081Z'
type: voie
status: generated
file_url: www.argyle.com/storagename/pdf
json_url: www.argyle.com/storagename/json
last_synced_at: '2023-03-09T14:08:25.069Z'
accounts:
- id: 0187c66e-e7e5-811c-b006-2232f00f426a
item: item_123456789
last_synced_at: '2023-03-09T14:08:25.069105Z'
- id: 0185a8b8-60eb-80ca-7482-5f24504573f7
item: item_000000001
last_synced_at: '2023-03-01T05:10:59.558295Z'
metadata: {}
external_id: July_Connection
delete:
summary: Delete a report
description: 'Deletes a report object.
'
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: ID of the report object to be deleted.
responses:
'204':
description: '204 status code: No content.'
/v2/shifts/{id}:
get:
summary: Retrieve a shift
description: Retrieves a shift object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the shift object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Shift'
example:
id: 0183d245-b5c1-2a6d-5e37-1b831d765c5d
account: 0187c66e-e7e5-811c-b006-2232f00f426a
employer: Whole Goods
created_at: '2023-04-27T07:02:01.279Z'
updated_at: '2023-04-27T07:02:01.279Z'
status: completed
type: hourly
start_datetime: '2023-04-26T00:00:00Z'
end_datetime: '2023-04-26T08:00:00Z'
all_datetimes:
shift_start: '2023-04-26T00:00:00Z'
shift_end: '2023-04-26T08:00:00Z'
breaks:
- break_start: '2023-04-26T03:36:00Z'
break_end: '2023-04-26T04:24:00Z'
hours: '7.2'
timezone: America/New_York
location: 302 East N St, New York, NY 10014, US
metadata: {}
/v2/shifts:
get:
summary: List all shifts
description: Returns a paginated list of all shift objects.
parameters:
- in: query
name: account
schema:
type: string
format: uuid
description: Filter by account ID.
- in: query
name: user
schema:
type: string
format: uuid
description: Filter by user ID.
- in: query
name: from_start_datetime
schema:
type: string
format: date-time
description: Filter by shifts with a `start_datetime` on or after this timestamp
[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601).
- in: query
name: to_start_datetime
schema:
type: string
format: date-time
description: Filter by shifts with a `start_datetime` on or before this timestamp
[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601).
- in: query
name: limit
schema:
type: integer
description: 'Number of shift objects returned per
page. Default: 10. Maximum: 200.'
- in: query
name: cursor
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
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/Shift'
example:
next: https://api-sandbox.argyle.com/v2/shifts?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0183c13c-5d3d-2d36-4d6d-5ac7a7eb2b2d
account: 0187c66e-e7e5-811c-b006-2232f00f426a
employer: Bullseye
created_at: '2023-04-27T17:37:43.977Z'
updated_at: '2023-04-27T17:37:43.977Z'
status: completed
type: hourly
start_datetime: '2023-04-26T00:00:00Z'
end_datetime: '2023-04-26T10:00:00Z'
all_datetimes:
shift_start: '2023-04-26T00:00:00Z'
shift_end: '2023-04-26T10:00:00Z'
breaks:
- break_start: '2023-04-26T04:30:00Z'
break_end: '2023-04-26T05:30:00Z'
hours: '9.0'
timezone: America/New_York
location: 605 Far West Ave Suite 970, New York, NY 10019, US
metadata: {}
- id: 0183c5c3-2c9e-f2d1-3c7d-3ac5b73d3a5d
account: 0187c66e-e7e5-811c-b006-2232f00f426a
employer: Bullseye
created_at: '2023-04-28T17:38:43.977Z'
updated_at: '2023-04-28T17:38:43.977Z'
status: scheduled
type: hourly
start_datetime: '2023-04-29T00:00:00Z'
end_datetime: '2023-04-29T10:00:00Z'
all_datetimes:
shift_start: '2023-04-29T00:00:00Z'
shift_end: '2023-04-29T10:00:00Z'
breaks: []
hours: '10.0'
timezone: America/New_York
location: 605 Far West Ave Suite 970, New York, NY 10019, US
metadata: {}
/v2/user-forms/{id}:
get:
summary: Retrieve a user form
description: Retrieves a user form object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the user form object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/UserForm'
example:
id: 0186ef31-4a6c-bc77-ffb7-a9db11505d7d
account: 0182c1e2-59ec-16ba-34e2-4f20594a7df7
data:
income_source: Block & Fish Tackle
payroll_provider: Payroll Corp.
created_at: '2023-03-17T10:50:30.414265Z'
updated_at: '2023-03-17T10:50:31.621908Z'
/v2/user-forms:
get:
summary: List all user forms
description: Returns a paginated list of all user form objects.
parameters:
- in: query
name: account
schema:
type: string
format: uuid
required: false
description: Filter by account ID.
- in: query
name: user
schema:
type: string
format: uuid
required: false
description: Filter by user ID.
- in: query
name: limit
schema:
type: integer
required: false
description: 'Number of user form objects returned per
page. Default: 10. Maximum: 200.
'
- in: query
name: cursor
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
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/UserForm'
example:
next: https://api-sandbox.argyle.com/v2/user-forms?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0186ef31-4a6c-bc77-ffb7-a9db11505d7d
account: 0182c1e2-59ec-16ba-34e2-4f20594a7df7
data:
income_source: Block & Fish Tackle
payroll_provider: Payroll Corp.
created_at: '2023-03-17T10:50:30.414265Z'
updated_at: '2023-03-17T10:50:31.621908Z'
- id: 0187bf23-cd80-118d-c0b8-58023e21c8e5
account: 01856c65-43b6-8b5d-b32a-56b8fbda5c28
data:
income_source: Spanner & Gear Innovations
payroll_provider: Payroll Corp.
created_at: '2023-03-17T10:40:00.672839Z'
updated_at: '2023-03-17T10:45:20.035736Z'
/v2/user-tokens:
post:
summary: Create a user token
description: 'Creates a new user token from the `id` of an existing user for
direct embedded Link initializations.
[Creating a new user](/api-reference/users#create) will also return a user
token in the response.
'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserTokenRequest'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/CreateUserTokenResponse'
example:
user_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWQiOiIxNDRhMTRkNJ04YzEzLTQzZGYtOTI4Ni01OWY4NjFkOWEyMDIiLCJleHAiOjE2NzgzOTUwMTEsImZpZCI6ImMyNzFhODRlLWM2MjQtNDNkYS05OGMyLTQzODZkNTk1OWQ4YiIsImlhdCI6MTY3ODM5MTQxMSwiaXNzIjoiYXJneWxlLWNvcmUtYXV0aC1kZXYiLCJqdGkiOiI4ZTk1MTBmNC00YzVlLTRlOTAtOTIyNy1kNjg2MTk3MmMxOTAiLCJzdWIiOiIwMTg2YzRiOC04ZmExLTYyYjMtNDlkZi05NGIzZTE4Y2E4YTciLCJ1c2VyX2lkIjoiMDE4NmM0YjgtOGZhMS02MmIzLTQ5ZGYtOTRiM2UxOGNhOGE3In0.oLrxtzfNHG1RZ85Z4q7VUiv2-kufXmMINJFHeRIjvWo
/v2/user-uploads/{id}:
get:
summary: Retrieve a user upload
description: Retrieves a user upload object.
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: ID of the user upload object to be retrieved.
responses:
'200':
description: A user upload object.
content:
application/json:
schema:
$ref: '#/components/schemas/UserUpload'
example:
id: 01320596-2c3d-189c-53e7-a8ce6d625b33
account: 01856c65-43b6-8b5d-b32a-56b8fbda5c28
document_type: paystubs
file_url: www.argyle.com/storagename
file_name: most_recent_paystub.pdf
metadata:
employment: {}
ocr_data: {}
ocr_authenticity: {}
ocr_authenticity_score: null
processing:
classification: unauthorized
ocr: unauthorized
authenticity: unauthorized
created_at: '2024-07-08T13:43:49.864Z'
updated_at: '2024-07-08T13:43:51.868Z'
/v2/user-uploads:
post:
summary: Upload a document
description: Upload a document via the API.
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- user
- document_type
- upload
properties:
user:
type: string
format: uuid
description: ID of the user object.
document_type:
type: string
enum:
- paystubs
- W-2
- 1099
- proof-of-identity
- proof-of-address
- miscellaneous
description: The type of document.
upload:
type: string
format: binary
description: 'Link to the document to be uploaded.
Max of 1 document per POST request.
'
responses:
'200':
$ref: '#/components/responses/UserUploadResponse'
get:
summary: List all user uploads
description: Returns a paginated list of all user upload objects.
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/UserId'
- $ref: '#/components/parameters/DocumentType'
- $ref: '#/components/parameters/Limit'
- in: query
name: cursor
schema:
type: string
description: The URL returned in `next` or `previous` used to retrieve another
[page](/api-guide/overview#pagination) of results.
responses:
'200':
$ref: '#/components/responses/UserUploadListResponse'
/v2/users:
post:
summary: Create a user
description: Creates a new user object. Includes a new [user token](/link/user-tokens)
in the response.
requestBody:
content:
application/json:
example: {}
schema:
type: object
properties:
first_name:
type: string
description: Pre-fill Link's login screen with this first name.
last_name:
type: string
description: Pre-fill Link's login screen with this last name.
email:
type: string
description: "Pre-fill Link's login screen with this email.\n\n\
Invalid email addresses will cause the request to fail.\nWe recommend\
\ client-side validation and retrying the request without the\
\ invalid email if you receive:\n```json\n{\n \"email\": [\n\
\ \"Enter a valid email address.\"\n ]\n}\n```\n"
phone_number:
type: string
description: "Pre-fill Link's login screen with this phone number.\n\
E.164 international format recommended.\n\nInvalid phone numbers\
\ will cause the request to fail.\nWe recommend client-side validation\
\ and retrying the request without the invalid phone number if\
\ you receive:\n```json\n{\n \"phone_number\": [\n \"Enter\
\ a valid phone number.\"\n ]\n}\n```\n"
ssn:
type: string
description: Social Security number.
address:
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
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
description: Zip code, or equivalent.
birth_date:
type: object
description: Date of birth of the user.
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).
external_metadata:
type: object
description: Any valid JSON.
open_banking:
type: object
description: Can be optionally included when ordering [banking verifications](/api-reference/verifications-guide).
properties:
end_user:
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.
Must be 10 or 11 digits (with or without hyphens).
'
external_id:
type: string
description: Any string. Maximum 100 characters.
responses:
'200':
description: ''
content:
application/json:
example:
user_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWQiOiIxNDRhMTRkNS04YzEzLTQzZGYtOTI4Ni01OWY4NjFkOWEyMDIiLCJleHAiOjE2NzgzNDExNDMsImZpZCI6ImIyYzY4YzUwLTc2MTQtNDAwNy1iMzNmLWZiMzlkMDFmMmM3MCIsImlhdCI6MTY3ODMzNzU0MywiaXNzIjoiYXJneWxlLWNvcmUtYXV0aC1kZXYiLCJqdGkiOiI3ZTU0ZTY1NS05YWN2LTRiZDctOWI3OC0xODMxMjVkYjM1MzMiLCJzdWIiOiIwMTg2YzRiNi04ZTgyLWQ5OWMtOGY4Mi1mNjMyMjgxMzk2ZTQiLCJ1c2VyX2lkIjoiMDE4NmM0YjYtOGU4Mi1kOTljLThmODItZjYzMjI4MTM5NmU0In0.q5bkZTFAohISOcjJDb2wSzKcHmwrOM4pp9imOVybaWk
id: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
schema:
type: object
properties:
user_token:
type: string
description: Token associated with the created user.
id:
type: string
format: uuid
description: Unique ID of the user.
get:
summary: List all users
description: Returns a paginated list of all user objects.
parameters:
- in: query
name: limit
schema:
type: integer
description: 'Number of user objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.
'
- in: query
name: external_id
schema:
type: string
description: Filter users by `external_id`. Exact matches only.
- in: query
name: cursor
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
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/User'
example:
next: https://api-sandbox.argyle.com/v2/users?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-01-30T22:25:38.971Z'
items_connected:
- item_123456789
- item_987654321
employers_connected:
- Whole Goods
- Bullseye
external_metadata:
notes: In stage 3 of loan approval.
category: Summer Initiative
external_id: July Connection
first_name: Sarah
last_name: Longfield
email: sarah@email.com
phone_number: '+12125555555'
ssn: null
address:
city: null
line1: null
line2: null
state: null
country: null
postal_code: null
birth_date:
year: null
month: null
day: null
- id: 0186c5b8-8fa1-67b3-39af-14b3e18da8a7
created_at: '2023-01-30T23:25:38.971Z'
items_connected:
- item_000000001
- item_000000002
employers_connected:
- Half Bads
- Triple
external_metadata:
notes: In stage 1 of loan approval.
category: Summer Initiative
external_id: August Connection
first_name: null
last_name: null
email: null
phone_number: null
ssn: null
address:
city: null
line1: null
line2: null
state: null
country: null
postal_code: null
birth_date:
year: null
month: null
day: null
/v2/users/{id}:
get:
summary: Retrieve a user
description: Retrieves a user object.
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: ID of the user object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
patch:
summary: Update a user
description: Updates a user object.
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: ID of the user object to be updated.
requestBody:
content:
application/json:
schema:
type: object
properties:
first_name:
type: string
description: Pre-fill Link's login screen with this first name.
last_name:
type: string
description: Pre-fill Link's login screen with this last name.
email:
type: string
description: 'Pre-fill Link''s login screen with this email.
Invalid email addresses will cause the request to fail.
'
phone_number:
type: string
description: 'Pre-fill Link''s login screen with this phone number.
[E.164](https://en.wikipedia.org/wiki/E.164) international format
recommended.
Invalid phone numbers will cause the request to fail.
'
ssn:
type: string
description: Social Security number.
address:
type: object
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
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](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
format).
postal_code:
type: string
description: Zip code, or equivalent.
birth_date:
type: object
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).
external_metadata:
type: object
description: 'Any valid JSON.
Must be an object `{}` when used for [banking reports](/api-reference/banking-overview#create-an-argyle-user).
'
open_banking:
type: object
description: Only relevant to [banking reports](/api-reference/banking-overview#create-an-argyle-user).
properties:
end_user:
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.
Must be 10 or 11 digits (with or without hyphens).
'
external_id:
type: string
description: Any string. Maximum 100 characters.
example:
first_name: Sarah
last_name: Longfield
email: sarah@email.com
phone_number: '+12125555555'
external_metadata:
notes: Moved to stage 2 of loan approval.
category: Summer Initiative
external_id: July_Connection
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/User'
delete:
summary: Delete a user
description: 'Deletes a user object.
Deleting a user object will also delete all accounts and resources
associated with the user.
'
parameters:
- in: path
name: id
required: true
schema:
type: string
format: uuid
description: ID of the user object to be deleted.
responses:
'204':
description: '204 status code: No content.'
/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: &id001
number: '1234'
borrower_id: ABC789
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing: &id002
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: *id001
billing: *id002
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: *id001
billing: *id002
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: *id001
billing: *id002
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: *id001
billing: *id002
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: *id001
billing: *id002
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: *id001
billing: *id002
banking:
summary: Example Request (Banking)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
report:
type: voa
configuration:
from_date: '2025-01-01T00:00:00Z'
loan: *id001
billing: *id002
documents:
summary: Example Request (Documents)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
report:
type: doc-voi-mortgage
loan: *id001
billing: *id002
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: *id001
billing: *id002
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: *id001
billing: *id002
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: *id001
billing: *id002
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
/partners/v2/users:
post:
summary: Create a user
description: Creates a new user object for partner verification workflows.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerUserCreateRequest'
example:
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
first_name: Jane
last_name: Doe
ssn: 000-00-0000
email: jane@example.com
phone_number: '+15555555555'
address:
city: New York
line1: 123 Main St
line2: null
state: NY
country: US
postal_code: null
birth_date:
year: 1990
month: 1
day: 13
external_id: null
external_metadata:
suppress_verification: true
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerCreateUserResponse'
example:
user_token:
id: 7a614711-066f-4b6b-b319-4c6236b5acc1
/partners/v2/users/{id}:
patch:
summary: Update a user
description: Updates a user object.
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
description: ID of the user object to be updated.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerUserUpdateRequest'
example:
email: jane@example.com
phone_number: '+15555555555'
external_id: ABC
external_metadata:
suppress_verification: true
additional_id: '123'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerUser'
example:
id: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at: '2023-03-09T04:54:35.170468Z'
items_connected:
- item_123456789
- item_987654321
employers_connected:
- Whole Goods
- Bullseye
first_name: Jane
last_name: Doe
ssn: 000-00-0000
email: jane@example.com
phone_number: '+15555555555'
address:
city: New York
line1: 123 Main St
line2: null
state: NY
country: US
postal_code: null
birth_date:
year: 1990
month: 1
day: 13
external_metadata:
suppress_verification: true
additional_id: '123'
external_id: ABC
/partners/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/PartnerSessionCreateRequest'
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/PartnerSession'
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
/partners/v2/verifications:
post:
summary: Order a verification
description: 'Orders a new verification.
[Create a user](/api-reference/partners-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/PartnerVerificationCreateRequest'
examples:
payroll:
summary: Example Request (Payroll)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
report:
type: voie
loan: &id003
number: '1234'
borrower_id: ABC789
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing: &id004
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: *id003
billing: *id004
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: *id003
billing: *id004
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerVerification'
examples:
payroll:
summary: Example Response (Payroll)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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: *id003
billing: *id004
data_source: payroll
banking:
summary: Example Response (Banking)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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: *id003
billing: *id004
data_source: banking
documents:
summary: Example Response (Documents)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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: *id003
billing: *id004
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/PartnerVerification'
example:
next: https://api-sandbox.argyle.com/partners/v2/verifications?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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
/partners/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/PartnerVerificationRefreshRequest'
examples:
payroll:
summary: Example Request (Payroll)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
report:
type: voie
loan: *id003
billing: *id004
banking:
summary: Example Request (Banking)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
report:
type: voa
configuration:
from_date: '2025-01-01T00:00:00Z'
loan: *id003
billing: *id004
documents:
summary: Example Request (Documents)
value:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
report:
type: doc-voi-mortgage
loan: *id003
billing: *id004
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerVerification'
examples:
payroll:
summary: Example Response (Payroll)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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: *id003
billing: *id004
data_source: payroll
banking:
summary: Example Response (Banking)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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: *id003
billing: *id004
data_source: banking
documents:
summary: Example Response (Documents)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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: *id003
billing: *id004
data_source: documents
/partners/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/PartnerVerification'
example:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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/PartnerVerificationUpdateRequest'
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/PartnerVerification'
examples:
payroll:
summary: Example Response (Payroll)
value:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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
/partners/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/PartnerVerification'
example:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
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
/partners/v2/webhooks:
post:
summary: Create webhook subscription
description: 'Creates a partner webhook subscription for `verifications.updated`
or `verifications.creation_failed`.
For `verifications.updated`, set `config.include_resource = true` to include
the full verification object in `data.resource`.'
tags:
- Webhooks
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerWebhookSubscriptionRequest'
example:
events:
- verifications.updated
name: name-for-the-webhook-subscription
url: https://your-webhook-backend.com
secret: optional-secret
config:
include_resource: true
responses:
'200':
description: ''
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/PartnerVerificationWebhookMessage'
- $ref: '#/components/schemas/PartnerVerificationCreationFailedWebhookMessage'
examples:
verifications_updated:
summary: Example Webhook Update
value:
event: verifications.updated
name: name-for-the-webhook-subscription
data:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
verification: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
resource:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
created_at: '2023-03-09T16:22:06.081Z'
updated_at: '2023-03-09T16:22:06.081Z'
channel: api
status:
state: COMPLETED
code: completed
errors: []
report:
id: 2a14ce6f-3aed-4c15-8ea2-92a17b6edb95
type: doc-voi-mortgage
file_url: www.argyle.com/storagename/pdf
json_url: www.argyle.com/storagename/json
employments:
- employer: Starbucks
status: active
hire_date: '2015-08-28'
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
verifications_creation_failed:
summary: Example Webhook Delivery
value:
event: verifications.creation_failed
name: name-for-the-webhook-subscription
data:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
context:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
attempted_at: '2023-03-09T16:22:06.081Z'
channel: encompass
data_source: banking
report_type: voa
loan:
number: '1234'
borrower_id: ABC789
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing:
cost_center: '5'
/partners/v2/user-uploads:
post:
summary: Upload a document
description: Upload a document via the API.
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- user
- document_type
- upload
properties:
user:
type: string
format: uuid
description: ID of the user object.
document_type:
type: string
enum:
- paystubs
- W-2
- 1099
- proof-of-identity
- proof-of-address
- miscellaneous
description: The type of document.
upload:
type: string
format: binary
description: 'Link to the document to be uploaded.
Max of 1 document per POST request.
'
responses:
'200':
$ref: '#/components/responses/PartnerUserUploadResponse'
/partners/v2/accounts/{id}:
get:
summary: Retrieve an account
description: Retrieves an account object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the account object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
example:
id: 0187c66e-e7e5-811c-b006-2232f00f426a
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
employers:
- Whole Goods
item: item_123456789
source: thepayrollcompany
created_at: '2023-01-30T12:53:22.561Z'
updated_at: '2023-01-30T12:55:04.478Z'
scanned_at: '2023-01-30T12:55:04.016Z'
connection:
status: connected
error_code: null
error_message: null
updated_at: '2023-01-30T12:53:25.561Z'
direct_deposit_switch:
status: success
error_code: null
error_message: null
updated_at: '2023-01-30T12:55:03.478Z'
availability:
shifts:
status: synced
updated_at: '2023-01-30T12:55:03Z'
available_count: 94
available_from: '2020-04-11T12:53:27Z'
available_to: '2023-01-25T00:00:00Z'
gigs:
status: synced
updated_at: '2023-01-30T12:55:03Z'
available_count: 217
available_from: '2020-04-11T12:53:27Z'
available_to: '2023-01-25T00:00:00Z'
paystubs:
status: synced
updated_at: '2023-01-30T12:55:03Z'
available_count: 68
available_from: '2020-05-11T12:53:27Z'
available_to: '2023-01-29T23:59:59Z'
payroll_documents:
status: synced
updated_at: '2023-01-30T12:53:44.308912Z'
identities:
status: synced
updated_at: '2023-01-30T12:53:44.028552Z'
ratings:
status: synced
updated_at: '2023-01-30T12:55:03.359356Z'
vehicles:
status: synced
updated_at: '2023-01-30T12:53:44.321951Z'
deposit_destinations:
status: synced
updated_at: '2023-01-30T12:53:42.586391Z'
user_forms:
status: in_progress
updated_at: '2023-01-30T12:53:42.586391Z'
available_count: 0
files_count: 1
in_progress_count: 1
user_uploads:
status: synced
updated_at: '2023-01-30T12:54:41.621Z'
files_count: 2
in_progress_count: 0
ongoing_refresh:
status: enabled
/partners/v2/accounts:
get:
summary: List all accounts
description: Returns a paginated list of all account objects.
parameters:
- in: query
name: user
required: true
schema:
type: string
format: uuid
description: Filter by user ID.
- in: query
name: item
schema:
type: string
format: uuid
description: Filter by Item ID.
- in: query
name: ongoing_refresh_status
schema:
type: string
enum:
- enabled
- disabled
- idle
description: Filter by `status` of the `ongoing_refresh` object.
- in: query
name: limit
schema:
type: integer
description: 'Number of account objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.'
- in: query
name: cursor
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
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/Account'
example:
next: https://api-sandbox.argyle.com/partners/v2/accounts?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0185a8b8-60eb-80ca-7482-5f24504573f7
user: 0186c5b8-8fa1-67b3-39af-14b3e18da8a7
employers:
- Half Bads
item: item_000000001
source: payrollcorp
created_at: '2023-01-30T18:25:13.491Z'
updated_at: '2023-01-30T18:46:44.034Z'
scanned_at: '2023-01-30T18:46:43.446Z'
connection:
status: connected
error_code: null
error_message: null
updated_at: '2023-01-30T18:25:30.334956Z'
direct_deposit_switch:
status: error
error_code: confirmation_timeout
error_message: This user did not finish confirming the direct
deposit switch.
updated_at: '2023-01-30T18:35:31.961Z'
availability:
shifts:
status: synced
updated_at: '2023-01-30T18:46:43Z'
available_count: 132
available_from: '2020-03-03T18:25:30Z'
available_to: '2023-01-28T00:00:00Z'
gigs:
status: synced
updated_at: '2023-01-30T18:46:43Z'
available_count: 242
available_from: '2020-03-03T18:25:30Z'
available_to: '2023-01-28T00:00:00Z'
paystubs:
status: synced
updated_at: '2023-01-30T18:46:43Z'
available_count: 40
available_from: '2020-03-03T18:25:30Z'
available_to: '2023-01-02T00:00:00Z'
payroll_documents:
status: synced
updated_at: '2023-01-30T18:45:35.228Z'
identities:
status: synced
updated_at: '2023-01-30T18:45:34.960Z'
ratings:
status: synced
updated_at: '2023-01-30T18:45:35.235Z'
vehicles:
status: synced
updated_at: '2023-01-30T18:45:35.237Z'
deposit_destinations:
status: synced
updated_at: '2023-01-30T18:25:31.438Z'
user_forms: null
user_uploads: null
ongoing_refresh:
status: enabled
- id: 01856c65-43b6-8b5d-b32a-56b8fbda5c28
user: 0186c5b8-8fa1-67b3-39af-14b3e18da8a7
employers: []
item: item_000012271
source: doc_upload_item
created_at: '2023-01-30T15:15:53.176Z'
updated_at: '2023-01-30T15:16:12.042Z'
scanned_at: null
connection:
status: connecting
error_code: null
error_message: null
updated_at: '2023-01-30T15:16:14.695Z'
direct_deposit_switch:
status: idle
error_code: null
error_message: null
updated_at: '2023-01-30T15:16:11.703Z'
availability:
shifts: null
gigs: null
paystubs: null
payroll_documents: null
identities: null
ratings: null
vehicles: null
deposit_destinations: null
user_forms:
status: synced
updated_at: '2023-01-30T15:16:12.012Z'
available_count: 1
files_count: 3
in_progress_count: 0
user_uploads: null
ongoing_refresh:
status: idle
/partners/v2/payroll-documents/{id}:
get:
summary: Retrieve a payroll document
description: Retrieves a payroll document object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: ID of the payroll document object to be retrieved.
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PayrollDocument'
example:
id: 0183b2c1-02e5-a5e5-38f2-ecd51a5cf3d6
account: 0187c66e-e7e5-811c-b006-2232f00f426a
document_number: ced46eb3-7586-3cd7-2418-8eb9482bc3ec
available_date: '2019-03-14T17:46:25Z'
expiration_date: '2027-03-12T17:46:25Z'
employer: GigAndGo
employment: 42d6531c-520a-26b9-35c3-b7137a6d205a
document_type: drivers-licence
document_type_description: Driver's license
file_url: api.argyle.com/partners/v2/payroll-documents/{id}/file
created_at: '2023-03-13T17:46:28.240Z'
updated_at: '2023-03-13T17:46:28.240Z'
ocr_data: {}
metadata: {}
/partners/v2/payroll-documents:
get:
summary: List all payroll documents
description: Returns a paginated list of all payroll document objects.
parameters:
- in: query
name: user
required: true
schema:
type: string
format: uuid
description: Filter by user ID.
- in: query
name: account
required: false
schema:
type: string
format: uuid
description: Filter by account ID.
- in: query
name: employment
required: false
schema:
type: string
format: uuid
description: Filter by employment ID.
- in: query
name: from_available_date
required: false
schema:
type: string
format: date-time
description: 'Filter for payroll documents with an `available_date` on or
after this timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)).
'
- in: query
name: to_available_date
required: false
schema:
type: string
format: date-time
description: 'Filter for payroll documents with an `available_date` on or
before this timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)).
'
- in: query
name: limit
required: false
schema:
type: integer
description: 'Number of payroll document objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.
'
- in: query
name: cursor
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
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/PayrollDocument'
example:
next: https://api-sandbox.argyle.com/partners/v2/payroll-documents?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0186dc02-05b6-b83f-c366-b39a267e1570
account: 0185a8b8-60eb-80ca-7482-5f24504573f7
document_number: null
available_date: '2020-05-13T17:25:59Z'
expiration_date: null
employer: Whole Goods
employment: 0186a27d-e5c6-735a-a359-6315b34d544c
document_type: payout-statement
document_type_description: null
file_url: api.argyle.com/partners/v2/payroll-documents/{id}/file
created_at: '2023-03-13T17:27:01.501Z'
updated_at: '2023-03-13T17:27:01.501Z'
ocr_data: {}
metadata: {}
- id: 0176dc14-bb37-402a-7be1-f5261759fae7
account: 0187c66e-e7e5-811c-b006-2232f00f426a
document_number: ced46eb3-7586-3cd7-2418-8eb9482bc3ec
available_date: '2019-03-14T17:46:25Z'
expiration_date: '2027-03-12T17:46:25Z'
employer: GigAndGo
employment: 42d6531c-520a-26b9-35c3-b7137a6d205a
document_type: drivers-licence
document_type_description: Driver's license
file_url: api.argyle.com/partners/v2/payroll-documents/{id}/file
created_at: '2023-03-13T17:46:28.240Z'
updated_at: '2023-03-13T17:46:28.240Z'
ocr_data: {}
metadata: {}
/partners/v2/paystubs/{id}:
get:
summary: Retrieve a paystub
description: Retrieves a paystub object.
parameters:
- in: path
name: id
schema:
type: string
format: uuid
required: true
description: 'ID of the paystub object to be retrieved.
'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerPaystub'
/partners/v2/paystubs:
get:
summary: List all paystubs
description: Returns a paginated list of all paystub objects.
parameters:
- in: query
name: account
required: false
schema:
type: string
format: uuid
description: Filter by account ID.
- in: query
name: user
required: false
schema:
type: string
format: uuid
description: Filter by user ID.
- in: query
name: employment
required: false
schema:
type: string
format: uuid
description: Filter by employment ID.
- in: query
name: from_start_date
required: false
schema:
type: string
format: date-time
description: 'Filter for paystubs with a `paystub_date` on or after this timestamp
([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)).
'
- in: query
name: to_start_date
required: false
schema:
type: string
format: date-time
description: 'Filter for paystubs with a `paystub_date` on or before this
timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)).
'
- in: query
name: limit
required: false
schema:
type: integer
description: 'Number of paystubs objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.
'
- in: query
name: cursor
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
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/PartnerPaystub'
/partners/v2/receipts:
post:
summary: Generate a receipt
description: Returns a PDF listing all billable transactions associated with
the user.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
user:
type: string
format: uuid
description: ID of the user.
required:
- user
example:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
responses:
'200':
description: ''
headers:
Content-Type:
description: Content type of response payload.
schema:
type: string
example: application/pdf
Content-Disposition:
description: Response disposition with receipt filename.
schema:
type: string
example: attachment; filename="receipt.pdf"
Content-Length:
description: Size of response payload in bytes.
schema:
type: integer
example: 12345
content:
application/pdf:
schema:
type: string
format: binary
examples:
default:
value: '200 OK
Content-Type: application/pdf
Content-Disposition: attachment; filename="receipt.pdf"
Content-Length: 12345
[PDF binary stream omitted]
'
/v2/vehicles/{id}:
get:
summary: Retrieve a vehicle
description: Retrieves a vehicle object.
parameters:
- name: id
in: path
description: ID of the vehicle object to be retrieved.
required: true
schema:
type: string
format: uuid
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/Vehicle'
example:
id: 01763a69-5cbe-2edb-ade1-5591157c354d
account: 0187c66e-e7e5-811c-b006-2232f00f426a
identification: AEWUQ7
make: Ford
model: Mondeo
type: car
year: 1998
vin: QUICELDKTRQJ4S33C
employer: GigAndGo
created_at: '2023-02-09T13:42:03.966Z'
updated_at: '2023-02-09T13:42:03.966Z'
metadata: {}
/v2/vehicles:
get:
summary: List all vehicles
description: Returns a paginated list of all vehicle objects.
parameters:
- name: account
in: query
description: Filter by account ID.
schema:
type: string
format: uuid
- name: user
in: query
description: Filter by user ID.
schema:
type: string
format: uuid
- name: limit
in: query
description: 'Number of vehicle objects returned [per page](/api-guide/overview#pagination).
Default: 10. Maximum: 200.
'
schema:
type: integer
- in: query
name: cursor
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
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/Vehicle'
example:
next: https://api-sandbox.argyle.com/v2/vehicles?cursor=ZXhhbXBsZV9jdXJzb3I
previous: null
results:
- id: 0176364c-c8a2-4d43-2a12-7b4146a829a9
account: 0187c66e-e7e5-811c-b006-2232f00f426a
identification: JASJ1Y
make: Ford
model: Focus
type: car
year: 2011
vin: W081C4YIZQYE55DSE
employer: GigAntic
created_at: '2023-02-09T13:28:11.427Z'
updated_at: '2023-02-09T13:32:13.215Z'
metadata:
source: gig platform
- id: 01763a69-5cbe-2edb-ade1-5591157c354d
account: 0187c66e-e7e5-811c-b006-2232f00f426a
identification: AEWUQ7
make: Ford
model: Mondeo
type: car
year: 1998
vin: QUICELDKTRQJ4S33C
employer: GigAndGo
created_at: '2023-02-09T13:42:03.966Z'
updated_at: '2023-02-09T13:42:03.966Z'
metadata: {}
components:
securitySchemes:
basicAuth:
type: http
scheme: basic
description: Username = api_key_id, Password = api_key_secret
schemas:
Account:
type: object
example:
id: 0187c66e-e7e5-811c-b006-2232f00f426a
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
employers:
- Whole Goods
item: item_123456789
source: thepayrollcompany
created_at: '2023-01-30T12:53:22.561Z'
updated_at: '2023-01-30T12:55:04.478Z'
scanned_at: '2023-01-30T12:55:04.016Z'
connection:
status: connected
error_code: null
error_message: null
updated_at: '2023-01-30T12:53:25.561Z'
direct_deposit_switch:
status: success
error_code: null
error_message: null
updated_at: '2023-01-30T12:55:03.478Z'
availability:
shifts:
status: synced
updated_at: '2023-01-30T12:55:03Z'
available_count: 94
available_from: '2020-04-11T12:53:27Z'
available_to: '2023-01-25T00:00:00Z'
gigs:
status: synced
updated_at: '2023-01-30T12:55:03Z'
available_count: 217
available_from: '2020-04-11T12:53:27Z'
available_to: '2023-01-25T00:00:00Z'
paystubs:
status: synced
updated_at: '2023-01-30T12:55:03Z'
available_count: 68
available_from: '2020-05-11T12:53:27Z'
available_to: '2023-01-29T23:59:59Z'
payroll_documents:
status: synced
updated_at: '2023-01-30T12:53:44.308Z'
identities:
status: synced
updated_at: '2023-01-30T12:53:44.028Z'
ratings:
status: synced
updated_at: '2023-01-30T12:55:03.359Z'
vehicles:
status: synced
updated_at: '2023-01-30T12:53:44.321Z'
deposit_destinations:
status: synced
updated_at: '2023-01-30T12:53:42.586Z'
user_forms:
status: in_progress
updated_at: '2023-01-30T12:53:42.586Z'
available_count: 0
files_count: 1
in_progress_count: 1
user_uploads:
status: synced
updated_at: '2023-01-30T12:54:41.621Z'
files_count: 2
in_progress_count: 0
ongoing_refresh:
status: enabled
properties:
id:
type: string
format: uuid
description: Unique ID of the connected payroll account.
user:
type: string
format: uuid
description: ID of the user that connected the account.
employers:
type: array
items:
type: string
description: 'Employers associated with the account.
A single employer is usually returned per account. Exceptions can occur
when an LLC and Co. version of the same employer is returned.
'
item:
type: string
description: ID of the Item in Link through which the account was connected.
source:
type: string
description: Payroll data source. Typically a third-party payroll system
unless the employer uses an in-house system.
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the user connected the account.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the account was last updated. An update occurs every time an account
is scanned for new data, and when any values of the account object change
(such as an updated connection status).
scanned_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the account was last scanned for new data. A `null` value indicates
the account was never connected.
connection:
type: object
description: Object containing information about the account's connection
status.
properties:
status:
type: string
enum:
- connecting
- connected
- error
description: 'Status of Argyle''s connection with the user''s payroll
system.
- `connecting` — The user submitted new or revised login credentials
through Link and Argyle is establishing the connection.
- `connected` — An account connection was successfully made. See the
`availability` object for updates on initial data retrieval.
- `error` — An [account connection error](/api-reference/account-connection-errors)
has occurred. Data refreshes have been paused.
'
error_code:
type: string
enum:
- account_disabled
- account_inaccessible
- account_incomplete
- account_nonunique
- account_not_found
- all_employers_connected
- auth_method_temporarily_unavailable
- auth_required
- connection_unavailable
- credentials_managed_by_organization
- existing_account_found
- expired_credentials
- full_auth_required
- insufficient_account_data
- invalid_account_type
- invalid_auth
- invalid_credentials
- invalid_employer_identifier
- invalid_login_method
- invalid_login_url
- invalid_mfa
- invalid_store_identifier
- known_employer_redirect
- login_attempts_exceeded
- login_cancelled_by_the_user
- login_gov_not_linked
- mfa_attempts_exceeded
- mfa_cancelled_by_the_user
- mfa_exhausted
- mfa_not_configured
- mfa_timeout
- multi_driver_account
- ongoing_refresh_disabled
- passkey_limit_reached
- personal_data_access_not_granted
- physical_mfa_unsupported
- platform_temporarily_unavailable
- platform_unavailable
- service_unavailable
- session_limit_reached
- system_error
- temporary_credentials
- tos_required
- trial_connections_exhausted
- trial_period_expired
- unrecognized_employer_email
- unsupported_auth_type
- unsupported_business_account
- unsupported_language
- unsupported_mfa_method
- user_action_timeout
description: The [account connection error](/api-reference/account-connection-errors)
that occurred.
error_message:
type: string
description: Description of the error. Common causes and troubleshooting
steps can be found in account connection errors.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the connection status last changed.
direct_deposit_switch:
type: object
description: Object containing deposit switch status information.
properties:
status:
type: string
enum:
- idle
- awaiting_confirmation
- awaiting_user_action
- awaiting_connection
- scanning
- updating
- success
- error
description: 'Status of a deposit switch.
- `idle` — The deposit switch process has not started.
- `awaiting_confirmation` — The user started the deposit switch flow
in Link but has not clicked "Confirm".
- `awaiting_user_action` — The user has confirmed the deposit switch
but needs to complete a multi-factor authentication (MFA) step.
- `awaiting_connection` — Argyle is connecting to the user''s payroll
system.
- `scanning` — Argyle is scanning the user''s existing direct deposits
before initiating the deposit switch.
- `updating` — The deposit switch is in progress.
- `success` — The deposit switch was successful.
- `error` — A deposit switch error occurred, and the deposit switch
could not be completed.
'
error_code:
type: string
enum:
- account_invalid
- account_closed
- account_blocked
- confirmation_expired
- confirmation_invalid
- confirmation_timeout
- deposit_account_mismatch
- deposit_destination_unsupported
- employer_unsupported
- employer_account_invalid
- employer_account_closed
- employer_account_blocked
- employer_confirmation_invalid
- internal_server_error
- invalid_request
- item_invalid
- name_mismatch
- payroll_account_mismatch
- temporarily_unavailable
- terminate_flow
- unauthorized
- unexpected
- user_input_required
description: The deposit switch error that occurred.
error_message:
type: string
description: Description of the error. Common causes and troubleshooting
steps can be found in deposit switch errors.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the deposit switch status last changed.
availability:
type: object
description: Object containing information on data availability for each
of Argyle's data sets, and any user-uploaded documents or "can't find
my income" response forms.
properties:
shifts:
allOf:
- $ref: '#/components/schemas/AvailabilityItem'
nullable: true
gigs:
allOf:
- $ref: '#/components/schemas/AvailabilityItem'
nullable: true
paystubs:
allOf:
- $ref: '#/components/schemas/AvailabilityItem'
nullable: true
payroll_documents:
allOf:
- $ref: '#/components/schemas/AvailabilityItem'
nullable: true
identities:
allOf:
- $ref: '#/components/schemas/AvailabilityItem'
nullable: true
ratings:
allOf:
- $ref: '#/components/schemas/AvailabilityItem'
nullable: true
vehicles:
allOf:
- $ref: '#/components/schemas/AvailabilityItem'
nullable: true
deposit_destinations:
allOf:
- $ref: '#/components/schemas/AvailabilityItem'
nullable: true
user_forms:
allOf:
- $ref: '#/components/schemas/AvailabilityItem'
nullable: true
user_uploads:
allOf:
- $ref: '#/components/schemas/AvailabilityItem'
nullable: true
ongoing_refresh:
type: object
description: Object containing the account's `ongoing_refresh` status (whether
the account will be updated with new data after each [data refresh](/overview/ongoing-refresh#refresh-frequency)).
properties:
status:
type: string
enum:
- enabled
- disabled
- idle
description: 'The account''s `ongoing_refresh` status.
- `idle` — This account never experienced a successful payroll connection
— only uploading documents or only completing a "can''t find my income
source" response form is not considered a successful payroll connection.
- `enabled` — Ongoing refresh is currently enabled for this connected
payroll account.
- `disabled` — Ongoing refresh is currently disabled for this connected
payroll account.
Ongoing refresh can be [disabled manually](/api-reference/accounts#disable)
via the API for individual accounts.
'
AvailabilityItem:
type: object
description: 'Status of the account''s most recent data scan (initial data retrieval
included) or [document upload](/api-reference/user-uploads) submission.
- `in_progress` — A data scan is in progress, or a document was uploaded but
not submitted.
- `synced` — The most recent data scan of the account was successful, or an
uploaded document was submitted.
- `sync_failed` — Data retrieval during the most recent data scan failed,
resulting in an [account connection error](/api-reference/account-connection-errors).
'
properties:
status:
type: string
enum:
- in_progress
- synced
- sync_failed
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the most recent change to available data.
available_count:
type: integer
description: 'Number of gig events, paystubs available, or response form
submissions.
During initial data retrieval, the `available_count` will increase until
all data has been retrieved and `availability.status` becomes `synced`.
'
files_count:
type: integer
description: Total number of uploaded documents.
in_progress_count:
type: integer
description: Total number of documents uploaded or response forms in progress
but not submitted.
available_from:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the earliest gig or paystub available.
available_to:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the latest gig or paystub available.
DepositDestination:
type: object
example:
id: 0176e1ea-60ca-c561-eb8e-6dcdb33b1b55
account: 0187c66e-e7e5-811c-b006-2232f00f426a
employer: Whole Goods
destination_type: ach_deposit_account
status: active
allocation_type: percent
currency: USD
allocation_value: '100'
method: Direct deposit
ach_deposit_account:
account_number: '123456780000'
bank_name: NW Bank
routing_number: '026010000'
account_type: savings
created_at: '2023-03-14T16:00:49.420Z'
updated_at: '2023-03-14T16:00:49.420Z'
metadata: null
properties:
id:
type: string
format: uuid
description: Unique ID of the deposit destination.
account:
type: string
format: uuid
description: ID of the account associated with the deposit destination.
employer:
type: string
description: Employer name.
destination_type:
type: string
enum:
- ach_deposit_account
- card
- acss_debit
description: Destination where payouts are sent.
status:
type: string
enum:
- active
- inactive
- pending
description: "Whether the deposit destination is currently set to receive\
\ payments.\n\nAdditional details for gig employers:\n`inactive` indicates\
\ the user added this card or bank account to the gig platform, but chose\
\ another preferred deposit destination in their payout settings.\n\n\
---\n\n**Note:**\nDeposit destination details for individual payouts from\
\ gig employers are also listed within the [metadata](/api-reference/paystubs#object-metadata)\
\ object of the user's [paystubs](/api-reference/paystubs).\n\n```json\n\
// Example - payout to debit card:\n\n\"metadata\": {\n \"origin_type\"\
: \"DRIVER_DIRECT\",\n \"payout_on\": \"2022-06-28 21:15:04+00:00\",\n\
\ \"issue_info\": {\n \"description\": \"\",\n \"type\": \"UNKNOWN_ISSUE_TYPE\"\
\n },\n \"deposited_ot\": \"2321 Visa\",\n \"origin_period\": null,\n\
\ \"raw_type\": \"DRIVER_DIRECT\"\n}\n```\n\n```json\n// Example - payout\
\ to bank account:\n\n\"metadata\": {\n \"origin_type\": \"REGULAR\"\
,\n \"payout_on\": \"2022-11-17 07:20:32+00:00\",\n \"issue_info\":\
\ {\n \"description\": \"\",\n \"type\": \"UNKNOWN_ISSUE_TYPE\"\n\
\ },\n \"deposited_ot\": \"5329 FIFTH SIXTH BANK\",\n \"origin_period\"\
: {\n \"start\": \"2022-11-14 14:06:29+00:00\",\n \"end\": \"2022-11-16\
\ 14:06:29+00:00\"\n },\n \"raw_type\": \"REGULAR\"\n}\n```\n"
allocation_type:
type: string
enum:
- percent
- amount
description: Whether payments sent to this deposit destination are a percentage
or amount of the user's total pay.
currency:
type: string
description: 'Currency ([ISO 4217](https://en.wikipedia.org/wiki/ISO_4217))
in which payouts are sent to the deposit destination.
'
allocation_value:
type: string
description: 'What `percent` or `amount` of the user''s pay is being allocated
to this deposit destination.
Numerical values are used for *exact* amounts or percentages, and `remainder`
is used when this deposit destination is receiving a remainder amount
after pay is allocated to all other deposit destinations.
'
method:
type: string
description: Payment method, such as direct deposit.
ach_deposit_account:
type: object
description: 'Details for deposit destinations with a `destination_type`
of `ach_deposit_account`, which pertains to U.S. bank accounts.
'
properties:
account_number:
type: string
description: Bank account number. May be obfuscated depending on the
payroll system.
bank_name:
type: string
description: 'Name of the bank, as returned by the payroll system.
Some payroll systems will override the `bank_name` included in your
target deposit destination configuration and instead use a bank name
they derive from another source, such as the routing number of the
account.
'
routing_number:
type: string
description: Routing number of the bank account.
account_type:
type: string
description: The type of bank account.
card:
type: object
description: 'Details for deposit destinations with a `destination_type`
of `card`, which pertains to debit cards or similar cards that can receive
payouts.
'
properties:
card_number:
type: string
description: Card number. Typically obfuscated.
card_name:
type: string
description: Card name or vendor. Typically Visa or MasterCard.
is_platform_card:
type: boolean
description: Whether the card is directly issued by a platform such
as Uber or Lyft.
acss_debit:
type: object
description: 'Details for deposit destinations with a `destination_type`
of `acss_debit`, which pertains to Canadian bank accounts that use the
Automated Clearing Settlement System (ACSS).
'
properties:
account_number:
type: string
description: Bank account number. May be obfuscated depending on the
payroll system.
account_type:
type: string
description: The type of bank account.
institution_number:
type: string
description: 3-digit code that identifies the user's bank.
transit_number:
type: string
description: 5-digit code that identifies the bank branch.
created_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the deposit destination object was created.
'
updated_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when a property value of the deposit destination object most recently
changed.
'
metadata:
type: object
description: Additional, non-categorized information.
Employer:
type: object
example:
id: item_000000003
name: GigAndGo
logo_url: argyle.com/image-holdings
kind: gig
mapping_status: verified
status: healthy
properties:
id:
type: string
description: Unique ID of the [Item](/api-reference/items). ID format —
`item_123456789`
name:
type: string
description: Name of the Item.
logo_url:
type: string
description: URL location of the Item's logo image file.
kind:
type: string
enum:
- employer
- gig
- platform
- benefits
description: 'Type of Item.
- `employer` — individual employer
- `gig` — gig platform
- `platform` — payroll provider platform
- `benefits` — government benefits
'
mapping_status:
type: string
enum:
- verified
- mapped
- unmapped
description: 'Verification status of the Item.
- `verified` — The payroll system associated with the Item is known, and
the Item has previously experienced a successful connection that returned
paystub data.
- `mapped` — The payroll system associated with the Item is known, but
the Item is awaiting a successful connection.
- `unmapped` — The payroll system associated with this Item is not yet
known. If an unmapped Item is selected in Link, the user will be given
the option to search for the relevant payroll system and attempt to connect
using their login credentials.

'
status:
type: string
enum:
- healthy
- issues
- unavailable
description: 'Health status of the Item.
- `healthy` — Normal service.
- `issues` — Impacted service. New account connections still supported.
- `unavailable` — Impacted service. New account connections not supported.
[Ongoing refresh](/overview/ongoing-refresh) paused.
'
Employment:
type: object
example:
id: 0183d52a-d3b2-331d-c753-3662a20e352b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
account: 0187c66e-e7e5-811c-b006-2232f00f426a
created_at: '2023-01-30T12:53:24.561Z'
employer: Whole Goods
employment_status: active
origin: retrieved
properties:
id:
type: string
format: uuid
description: 'Unique ID of the employment.
Can be used to filter the following data sets:
- [Identities](/api-reference/identities#list)
- [Paystubs](/api-reference/paystubs#list)
- [Payroll Documents](/api-reference/payroll-documents#list)
'
account:
type: string
format: uuid
description: ID of the account associated with the employment.
user:
type: string
format: uuid
description: ID of the user associated with the employment.
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the employment object was created.
employer:
type: string
description: Employer name on the most recent paystub
associated with the employment.
employment_status:
type: string
enum:
- active
- inactive
- terminated
description: 'Job status of the employment.
`inactive` and `terminated` definitions vary by Item and can overlap.
`inactive` typically indicates the employee left voluntarily, is on leave,
or has not been active for a certain period of time.
`terminated` typically indicates the employee is no longer employed. Specific
reasons for termination, if available, are returned in the `termination_reason`
field.
We recommend using data from the `/paystubs` and `/gigs` endpoints to
construct a more wholistic timeline of employment history.
'
origin:
type: string
enum:
- retrieved
- acquired
description: 'Whether the employment was defined by the connected payroll
system or paystubs.
- `retrieved` — Employment defined by the connected payroll system.
- `acquired` — Employment defined by retrieved paystubs.
'
Gig:
type: object
example:
id: 0187dbfa-6f5e-a33a-af26-7e12ff408fea
account: 0187c66e-e7e5-811c-b006-2232f00f426a
employer: GigAndGo
created_at: '2023-03-08T08:31:37.037Z'
updated_at: '2023-03-08T08:31:37.037Z'
status: completed
type: delivery
task_count: 2
start_datetime: '2023-03-08T08:08:57Z'
end_datetime: '2023-03-08T08:31:36Z'
all_datetimes:
request_at: '2023-03-08T08:08:57Z'
accept_at: '2023-03-08T08:09:38Z'
pickup_at: '2023-03-08T08:12:57Z'
dropoff_at: '2023-03-08T08:31:36Z'
cancel_at: null
shift_start: null
shift_end: null
breaks: null
duration: 2659
timezone: America/New_York
earning_type: work
start_location:
lat: '40.65932120164202'
lng: '-73.8526246331782'
formatted_address: 201 North W St, New York, NY 10014, US
end_location:
lat: '40.689177462234504'
lng: '-73.89453884284752'
formatted_address: 102 South E St, New York, NY 10002, US
task_details:
events:
- order_id: null
sequence: '1'
type: accept
name: null
formatted_address: 201 North W St, New York, NY 10014, US
lat: '40.65932120164202'
lng: '-73.89453884284752'
datetime: '2023-03-08T08:09:38Z'
- order_id: '1'
sequence: '2'
type: pickup
name: Healthy Snacks
formatted_address: 150 East N St, New York, NY 10014, US
lat: '40.673422892136178'
lng: '-73.88931269893891'
datetime: '2023-03-08T08:12:57Z'
- order_id: '2'
sequence: '3'
type: pickup
name: Gourmet Desserts
formatted_address: 182 East N St, New York, NY 10014, US
lat: '40.673523811763259'
lng: '-73.86335212657626'
datetime: '2023-03-08T08:12:57Z'
- order_id: null
sequence: '4'
type: dropoff
name: null
formatted_address: 102 South E St, New York, NY 10002, US
lat: '40.689177462234504'
lng: '-73.89453884284752'
datetime: '2023-03-08T08:31:36Z'
orders:
- order_id: '1'
sequence: '1'
income:
currency: USD
total_charge: '34.75'
customer_price: '26.38'
fees: '8.37'
total: '19.96'
pay: '22.28'
tips: null
bonus: '0.00'
other: '-2.32'
- order_id: '2'
sequence: '2'
income:
currency: USD
total_charge: '7.25'
customer_price: '7.25'
fees: null
total: '4.30'
pay: '4.30'
tips: '0.00'
bonus: '0.00'
other: null
distance: '1.80'
distance_unit: miles
metadata:
income.other:
name: 'Taxes: Withholding tax'
value: '-15.32'
circumstances:
is_pool: false
is_rush: false
is_surge: true
service_type: Comfort Ride
position: null
income:
currency: USD
total_charge: '42.00'
customer_price: '33.68'
fees: '8.37'
total: '30.68'
pay: '26.58'
tips: '6.42'
bonus: '0.00'
other: '-2.32'
income_rates:
hour: '92.70'
mile: '20.20'
properties:
id:
type: string
format: uuid
description: Unique ID of the gig assignment.
account:
type: string
format: uuid
description: Unique ID of the account associated with the gig assignment.
employer:
type: string
description: Employer name.
created_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the gig object was created.
'
updated_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when a property value of the gig object most recently changed.
'
status:
type: string
enum:
- scheduled
- in_progress
- completed
- cancelled
description: Current state of the gig assignment.
type:
type: string
enum:
- delivery
- rideshare
- hourly
- services
description: The type of gig assignment.
task_count:
type: integer
description: 'Number of discrete tasks in the gig assignment.
**Note:**
When `task_count` is greater than 1 (e.g. two pickups in one delivery),
the gig object contains aggregated values for the entire gig assignment.
Individual task-level details can be found in the [`task_details`](https://docs.argyle.com/api-reference/gigs#object-task_details)
object.
'
start_datetime:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the gig assignment started.
'
end_datetime:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the gig assignment ended.
'
all_datetimes:
type: object
description: Other timestamps related to the gig assignment.
properties:
request_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the gig assignment was created.
'
accept_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the gig assignment was accepted.
'
pickup_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when "package" (rider, food, or similar) was obtained.
'
dropoff_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when "package" (rider, food, or similar) was delivered.
'
cancel_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the gig assignment was cancelled.
'
shift_start:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the work shift started.
'
shift_end:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the work shift ended.
'
breaks:
type: array
items:
type: object
properties:
break_start:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the break started.
'
break_end:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the break ended.
'
duration:
type: integer
description: Total time of the gig assignment (in seconds).
timezone:
type: string
description: 'Timezone ([IANA](https://www.iana.org/time-zones)) where the
gig assignment took place.
'
earning_type:
type: string
enum:
- offer
- work
- incentive
- adjustment
- other
description: The earnings category.
start_location:
type: object
description: Starting location information for the gig assignment.
properties:
lat:
type: string
description: 'Latitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709))
where the gig assignment started.
'
format: degrees
lng:
type: string
description: 'Longitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709))
where the gig assignment started.
'
format: degrees
formatted_address:
type: string
description: Full address of where the gig assignment started.
end_location:
type: object
description: Ending location information for the gig assignment.
properties:
lat:
type: string
format: degrees
description: 'Latitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709))
where the gig assignment ended.
'
lng:
type: string
format: degrees
description: 'Longitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709))
where the gig assignment ended.
'
formatted_address:
type: string
description: Full address of where the gig assignment ended.
task_details:
type: object
description: Task-level details for the gig assignment.
properties:
events:
type: array
description: Geographical information and timestamps.
items:
type: object
properties:
order_id:
type: string
description: 'Argyle-added reference ID. Connects `events` to
`orders`.
**Note:**
Only available if the underlying gig platform provides a clear
link between events and their associated orders (monetary charges).
'
sequence:
type: string
description: 'Counter starting at 1. The sequential ordering of
each event, as represented by the gig platform.
'
type:
type: string
enum:
- request
- accept
- pickup
- dropoff
- other
- cancel
description: The type of event.
name:
type: string
description: 'Name associated with the geographical location.
**Note:**
Primarily available for delivery platforms, where name is the
pickup establishment (i.e. restaurant name).
'
formatted_address:
type: string
description: Full address of the geographical location.
lat:
type: string
description: 'Latitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709))
of the geographical location.
'
lng:
type: string
description: 'Longitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709))
of the geographical location.
'
datetime:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the event.
'
orders:
type: array
description: Payment and earnings information.
items:
type: object
properties:
order_id:
type: string
description: 'Argyle-added reference ID. Connects `orders` to
`events`.
'
sequence:
type: string
description: 'Counter starting at 1. The sequential ordering of
each order, as represented by the gig platform.
'
income:
type: object
description: Payment and earnings information for the order.
properties:
currency:
type: string
description: 'Currency code ([ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)).
'
total_charge:
type: string
description: Total amount charged to the customer.
customer_price:
type: string
description: 'Amount the customer paid for the order, not
including `fees` and `tips`.
'
fees:
type: string
description: Fees charged to the gig employee by the gig platform.
total:
type: string
description: 'Total earnings received by the gig employee
( `pay` + `tips` + `bonus` + `other` ).
'
pay:
type: string
description: Earnings related to the assignment received by
the gig employee.
tips:
type: string
description: Tips received by the gig employee.
bonus:
type: string
description: Bonus earnings received by the gig employee.
other:
type: string
description: 'Other payments made or received by the gig employee.
Common examples: refunds (tolls), taxes, partial cash payments,
reimbursements, or miscellaneous payments categorized as
"other".
'
distance:
type: string
description: Distance traveled during the gig assignment.
distance_unit:
type: string
enum:
- miles
- km
description: Unit of the distance traveled.
metadata:
type: object
description: 'Additional, non-categorized information.
'
circumstances:
type: object
description: Metadata specific to the gig platform, such as whether the
assignment occurred during peak hours.
income:
type: object
description: Payment and earnings information for the gig assignment.
properties:
currency:
type: string
description: 'Currency code ([ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)).
'
total_charge:
type: string
description: Total amount charged to the customer.
customer_price:
type: string
description: 'Amount the customer paid for the order, not including
`fees` and `tips`.
**Note:**
Only available if directly returned by the gig platform.
'
fees:
type: string
description: Fees charged to the gig employee by the gig platform.
total:
type: string
description: 'Total earnings received by the gig employee ( `pay` +
`tips` + `bonus` + `other` ).
'
pay:
type: string
description: Earnings related to the assignment received by the gig
employee.
tips:
type: string
description: Tips received by the gig employee.
bonus:
type: string
description: Bonus earnings received by the gig employee.
other:
type: string
description: "Other payments made or received by the gig employee.\n\
\nCommon examples: refunds (tolls), taxes, partial cash payments,\
\ reimbursements, or miscellaneous payments categorized as \"other\"\
.\n\n**Note:**\n Additional details for other income are listed within\
\ metadata in the following format:\n\n ```json\n \"metadata\":\
\ {\n \"income.other\": {\n \"name\": \"Taxes: Withholding\
\ tax\",\n \"value\": \"-15.32\"\n }\n }\n ```\n"
income_rates:
type: object
description: 'Amount earned by the gig employee per hour or per mile.
**Note:**
Values are not calculated, and are only returned if directly provided
by the gig platform.
'
properties:
hour:
type: string
description: Earnings per hour. *Not calculated*
mile:
type: string
description: Earnings per mile. *Not calculated*
Address:
type: object
properties:
city:
type: string
description: Name of the city, town, district, or similar regional entity.
example: New York
line1:
type: string
description: Address-Line 1, usually street address or P.O. Box information.
example: 852 North W St
line2:
type: string
description: Address-Line 2, usually the apartment or unit number.
example: Apt 221
state:
type: string
description: State, county, province, region, or equivalent.
example: NY
country:
type: string
description: 'Two-letter country code [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
format).
'
example: US
postal_code:
type: string
description: Zip code, or equivalent.
example: '10014'
BasePay:
type: object
properties:
amount:
type: string
description: Defined pay amount per period. Does not include bonus, commission
or similar incentive-based income.
example: '58024.50'
period:
type: string
enum:
- hourly
- daily
- weekly
- biweekly
- semimonthly
- monthly
- annual
- salary
description: 'Payment interval that specifically corresponds to the base
pay `amount`.
- `hourly`
- `daily`
- `weekly`
- `biweekly` — every two weeks
- `semimonthly` — twice a month
- `monthly`
- `annual`
- `salary` — only when explicitly mentioned and no other pay period information
is present
'
example: annual
currency:
type: string
description: 'Pay currency ([ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)
currency code).
'
example: USD
PlatformIds:
type: object
properties:
employee_id:
type: string
description: Internal user ID assigned by the employer.
example: OB238HDW5
position_id:
type: string
description: Internal position ID assigned by the employer.
example: 6ELL4O7PM
platform_user_id:
type: string
description: ID assigned by the payroll system.
example: JLH7B9V6O6YGN9O7
Identity:
type: object
example:
id: 0153b145-7ab9-bea2-cc16-a8b71328942f
account: 0187c66e-e7e5-811c-b006-2232f00f426a
address:
city: New York
line1: 852 North W St
line2: Apt 221
state: NY
country: US
postal_code: '10014'
first_name: Sarah
last_name: Longfield
full_name: Sarah Longfield
birth_date: '1980-10-30'
email: sarah@email.com
phone_number: '+12125555555'
picture_url: www.argyle.com/logofoldername
employment_status: active
employment_type: full-time
job_title: Store Manager
ssn: 522-09-1191
marital_status: Married filing jointly
gender: Female
original_hire_date: '2019-01-03'
hire_date: '2020-04-08'
termination_date: null
termination_reason: null
employer: Whole Goods
employment: 0183d52a-d3b2-331d-c753-3662a20e352b
base_pay:
amount: '58024.50'
period: annual
currency: USD
pay_cycle: semimonthly
platform_ids:
employee_id: OB238HDW5
position_id: 6ELL4O7PM
platform_user_id: JLH7B9V6O6YGN9O7
created_at: '2023-01-30T12:53:24.561Z'
updated_at: '2023-01-30T12:55:06.478Z'
metadata: null
properties:
id:
type: string
format: uuid
description: Unique ID of the identity.
example: 0153b145-7ab9-bea2-cc16-a8b71328942f
account:
type: string
format: uuid
description: ID of the account associated with the identity.
example: 0187c66e-e7e5-811c-b006-2232f00f426a
address:
$ref: '#/components/schemas/Address'
first_name:
type: string
description: First name of the employee. Usually the legal first name.
example: Sarah
last_name:
type: string
description: Last name of the employee. Usually the legal last name.
example: Longfield
full_name:
type: string
description: Full name of the employee. Sourced from payroll data if available,
otherwise constructed from available names and suffixes.
example: Sarah Longfield
birth_date:
type: string
format: date
description: 'Date of birth in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
format. If values are obfuscated (rare), a dash will replace the value
(e.g. --01-31 when the year is obfuscated).
'
example: '1980-10-30'
email:
type: string
description: Email address.
example: '[email protected]'
phone_number:
type: string
description: 'Phone number [E.164](https://en.wikipedia.org/wiki/E.164)
international format).
'
example: '+12125555555'
picture_url:
type: string
description: URL location of the user's profile image.
example: www.argyle.com/logofoldername
employment_status:
type: string
enum:
- active
- inactive
- terminated
description: "Job status of the employment relevant to the identity.\n\n\
- Definitions of `inactive` and `terminated` vary by Item and can overlap.\n\
\ - `inactive` typically indicates the employee left voluntarily, is\
\ on leave, or has not been active for a certain period of time.\n -\
\ `terminated` typically indicates the employee is no longer employed.\
\ Specific reasons for termination, if available, are returned in the\
\ `termination_reason` field.\n- We recommend using data from the `/paystubs`\
\ and `/gigs` endpoints to construct a more wholistic timeline of employment\
\ history.\n"
example: active
employment_type:
type: string
enum:
- full-time
- part-time
- contractor
- military
- benefits
- seasonal
- temporary
- regular
- other
description: "Type of employment.\n\n\nEmployment type enum definitions
\n\n- `full-time`\n\
\ - Employment in which an individual is regularly scheduled to work\
\ 30 or more hours per week, or meets the employer's internal threshold\
\ for a standard full-time workweek.\n - **Examples:** `full-time employee`,\
\ `36+ hours weekly`\n- `part-time`\n - Employment in which an individual\
\ is regularly scheduled to work fewer than 30 hours per week, or meets\
\ the employer's internal threshold for a standard part-time workweek.\n\
\ - **Examples:** `PT regular`, `20+ hours weekly`\n- `contractor`\n\
\ - Work performed by an individual engaged for a specific project or\
\ timeframe who is not an employee of the organization.\n - **Examples:**\
\ `gig worker`, `contract employee`, `contract worker`, `freelancer`\n\
- `military`\n - Compensation derived from active-duty or reserve military\
\ service.\n - *Automatically set for military platforms.*\n- `benefits`\n\
\ - Non-wage compensation or government-issued assistance.\n - *Automatically\
\ set for benefits platforms.*\n- `seasonal`\n - Employment that occurs\
\ at approximately the same time each year, typically lasting six months\
\ or less.\n - **Examples:** `seasonal on-call`, `seasonal part-time`,\
\ `peak seasonal`\n- `temporary`\n - Short-term employment with a defined\
\ end date, usually lasting one year or less.\n - **Examples:** `internship`,\
\ `substitute employee`, `temporary full-time`, `temporary part-time`\n\
- `regular`\n - Ongoing employment with no specified end date that does\
\ not fall into more specialized categories.\n - **Examples:** `permanent`,\
\ `W-2`, `salaried`\n- `other`\n - Work or income that does not fit standard\
\ classifications.\n - **Examples:** `variable`, `casual`, `employee`,\
\ `PRN (on-call)`\n\n \n"
example: full-time
job_title:
type: string
description: Job title.
example: Store Manager
ssn:
type: string
description: Social Security number.
example: 522-09-1191
marital_status:
type: string
description: Marital status.
example: Married filing jointly
gender:
type: string
description: Gender.
example: Female
original_hire_date:
type: string
format: date
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the user''s **earliest** employment start date.
'
example: '2019-01-03'
hire_date:
type: string
format: date
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the user''s **most recent** employment start date.
`hire_date` may differ from `original_hire_date` due to a promotion, a
re-hiring event, or similar.
'
example: '2020-04-08'
termination_date:
type: string
format: date
nullable: true
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the user was terminated.
example: null
termination_reason:
type: string
nullable: true
description: Reason for termination.
example: null
employer:
type: string
description: Name of the employer.
example: Whole Goods
employment:
type: string
description: '[Employment](/api-reference/employments) ID. Can be used as
a filter when [listing identities](/api-reference/identities/list-all-identities).
'
example: 0183d52a-d3b2-331d-c753-3662a20e352b
base_pay:
$ref: '#/components/schemas/BasePay'
pay_cycle:
type: string
enum:
- daily
- weekly
- biweekly
- semimonthly
- monthly
- quarterly
description: 'Payment frequency.
- `daily`
- `weekly`
- `biweekly` — every two weeks
- `semimonthly` — twice a month
- `monthly`
- `quarterly`
'
example: semimonthly
platform_ids:
$ref: '#/components/schemas/PlatformIds'
created_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the identity object was created.
'
example: '2023-01-30T12:53:24.561594Z'
updated_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when a property value of the identity object most recently changed.
'
example: '2023-01-30T12:55:06.478699Z'
metadata:
type: object
description: Additional, non-categorized information.
example: {}
SendInviteRequest:
type: object
required:
- first_name
- last_name
example:
first_name: Sarah
last_name: Longfield
phone_number: 212-555-5555
email: sarah@email.com
properties:
first_name:
type: string
description: First name of the invite recipient.
last_name:
type: string
description: Last name of the invite recipient.
full_name:
type: string
deprecated: true
description: 'Full name of the invite recipient.
**Required when** `first_name` and `last_name` are empty.
'
phone_number:
type: string
description: 'Phone number of the invite recipient.
**Required when** `email` is empty.
'
email:
type: string
description: 'Email address of the invite recipient.
**Required when** `phone_number` is empty.
'
external_id:
type: string
description: '[External identifier](/overview/data-structure/users#external-identifiers)
often used to group users.
Will populate the `external_id` property of the [user object](/api-reference/users#object-external_id),
and can be used to search for users within the [Connections](https://console.argyle.com/connections)
section of Console.
'
flow_id:
type: string
description: 'ID used to [customize](/console/flows/email-sms-templates)
the user''s experience in Link.
**Warning:**
Must be the ID of an [Email/SMS Template](/console/flows/email-sms-templates).
'
flow_items:
type: array
items:
type: string
description: 'List of specific Items to display to the invite recipient.
Instead of full search, [direct login](/workflows/account-connections#direct-login)
will be used (one Item) or [list](/workflows/account-connections#list)
(multiple Items).
**Warning:**
`flow_items` will override direct login Items associated with the `flow_id`.
'
dds_config:
type: object
description: 'Unencrypted target deposit destination configuration.
Adds a deposit switching flow after the user connects their payroll accounts.
'
override_invite_template:
type: object
deprecated: true
description: 'Overrides the text and branding of the email/SMS template
specified via the [`flow_id`](/api-reference/invites#send-flow_id) property
(or default invite settings, if no templates exist).
Also provides a way to Cc members of your team to be notified by email
when the user has connected their payroll account(s) by using the `reply_to`
parameter.
'
properties:
brand:
type: object
properties:
color:
type: string
description: HEX color code.
logo:
type: string
description: URL to a logo.
email:
type: object
properties:
reply_to:
type: array
items:
type: string
description: Emails to notify after a user connects an account.
subject:
type: string
sender:
type: string
header:
type: string
subheader:
type: string
body_text_icon_1:
type: string
description: URL to an icon.
body_text_header_1:
type: string
body_text_subheader_1:
type: string
body_text_icon_2:
type: string
description: URL to an icon.
body_text_header_2:
type: string
body_text_subheader_2:
type: string
body_text_icon_3:
type: string
description: URL to an icon.
body_text_header_3:
type: string
body_text_subheader_3:
type: string
sms_text:
type: string
landing_page:
type: object
properties:
header:
type: string
subheader:
type: string
step_1:
type: string
step_2:
type: string
step_3:
type: string
flow_id:
type: string
description: 'ID used to [customize](/console/flows/embedded-experiences)
the user''s experience in Link.
**Warning:**
Must be the ID of an [embedded experience](/console/flows/embedded-experiences).
Any `flow_id` included outside of this object will take priority.
'
success_page:
type: object
properties:
header:
type: string
subheader:
type: string
button_text:
type: string
button_url:
type: string
InviteObject:
type: object
example:
id: 0424137bc-edc5-35de-c1b5-1c3cddb4b227
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
user_token: bcJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWEiOiIxNDRhMTRkNS04YzEzLTQzZGYtOTI4Ni01OWY4NjFkOWEyMDIiLCJleHAiOjE2ODc3OTMzODAsImZpZCI6IjUyYWM3ZFFiLTI1MzAtNGYyNy04NTZlLTkwOTk1ZDA4NWJkMCIsImlhdCI6MTY4Nzc4OTc4MCwiaXNzIjoiYXJneWxlLWNvcmUtYXV1aC1kZXYiLCJqdGkiOiI2ZWJiOGIxMS0wYzFjLTRiNjEtYmI5NS04ZGQ0YzA0OGQwNzUiLCJzdWIiOiIwMTg4ZjgxYy0zZTFkLTRlZDEtMjEyYy02NmE3YzE4YzVjYzMiLCJ1c2VyX2lkIjoiMDE4OGY4MWMtM2UxZC00ZWQxLTIxMmMtNjZhN2MxN2M1Y2MzIn0.TNiZojOiiXtPVamyCDjz4f2GwR4TA8x6JR3RwjTECjY
email: sarah@email.com
phone_number: 212-555-5555
full_name: Sarah Longfield
first_name: Sarah
last_name: Longfield
revoked_at: null
status: sent
group_id: d8a07e5b-13a3-11ef-af7e-c7eb00762562
url: https://verify.argyle.com/connect/0424137bc-edc5-35de-c1b5-1c3cddb4b227
created_at: '2023-03-09T23:57:05.756Z'
updated_at: '2023-03-09T23:57:05.756Z'
invited_at: '2023-03-09T23:57:05.756Z'
flow_id: 8DRRA4XC
flow_items:
- item_000000001
- item_000000002
reply_to:
- person1@email.com
- person2@email.com
deliveries:
- id: d7c85e44-9729-11f0-b297-f3718e19503e
method: email
status: sent
sent_at: '2023-03-09T23:57:24.000Z'
updated_at: '2023-03-09T23:57:24.000Z'
invite_template_id: null
properties:
id:
type: string
format: uuid
description: Unique ID of the invite.
example: 0424137bc-edc5-35de-c1b5-1c3cddb4b227
user:
type: string
format: uuid
description: ID of the user.
example: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
user_token:
type: string
description: '[User token](/link/user-tokens) required to initialize embedded
instances of Link for the user.
**Warning:**
This user token will expire after one hour. A new user token can be created
at any time using the [/user-tokens](/api-reference/user-tokens#create)
API endpoint.
'
example: bcJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjbGllbnRfaWEiOiIxNDRhMTRkNS04YzEzLTQzZGYtOTI4Ni01OWY4NjFkOWEyMDIiLCJleHAiOjE2ODc3OTMzODAsImZpZCI6IjUyYWM3ZFFiLTI1MzAtNGYyNy04NTZlLTkwOTk1ZDA4NWJkMCIsImlhdCI6MTY4Nzc4OTc4MCwiaXNzIjoiYXJneWxlLWNvcmUtYXV1aC1kZXYiLCJqdGki2eJiZGI4YTExMS0wYzFjLTRiNjEtYmI5NS04ZGQ0YzA0OGQwNzUiLCJzdWIiOiIwMTg4ZjgxYy0zZTFkLTRlZDEtMjEyYy02NmB3YzE4YzVjYzMiLCJ1c2VyX2lkIjoiMDE4OGY4MWMtM2UxZC00ZWQxLTIxMmMtNjZhN2MxN2M1Y2MzIn0.TNiZojOiiXtPVamyCDjz4f2GwR4TA8x6JR3RwjTECjY
email:
type: string
description: Email of the invite recipient.
example: sarah@email.com
phone_number:
type: string
description: Phone number of the invite recipient.
example: 212-555-5555
full_name:
type: string
deprecated: true
description: Full name of the invite recipient.
example: Sarah Longfield
first_name:
type: string
description: First name of the invite recipient.
example: Sarah
last_name:
type: string
description: Last name of the invite recipient.
example: Longfield
revoked_at:
type: string
format: date-time
nullable: true
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the invite was revoked.
example: null
status:
type: string
enum:
- sent
- initiated
- attempted
- completed
- revoked
description: 'The invite''s status.
- `sent` — Invite sent successfully.
- `initiated` — User clicked the invite URL and was successfully able
to enter Link, but has not submitted login credentials, uploaded documents,
or completed a response form.
- `attempted` — User submitted login credentials through Link (creating
a user ID), but no accounts were successfully connected. Also includes
users who only submitted a response form.
- `completed` — User successfully connected an account or uploaded a document.
- `revoked` — The invite was [revoked](/api-reference/invites#revoke-invite).
The user can no longer access Link via the invite URL.
'
group_id:
type: string
format: uuid
nullable: true
description: ID of the [group](/console/management/groups) associated with
the invite.
example: d8a07e5b-13a3-11ef-af7e-c7eb00762562
url:
type: string
description: URL included in the invite that connects the user to Link.
example: https://verify.argyle.com/connect/0424137bc-edc5-35de-c1b5-1c3cddb4b227
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the invite was created.
example: '2023-03-09T23:57:05.756Z'
updated_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the invite was updated.
**Warning:**
The timestamp is updated after re-sending or revoking an invite.
'
example: '2023-03-09T23:57:05.756Z'
invited_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the invite was sent.
**Warning:**
The timestamp is updated after re-sending or revoking an invite.
'
example: '2023-03-09T23:57:05.756Z'
flow_id:
type: string
nullable: true
description: ID of the Flow specified via the `flow_id` parameter when sending
the invite.
example: 8DRRA4XC
flow_items:
type: array
items:
type: string
nullable: true
description: Any Items specified via the `flow_items` parameter when sending
the invite.
example:
- item_000000001
- item_000000002
reply_to:
type: array
items:
type: string
nullable: true
description: 'Emails of your team members that will be notified when the
user has connected their payroll account(s).
Depending on the invite method, these emails are sourced from:
1. If sending invites via the API, the `reply_to` parameter of the `override_invite_template`
object.
2. If sending invites [via Console](/console/flows/email-sms-templates#sending-invites),
the Console member that sends the invite and any Cc''d members of your
team.
3. If sending invites via Argyle''s POS & LOS integrations ([Encompass](/integrations/pos-los/encompass/payroll-verifications),
[Empower](/integrations/pos-los/empower), or [nCino](/integrations/pos-los/ncino)),
the email address of the Loan Officer sending the invite.
4. If sending links to Argyle using [Shareable URLs](/console/flows/shareable-urls),
any emails saved in the email notifications toggle of "General settings"
of the associated [Shareable URL Flow](https://console.argyle.com/flows).
5. If sending links to Argyle using [Shareable URLs with URL modifications](/console/flows/shareable-urls#url-modifications),
the email overwrite specified at the end of the URL.
'
deliveries:
type: array
description: Array of objects containing information about the delivery
status of the invite.
items:
$ref: '#/components/schemas/InviteDelivery'
invite_template_id:
type: string
format: uuid
nullable: true
deprecated: true
description: '(Deprecated) Customization ID.
- Deprecated in favor of [`override_invite_template`](/api-reference/invites#send-override_invite_template).'
example: null
InviteDelivery:
type: object
properties:
id:
type: string
format: uuid
description: Unique ID of the invite delivery.
method:
type: string
enum:
- email
- sms
description: Invite delivery method.
status:
type: string
enum:
- sent
- delivered
- undelivered
- opened
description: Status of the invite delivery.
sent_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the invite was sent.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the delivery status was last updated.
Item:
type: object
example:
id: item_000000001
name: Whole Goods
kind: employer
known_limitations: First 5 digits of SSN obfuscated.
status: healthy
status_details: null
logo_url: argyle.com/image-holdings
is_grouping: false
mapping_status: verified
features:
data_retrieval:
refresh_frequency: 5h
field_coverage:
identities:
first_name:
supported: true
last_name:
supported: true
'...':
supported: true
paystubs:
hours_ytd:
supported: false
paystub_period:
start_date:
supported: true
end_date:
supported: true
'...':
supported: true
payroll_documents:
'...':
supported: true
deposit_destinations:
'...':
supported: true
shifts:
'...':
supported: true
gigs:
'...':
supported: true
vehicles:
'...':
supported: true
ratings:
'...':
supported: true
direct_deposit_switch:
card:
supported: true
max_allocations: '3'
deposit_account:
types:
- ach_deposit_account
supported: true
max_allocations: '2'
amount_allocation: false
percent_allocation: true
amount_precision: null
percent_precision: '0.01'
properties:
id:
type: string
description: 'Unique ID of the Item. ID format — `item_123456789`
'
name:
type: string
description: Name of the Item.
kind:
type: string
enum:
- employer
- gig
- platform
- benefits
description: Type of Item.
known_limitations:
type: string
nullable: true
description: 'Known limitations of the Item, such as historical data limits,
unique behavior, or degree of value obfuscation. Otherwise `null`.
'
status:
type: string
enum:
- healthy
- issues
- unavailable
description: 'Health status of the Item.
- `healthy` — Normal service.
- `issues` — Impacted service. New account connections still supported.
- `unavailable` — Impacted service. New account connections not supported.
[Ongoing refresh](/overview/ongoing-refresh) paused.
'
status_details:
type: string
nullable: true
description: 'Additional details on the Item''s health status, such as degraded
account connection ability or paused [ongoing refresh](/overview/ongoing-refresh).
Otherwise `null`.
'
logo_url:
type: string
description: URL location of the Item's logo image file.
is_grouping:
type: boolean
description: '`true` if the Item does not directly support account connections,
but instead acts as a container for other Items.
'
mapping_status:
type: string
enum:
- verified
- mapped
- unmapped
description: 'Verification status of the Item.
- `verified` — The payroll system associated with the Item is known, and
the Item has previously experienced a successful connection that returned
paystub data.
- `mapped` — The payroll system associated with the Item is known, but
the Item is awaiting a successful connection.
- `unmapped` — The payroll system associated with this Item is not yet
known. If an `unmapped` Item is selected in Link, the user will be given
the option to search for the relevant payroll system and attempt to connect
using their login credentials.
'
matching_score:
type: string
description: 'Confidence score based on the degree of similarity between
the Item and the search term. Ranges from "1.00" (strong match) to "0.01"
(weak match).
`matching_score` is only returned when [listing Items](/api-reference/items#list)
and is only applicable when the `q` "free-text search" [query parameter](/api-reference/items#list-q)
is used.
'
features:
type: object
description: 'What data fields the Item supports, the Item''s deposit switching
capabilities, and how often the Item is refreshed with new data.
*Only returned when* [retrieving individual Items](/api-reference/items#retrieve)
*by Item ID.*
'
properties:
data_retrieval:
type: object
description: Details on how often the Item is re-scanned for new data.
properties:
refresh_frequency:
type: string
description: 'How often the Item is re-scanned to check for new
data, which is used to update all accounts connected to this Item.
Rounded up to the nearest hour, in the format `#hr`.
*`null` values indicate [ongoing data refreshes](/overview/ongoing-refresh)
have temporarily been suspended. Check the Item''s health [status](#object-status)
and [status_details](#object-status_details) for more information.*
'
field_coverage:
type: object
description: 'Contains information on whether the Item returns data
for a particular property within one of Argyle''s data sets.
*Does not include object ID''s, account ID''s, or metadata. `null`
values are returned for properties of new or uncommon Items until
a determination on data availability can be made.*
'
properties:
identities:
type: object
description: All data fields of the [identity object](/api-reference/identities#object).
paystubs:
type: object
description: All data fields of the [paystub object](/api-reference/paystubs#object).
payroll_documents:
type: object
description: All data fields of the [payroll document object](/api-reference/payroll-documents#object).
deposit_destinations:
type: object
description: All data fields of the [deposit destination object](/api-reference/deposit-destinations#object).
shifts:
type: object
description: All data fields of the [shift object](/api-reference/shifts#object).
gigs:
type: object
description: All data fields of the [gig object](/api-reference/gigs#object).
vehicles:
type: object
description: All data fields of the [vehicle object](/api-reference/vehicles#object).
ratings:
type: object
description: All data fields of the [rating object](/api-reference/ratings#object).
direct_deposit_switch:
type: object
description: Contains information on the Item's deposit switch capabilities.
properties:
card:
type: object
description: Employer supports payouts to debit cards.
properties:
supported:
type: boolean
description: '`true` if the Item supports payouts to debit cards.
Generally applies to gig platforms, where users can send instant
payouts to debit cards.
'
max_allocations:
type: string
format: integer
description: Number of debit cards that can be added to the
Item's underlying platform.
deposit_account:
type: object
description: Direct deposit capabilities.
properties:
types:
type: array
items:
type: string
description: 'The types of bank accounts supported.
Only `ach_deposit_account` (U.S. deposit account) is currently
supported.
'
supported:
type: boolean
description: '`true` if the Item supports deposit switching.'
max_allocations:
type: string
format: integer
description: Number of total bank accounts supported by the
Item's underlying platform.
amount_allocation:
type: boolean
description: '`true` if the Item''s direct deposit settings
support using exact amounts to define how pay is allocated
to different bank accounts.'
percent_allocation:
type: boolean
description: '`true` if the Item''s direct deposit settings
support using exact percentages of total pay to define how
pay is allocated to different bank accounts.'
amount_precision:
type: string
nullable: true
description: 'What level of precision is allowed when setting
amount allocations.
- `100`
- `10`
- `1` — e.g. $52 or $53
- `0.10`
- `0.01` — e.g. $52.05 or $52.06
- `null`
Null values indicate the platform does not specify an exact
level of precision.
'
percent_precision:
type: string
nullable: true
description: 'What level of precision is allowed when setting
percentage allocations.
- `100`
- `10`
- `1` — e.g. 52% or 53%
- `0.10`
- `0.01` — e.g. 52.05% or 52.06%
- `0.001`
- `0.0001`
- `null`
Null values indicate the platform does not specify an exact
level of precision.
'
OpenBankingBankAccount:
type: object
additionalProperties: true
example:
id: '8057637863'
user: 01975b3b-5ba6-3ec1-2148-f595b6d92614
account_number_display: '2203'
name: Savings
type: savings
aggregation_status_code: 0
status: active
institution: '102168'
aggregation_success_date: '2026-06-04T16:57:26.000Z'
aggregation_attempt_date: '2026-06-04T16:57:26.000Z'
created_date: '2026-06-04T16:57:17.000Z'
currency: USD
institution_login: 8029158291
display_position: 1
parent_bank_account: null
linked_account_date: '2026-06-04T16:57:22.000Z'
error_code: null
error_message: null
real_account_number_last4: '2203'
balance: 22327.3
balance_date: '2026-06-04T16:57:26.000Z'
last_updated_date: '2026-06-04T16:57:22.000Z'
market_segment: personal
last_transaction_date: '2026-06-04T16:57:23.000Z'
oldest_transaction_date: '2024-06-08T12:00:00.000Z'
properties:
id:
type: string
description: ID of the bank account.
user:
type: string
format: uuid
description: ID of the user associated with the bank account.
account_number_display:
type: string
description: Display account identifier.
name:
type: string
description: Account name.
type:
type: string
description: Bank account type.
enum:
- checking
- savings
- cd
- moneyMarket
- creditCard
- lineOfCredit
- investment
- investmentTaxDeferred
- employeeStockPurchasePlan
- ira
- 401k
- roth
- 403b
- 529plan
- rollover
- ugma
- utma
- keogh
- 457plan
- 401a
- brokerageAccount
- educationSavings
- healthSavingsAccount
- pension
- profitSharingPlan
- roth401k
- sepIRA
- simpleIRA
- thriftSavingsPlan
- variableAnnuity
- cryptocurrency
- mortgage
- loan
- studentLoan
- studentLoanGroup
- studentLoanAccount
aggregation_status_code:
type: integer
description: 'Status code of the most recent aggregation attempt.
See [Aggregation status codes](/api-reference/bank-accounts#aggregation-status-codes).
'
status:
type: string
description: Bank account status.
enum:
- pending
- active
institution:
type: string
description: ID of the financial institution.
aggregation_success_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the last successful aggregation for the account.
aggregation_attempt_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the last aggregation attempt for the account, whether successful or
not.
created_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
for when the bank account was created.
currency:
type: string
description: Currency code.
institution_login:
type: integer
description: ID of the institution login.
display_position:
type: integer
description: Display position of the account at the financial institution.
parent_bank_account:
type: string
description: ID of the parent bank account.
linked_account_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
for when the account was linked.
error_code:
type: string
description: Bank connection error code.
error_message:
type: string
description: Bank connection error message.
real_account_number_last4:
type: string
description: Last four digits of the account number.
balance:
type: number
description: Account balance amount.
balance_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
for when the balance was recorded.
last_updated_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
for when the account was last updated.
market_segment:
type: string
enum:
- personal
- business
description: Indicates whether the account is personal or business.
last_transaction_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the latest transaction.
oldest_transaction_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the oldest transaction.
BankingReportRequest:
type: object
properties:
user:
type: string
format: uuid
description: ID of the user.
webhook:
type: string
format: uri
description: Webhook URL to receive report-related [Connect Events](/api-reference/banking-overview#connect-events).
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.
'
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/BankingReportCustomField'
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.
'
required:
- user
BankingReportCustomField:
type: object
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.
BankingReport:
type: object
description: Report object.
example:
id: cde25bb1-5cf4-4544-9df8-04212a781e1b
user: 01975b3b-5ba6-3ec1-2148-f595b6d92614
reference_id: cde25bb1-5cf4-4544-9df8-04212a781e1b
generated_at: '2025-06-10T20:39:35.000Z'
created_at: '2025-06-10T20:39:35.000Z'
type: voai
status: generated
file_url: www.argyle.com/storagename/pdf
json_url: www.argyle.com/storagename/json
accounts: []
last_synced_at: null
external_id: null
source: open-banking
metadata:
origin_report_id: 5u6fx59dnw4b
bank_accounts_requested:
- '8057637863'
from_date: '1970-01-19T17:30:50.000Z'
report_custom_fields:
- label: loanID
value: '12345'
shown: true
income_stream_confidence_minimum: 50
properties:
id:
type: string
format: uuid
description: Unique ID of the report object.
user:
type: string
format: uuid
description: ID of the user associated with the report.
reference_id:
type: string
format: uuid
deprecated: true
description: Report PDF identifier.
generated_at:
type: string
format: date-time
deprecated: true
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the report was requested.
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the report was requested.
type:
type: string
enum:
- voa
- voi
- voai
description: 'The type of report.
- `voa` - Verification of Assets
- `voi` - Verification of Income
- `voai` - Verification of Assets and Income
'
status:
type: string
enum:
- generating
- generated
description: 'Progress of report generation.
- `generating` - The report is being generated.
- `generated` - The report is ready to download.
'
file_url:
type: string
description: Download link to the report PDF. Requires [Argyle authentication
headers](/api-guide/overview#authentication).
json_url:
type: string
description: Download link to the report in JSON. Requires [Argyle authentication
headers](/api-guide/overview#authentication).
accounts:
type: array
description: Not used in banking reports.
items:
type: object
additionalProperties: true
last_synced_at:
type: string
format: date-time
nullable: true
description: Not used in banking reports.
external_id:
type: string
nullable: true
description: The [`external_id`](/api-reference/users#object-external_id)
of the user, otherwise `null`.
source:
type: string
description: The source of the report data.
metadata:
type: object
description: Additional info.
PayrollDocument:
type: object
example:
id: 0176dc14-bb37-402a-7be1-f5261759fae7
account: 0187c66e-e7e5-811c-b006-2232f00f426a
document_number: ced46eb3-7586-3cd7-2418-8eb9482bc3ec
available_date: '2021-03-14T17:46:25Z'
expiration_date: null
employer: GigAndGo
employment: 42d6531c-520a-26b9-35c3-b7137a6d205a
document_type: '1099'
document_type_description: 1099 Form 2020
file_url: api.argyle.com/partners/v2/payroll-documents/{id}/file
created_at: '2023-03-13T17:46:28.240Z'
updated_at: '2023-03-13T17:46:28.240Z'
ocr_data:
form_type: 1099-MISC
omb_no: 1545-0115
year: '2020'
form:
recipient:
name: BOB JONES
address:
city: null
country: null
line1: 759 VICTORIA PLAZA
line2: null
postal_code: '10014'
state: NY
recipient_tin: 111-11-1112
payer:
name: WAREHOUSE SERVICES INC
address:
city: SEATTLE
country: null
line1: 202 WESTLAKE AVE N (55
line2: null
postal_code: '98109'
state: WA
payer_tin: 11-1111112
account_no: 000110CHIC/NHO
rent_1: null
royalties_2: null
other_inc_3: null
fed_inc_4: null
fishing_5: null
med_care_6: null
comp_7: null
crop_insurance_10: null
golden_parachute_13: null
gross_attorney_14: null
sec_409a_defer_15a: null
sec_409a_inc_15b: null
state_tax_16: null
state_no_17: null
state_inc: null
warnings:
- field_name: rent_1
message: rent_1 value empty/bad format
severity: 0
- field_name: royalties_2
message: royalties_2 value empty/bad format
severity: 0
- field_name: other_inc_3
message: other_inc_3 value empty/bad format
severity: 0
- field_name: fed_inc_4
message: fed_inc_4 value empty/bad format
severity: 0
- field_name: fishing_5
message: fishing_5 value empty/bad format
severity: 0
- field_name: med_care_6
message: med_care_6 value empty/bad format
severity: 0
- field_name: comp_7
message: comp_7 not found
severity: 0
- field_name: crop_insurance_10
message: crop_insurance_10 value empty/bad format
severity: 0
- field_name: golden_parachute_13
message: golden_parachute_13 value empty/bad format
severity: 0
- field_name: gross_attorney_14
message: gross_attorney_14 value empty/bad format
severity: 0
- field_name: sec_409a_defer_15a
message: sec_409a_defer_15a value empty/bad format
severity: 0
- field_name: sec_409a_inc_15b
message: sec_409a_inc_15b not found
severity: 0
- field_name: state_tax_16
message: state_tax_16 value empty/bad format
severity: 0
- field_name: state_no_17
message: state_no_17 value empty/bad format
severity: 0
- field_name: state_inc
message: state_inc value empty/bad format
severity: 0
confidence: EXACT_MATCH
ocr_page_count: 1
metadata: null
properties:
id:
type: string
format: uuid
description: 'Unique ID of the payroll document object.
Also the `payroll_document` ID value of the [paystub object](/api-reference/paystubs#object).
'
account:
type: string
format: uuid
description: ID of the account where the payroll document was sourced.
document_number:
type: string
description: Identification number that appears on the payroll document.
available_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the payroll document was made available to the user on the underlying
payroll system.
expiration_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when payroll document (such as a driver's license) expires.
employer:
type: string
description: Employer name.
employment:
type: string
description: '[Employment](/api-reference/employments) ID. Can be used as
a filter when [listing payroll documents](/api-reference/partners-data-sets/list-all-payroll-documents).
'
document_type:
type: string
description: The type of payroll document, as returned by the payroll system.
The following values are the most common, but document_type is not restricted
to these values.
enum:
- payout-statement
- W-2
- W-4
- W-9
- 1095
- 1095-C
- 1099
- profile-picture
- drivers-license
- vehicle-insurance
- vehicle-registration
- vehicle-inspection
- other
document_type_description:
type: string
description: Description of the payroll document type.
file_url:
type: string
description: "URL linking to the original payroll document file.\n\nThis\
\ static URL redirects to a download page that requires [Argyle authentication\
\ headers](/api-guide/overview#authentication). See the dropdown below\
\ for more information.\n\n**Implementation requirements for client-side\
\ applications**\n 1. Ensure your HTTP client or library (e.g. Axios,\
\ Python requests, etc.) or similar tool is configured to pursue redirects.\
\ Most tools support this functionality.\n\n 2. [Basic authentication\
\ headers](https://docs.argyle.com/api-guide/overview#authentication)\
\ for Argyle must be appended to the file download request.\n"
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the payroll document object was created.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when a property value of the payroll document object most recently changed.
ocr_data:
type: object
description: 'Argyle scans and provides additional information for 1099
and W-2 documents retrieved from connected payroll accounts.
'
properties:
form_type:
type: string
description: "The specific type of 1099 or W-2 document.\n\n **W-2\
\ and W-2c**\n W-2: Wage and Tax Statement\n W-2c: Corrected\
\ Wage and Tax Statement\n\n - **`control_no_d`**: Identifies the\
\ W-2 in the payer's records. \n - **`comp_1`**: The amount of\
\ wages, tips, and other compensation. \n - **`fed_income_tax_2`**:\
\ The amount of federal income tax withheld. \n - **`ss_wages_3`**:\
\ The amount of social security wages. \n - **`ss_tax_4`**: The\
\ amount of social security tax withheld. \n - **`med_wages_5`**:\
\ The amount of Medicare wages and tips. \n - **`med_tax_6`**:\
\ The amount of Medicare tax withheld. \n - **`ss_tips_7`**: The\
\ amount of social security tips. \n - **`tips_8`**: The amount\
\ of allocated tips. \n - **`verification_9`**: Code used to identify\
\ the accuracy of the form's contents for electronic tax returns.\
\ \n - **`benefits_10`**: The amount of dependent care benefits.\
\ \n - **`nonqualified_11`**: The amount of contributions made\
\ to a non-qualified savings plan. \n - **`uncollected_ss_RRTA_12a`**:\
\ The amount of uncollected social security or RRTA tax on tips. \
\ \n - **`uncollected_med_tax_12b`**: The amount of uncollected\
\ Medicare tax on tips. \n - **`insurance_12c`**: The amount of\
\ taxable costs of group-term life insurance over $50,000. \n \
\ - **`plan_401k_12d`**: The amount of elective deferrals related\
\ to contributions to 401-k plans. \n - **`other_14`**: Used to\
\ report additional tax information. \n - **`employers_state_15`**:\
\ Lists the states for which the employer withheld the taxes and to\
\ which state the employer remitted the taxes, indicated by the employer's\
\ state ID number. \n - **`state_wages_16`**: The amount of state\
\ wages, tips, etc. \n - **`state_income_tax_17`**: The amount\
\ of state income tax. \n - **`local_wages_18`**: The amount of\
\ local wages, tips, etc. \n - **`local_income_tax_19`**: The\
\ amount of local income tax. \n - **`locality_name_20`**: The\
\ name of the locality where taxes indicated in the `local_income_tax_19`\
\ field are paid. \n\n **1099-NEC**\n 1099-NEC: Non-Employee\
\ Compensation\n\n - **`account_no`**: A code that is unique to\
\ the recipient and the form, for example, a bank account number,\
\ employee ID, etc. \n - **`comp_1`**: The amount of non-employee\
\ compensation. \n - **`fed_inc_tax_4`**: The amount of federal\
\ income tax withheld. \n - **`state_tax_5`**: The amount of state\
\ tax withheld. \n - **`state_no_6`**: The abbreviated name of\
\ the state and the payer's state tax identification number. \n \
\ - **`state_inc_7`**: The amount of state income. \n\n **1099-SSA**\n\
\ 1099-SSA: Social Security Benefits\n\n - **`recipient_name_1`**:\
\ The name of the recipient. \n - **`benefits_3`**: The amount\
\ of benefits paid. \n - **`benefits_ssa_4`**: The amount of benefits\
\ repaid to the Social Security Administration (SSA). \n - **`net_benefits_5`**:\
\ The amount of net benefits. \n - **`fed_inc_tax_6`**: The amount\
\ of voluntary federal income tax withholding. \n - **`claim_no`**:\
\ The social security number under which a claim is filed or benefits\
\ are paid. \n\n **1099-MISC**\n 1099-MISC: Miscellaneous Income\n\
\n - **`account_no`**: A code that is unique to the recipient and\
\ the form, for example, a bank account number, employee ID, etc.\
\ \n - **`rent_1`**: The amount of rental income. \n - **`royalties_2`**:\
\ The amount of royalty income. \n - **`other_inc_3`**: Other\
\ income. \n - **`fed_inc_4`**: The amount of federal income tax\
\ withheld. \n - **`fishing_5`**: The amount of fishing boat proceeds.\
\ \n - **`med_care_6`**: The amount of medical and health care\
\ payment. \n - **`comp_7`**: The amount of non-employee compensation.\
\ \n - **`crop_insurance_10`**: The amount of crop insurance proceeds.\
\ \n - **`golden_parachute_13`**: The amount of excess golden\
\ parachute payments. \n - **`gross_attorney_14`**: The amount\
\ of gross proceeds paid to an attorney. \n - **`sec_409a_defer_15a`**:\
\ The amount of section 409A deferrals. \n - **`sec_409a_inc_15b`**:\
\ The amount of section 409A income. \n - **`state_tax_16`**:\
\ The amount of state tax withheld. \n - **`state_no_17`**: The\
\ abbreviated name of the state and the payer's state tax identification\
\ number. \n - **`state_inc`**: The amount of state income. \n\
\n **1099-INT**\n 1099-INT: Interest Income\n\n - **`payer_rtn`**:\
\ The payer's RTN (Routing and Transit Number). \n - **`account_no`**:\
\ A code that is unique to the recipient and the form, for example,\
\ a bank account number, employee ID, etc. \n - **`interest_1`**:\
\ The amount of interest income. \n - **`withdraw_penalty_2`**:\
\ The amount of early withdrawal penalty. \n - **`interest_obligations_3`**:\
\ The amount of interest earned on U.S. savings bonds or Treasury\
\ notes, bills, or bonds. \n - **`fed_inc_tax_4`**: The amount\
\ of federal income tax withheld. \n - **`investment_5`**: The\
\ amount of investment expenses. \n - **`foreign_tax_6`**: The\
\ amount of foreign tax paid. \n - **`foreign_possession_7`**:\
\ Shows the country or U.S. possession to which the foreign tax was\
\ paid. \n\n **1099-R**\n 1099-R: Distributions from Pensions\
\ and Annuities\n\n - **`control_no`**: The code that uniquely\
\ identifies a particular 1099-R document in the employer's records.\
\ \n - **`gross_1`**: The amount of gross distribution. \n \
\ - **`tax_amount_2a`**: The amount of distribution that is taxable.\
\ \n - **`fed_inc_tax_4`**: The amount of federal income tax withheld.\
\ \n - **`distribution_code_7`**: A code that identifies the type\
\ of distribution received. \n - **`distribution_percent_9`**:\
\ The percentage of total distribution received. \n - **`state_tax_14`**:\
\ The amount of state tax withheld. \n - **`state_no_15`**: The\
\ abbreviated name of the state and the payer's state tax identification\
\ number. \n\n **1099-G**\n 1099-G: Certain Government Payments\n\
\n - **`a_unemployment_comp_1`**: The amount of unemployment compensation.\
\ \n - **`a_state_inc_tax_2`**: The amount of state or local income\
\ tax refunds, credits, or offsets. \n - **`a_benefits_this_year_3`**:\
\ The amount of benefits repaid for the current year. \n - **`a_benefits_prev_year_3`**:\
\ The amount of benefits repaid for the previous year. \n - **`a_fed_inc_tax_4`**:\
\ The amount of federal income tax withheld. \n - **`b_unemployment_comp_1`**:\
\ The amount of unemployment compensation, paid family leave. \n\
\ - **`b_state_inc_tax_2`**: The amount of state or local income\
\ tax refunds, credits, or offsets. \n - **`b_benefits_this_year_3`**:\
\ The amount of benefits repaid for the current year. \n - **`b_benefits_prev_year_3`**:\
\ The amount of benefits repaid for the previous year. \n - **`b_fed_inc_tax_4`**:\
\ The amount of federal income tax withheld. \n\n **1099-K**\n \
\ 1099-K: Payment Card and Third Party Network Transactions\n\n\
\ - **`pse_name_phone`**: Payment settlement entity's name and\
\ telephone number. \n - **`account_no`**: A code that is unique\
\ to the recipient and the form, for example, a bank account number,\
\ employee ID, etc. \n - **`gross_1a`**: Gross amount of payment\
\ card/third-party network transactions. \n - **`gross_1b`**:\
\ The amount of Card Not Present transactions. \n - **`category_code_2`**:\
\ Merchant category code. \n - **`no_transactions_3`**: Number\
\ of payment transactions. \n - **`fed_inc_tax_4`**: The amount\
\ of federal income tax withheld. \n - **`january_5a`**: The total\
\ reportable payment transactions for this month. \n - **`february_5b`**:\
\ The total reportable payment transactions for this month. \n \
\ - **`march_5c`**: The total reportable payment transactions for\
\ this month. \n - **`april_5d`**: The total reportable payment\
\ transactions for this month. \n - **`may_5e`**: The total reportable\
\ payment transactions for this month. \n - **`june_5f`**: The\
\ total reportable payment transactions for this month. \n - **`july_5g`**:\
\ The total reportable payment transactions for this month. \n \
\ - **`august_5h`**: The total reportable payment transactions for\
\ this month. \n - **`september_5i`**: The total reportable payment\
\ transactions for this month. \n - **`october_5j`**: The total\
\ reportable payment transactions for this month. \n - **`november_5k`**:\
\ The total reportable payment transactions for this month. \n \
\ - **`december_5l`**: The total reportable payment transactions\
\ for this month. \n - **`state_6`**: State. \n - **`state_id_7`**:\
\ State identification number. \n - **`state_income_8`**: The\
\ amount of state income tax withheld. \n"
enum:
- W-2
- W-2c
- 1099-NEC
- 1099-SSA
- 1099-MISC
- 1099-INT
- 1099-R
- 1099-G
- 1099-K
omb_no:
type: string
description: OMB reference number.
year:
type: string
description: Calendar year.
form:
type: object
description: Information scanned from the payroll document.
properties:
recipient:
type: object
properties:
name:
type: string
description: Recipient name, as it appears on the form.
address:
type: object
description: Recipient address, as it appears on the form.
properties:
city:
type: string
description: Name of the city, town, district, or similar
regional entity.
country:
type: string
description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
format).
line1:
type: string
description: Address-Line 1, usually street address or P.O.
Box information.
line2:
type: string
description: Address-Line 2, usually the apartment or unit
number.
postal_code:
type: string
description: Zip code, or equivalent.
state:
type: string
description: State, county, province, region, or equivalent.
recipient_tin:
type: string
description: Recipient's tax identification number.
payer:
type: object
properties:
name:
type: string
description: Payer name, as it appears on the form.
address:
type: object
description: Payer address, as it appears on the form.
properties:
city:
type: string
description: Name of the city, town, district, or similar
regional entity.
country:
type: string
description: Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
format).
line1:
type: string
description: Address-Line 1, usually street address or P.O.
Box information.
line2:
type: string
description: Address-Line 2, usually the apartment or unit
number.
postal_code:
type: string
description: Zip code, or equivalent.
state:
type: string
description: State, county, province, region, or equivalent.
payer_tin:
type: string
description: Payer's tax identification number.
warnings:
type: array
description: Information on scan quality and missing fields.
items:
type: object
properties:
field_name:
type: string
description: Which field encountered the error.
message:
type: string
description: The `field_name` and warning message.
enum:
- not found
- value empty/bad format
- obfuscated
- obfuscated last two digits given
- obfuscated last four digits given
- 'field_name had non numeric chars removed, original value: '
- 'field_name invalid - non numeric value, original value: '
severity:
type: number
format: float
description: 'The severity of the encountered issue.
- `0.0`: The field was found, but its value was unclear or obfuscated.
- `0.5`: A field or value was not found, but unclear if it needed
to be present.
- `1.0`: A field or value was not found.
'
enum:
- 0.0
- 0.5
- 1.0
confidence:
type: string
description: "Indicator of how successful the scanning process went.\n\
\n- **`EXACT_MATCH`**: No errors found. \n- **`HIGH`**: 1 error was\
\ found. \n- **`MEDIUM`**: 2 errors were found. \n- **`LOW`**: 3\
\ errors were found. \n- **`NO_MATCH`**: 4 or more errors were found.\
\ This typically indicates the document's `form_type` did not match\
\ the scanned document. \n"
enum:
- EXACT_MATCH
- HIGH
- MEDIUM
- LOW
- NO_MATCH
ocr_page_count:
type: integer
description: Number of pages scanned.
error:
type: string
description: "An error was encountered during document retrieval.\n\n\
- **`invalid_document`**: The document was empty, cropped, missing\
\ required fields, or otherwise incomplete. \n- **`type_mismatch`**:\
\ The document does not match the classified type. \n- **`unrecognized_document_type`**:\
\ The document could not be classified. \n- **`unsupported_document_type`**:\
\ The document type is not supported. \n- **`unsupported_document_subtype`**:\
\ The document sub-type (e.g., 1099-C) is not supported. \n- **`unknown`**:\
\ An unknown issue occurred. The Argyle team will automatically be\
\ notified and will investigate. \n"
enum:
- invalid_document
- type_mismatch
- unrecognized_document_type
- unsupported_document_type
- unsupported_document_subtype
- unknown
nullable: true
metadata:
type: object
description: Additional, non-categorized information.
Paystub:
type: object
example:
id: 0187dc99-63be-bc96-51bf-af6b51d43687
account: 0187c66e-e7e5-811c-b006-2232f00f426a
payroll_document: 0186eb89-2e52-b3c5-ac6d-05e7debb2aff
deduction_list:
- amount: '38.10'
name: 401K
tax_classification: pre_tax
amount_ytd: '139.70'
- amount: '25.40'
name: Garnishment
tax_classification: post_tax
amount_ytd: '76.20'
- amount: '25.40'
name: Garnishment
tax_classification: post_tax
amount_ytd: '101.60'
filing_status:
- type: federal
location: null
status: married filing separately
- type: state
location: NY
status: married filing separately
tax_list:
- amount: '88.91'
name: Federal Withholding
type: federal
amount_ytd: '850.99'
- amount: '139.72'
name: Social Security Tax
type: fica
amount_ytd: '381.04'
status: completed
paystub_date: '2023-03-12T00:00:00Z'
paystub_period:
start_date: '2023-02-28T00:00:00Z'
end_date: '2023-03-07T00:00:00Z'
currency: USD
gross_pay: '1607.63'
deductions: '88.90'
taxes: '228.63'
net_pay: '1290.10'
reimbursements: '0.00'
hours: '49.60'
fees: null
net_pay_ytd: '12714.18'
gross_pay_ytd: '15730.10'
employer: Whole Goods
employment: 0186a27d-e5c6-735a-a359-6315b34d544c
employer_address:
city: New York
line1: 852 North W St
line2: Apt 221
state: NY
country: US
postal_code: '10014'
created_at: '2023-03-13T19:53:57.122Z'
updated_at: '2023-03-13T19:53:57.122Z'
destinations:
- reference: CHECKING *********2201
amount: '1290.10'
method: direct deposit
ach_deposit_account:
bank_name: NW Regional
routing_number: null
account_number: '*********2201'
card: null
hours_ytd: '422.00'
deductions_ytd: '533.40'
taxes_ytd: '2502.17'
gross_pay_list:
- name: Regular
type: base
start_date: '2023-02-28'
end_date: '2023-03-07'
rate: '25.6088'
hours: '49.5977'
amount: '1270.14'
hours_ytd: '422.0000'
amount_ytd: '13971.54'
- name: Commission
type: commission
start_date: '2023-03-04'
end_date: '2023-03-04'
rate: null
hours: null
amount: '337.49'
hours_ytd: null
amount_ytd: '1758.56'
gross_pay_list_totals:
base:
amount: '1270.14'
amount_ytd: '13971.54'
hours: '49.5977'
hours_ytd: '422.0000'
rate_implied: '25.6100'
rate_implied_ytd: '33.1100'
overtime: null
commission:
amount: '337.49'
amount_ytd: '1758.56'
hours: null
hours_ytd: null
rate_implied: null
rate_implied_ytd: null
bonus: null
other: null
metadata: null
properties:
id:
type: string
format: uuid
description: Unique ID of the paystub object.
account:
type: string
format: uuid
description: ID of the account associated with the paystub.
payroll_document:
type: string
format: uuid
description: 'ID of the [payroll document object](/api-reference/payroll-documents#object)
associated with this paystub.
'
deduction_list:
type: array
items:
$ref: '#/components/schemas/Deduction'
description: An itemized list of deductions listed on the paystub. Each
object corresponds to one line item.
filing_status:
type: array
items:
$ref: '#/components/schemas/FilingStatus'
description: Information on the user's filing status.
tax_list:
type: array
items:
$ref: '#/components/schemas/Tax'
description: An itemized list of tax withholdings listed on the paystub.
Each object corresponds to one line item.
status:
type: string
enum:
- completed
- scheduled
- cancelled
- excluded
description: 'Payment status of the paystub.
- `completed` — Payment has been made to the user.
- `scheduled` — Payment is scheduled to be made to the user.
- `cancelled` — Payment was cancelled, and was not nor will be paid to
the user.
- `excluded` — Tag used for dummy/sample/watermarked/test paystubs present
in the account. These paystubs are excluded when generating reports and
other calculations and should not be considered proof of income.
'
paystub_date:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the payment date, sourced from the paystub.
'
paystub_period:
type: object
properties:
start_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the start of the work period.
end_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the end of the work period.
description: Start date and end date of the work period.
currency:
type: string
description: Currency code ([ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)).
gross_pay:
type: string
description: Total gross pay from the paystub period before taxes or deductions.
deductions:
type: string
description: Total amount of deductions from the paystub period.
taxes:
type: string
description: Total tax amount from the paystub period.
net_pay:
type: string
description: Net pay (gross pay minus taxes and deductions) from the paystub
period.
reimbursements:
type: string
description: Total reimbursement amount from the paystub period.
hours:
type: string
description: Total hours worked during the paystub period.
fees:
type: string
description: Total fees incurred during the paystub period.
net_pay_ytd:
type: string
description: Net pay year-to-date, including this paystub.
gross_pay_ytd:
type: string
description: Gross pay year-to-date, including this paystub.
employer:
type: string
description: Employer name.
employment:
type: string
description: '[Employment](/api-reference/employments) ID. Can be used as
a filter when [listing paystubs](/api-reference/paystubs/list-all-paystubs).
'
employer_address:
type: object
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
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](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
format).
postal_code:
type: string
description: Zip code, or equivalent.
description: Object containing employer address information, sourced from
the paystub.
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the paystub object was created.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when a property value of the paystub object most recently changed.
destinations:
type: array
items:
$ref: '#/components/schemas/Destination'
description: Contains information on where and how pay was delivered to
the user.
hours_ytd:
type: string
description: Total hours worked year-to-date, including this paystub's work
period.
deductions_ytd:
type: string
description: Total deductions year-to-date, including amounts from this
paystub.
taxes_ytd:
type: string
description: Total taxes year-to-date, including amounts from this paystub.
gross_pay_list:
type: array
items:
$ref: '#/components/schemas/GrossPay'
description: An itemized list of gross pay listed on the paystub. Each object
corresponds to one line item.
gross_pay_list_totals:
type: object
properties:
base:
$ref: '#/components/schemas/GrossPayTotal'
overtime:
$ref: '#/components/schemas/GrossPayTotal'
commission:
$ref: '#/components/schemas/GrossPayTotal'
bonus:
$ref: '#/components/schemas/GrossPayTotal'
other:
$ref: '#/components/schemas/GrossPayTotal'
description: 'Sums the values of `gross_pay_list` objects based on their
`type`:
* **base** = base + pto
* **overtime** = overtime
* **commission** = commission
* **bonus** = bonus
* **other** = disability + benefits + tips + stock + other
'
metadata:
type: object
description: Additional, non-categorized information.
Deduction:
type: object
properties:
amount:
type: string
description: Amount of the deduction.
name:
type: string
description: Name or description of the deduction.
tax_classification:
type: string
enum:
- pre_tax
- post_tax
description: 'Tax classification.
- `pre_tax`
- `post_tax`
'
amount_ytd:
type: string
description: Total amount deducted year-to-date, including the amounts from
this paystub.
FilingStatus:
type: object
properties:
type:
type: string
enum:
- federal
- state
- local
description: 'Tax authority.
- `federal`
- `state`
- `local`
'
location:
type: string
description: 'Local jurisdiction. Values depend on `type`.
- if type is `federal` — `null`
- if type is `state` — state abbreviation code
- if type is `local` — city name or area code
'
status:
type: string
description: Marital status.
Tax:
type: object
properties:
amount:
type: string
description: Amount of the tax withholding.
name:
type: string
description: Name or description of the tax withholding.
type:
type: string
enum:
- federal
- state
- local
- fica
- other
description: 'Payroll tax type.
- `federal`
- `state`
- `local`
- `fica`
- `other`
'
amount_ytd:
type: string
description: 'Total tax withholdings year-to-date (specific to the tax `type`),
including the amounts from this paystub.
'
Destination:
type: object
properties:
reference:
type: string
description: Describes where the payment was sent, such as a checking account
or bank name.
amount:
type: string
description: Pay amount sent to the destination.
method:
type: string
description: Payment method, such as direct deposit.
ach_deposit_account:
type: object
properties:
bank_name:
type: string
description: Name of the bank account.
routing_number:
type: string
description: Routing number of the bank account.
account_number:
type: string
description: Account number of the bank account.
description: Details for bank account destinations.
card:
type: object
properties:
name:
type: string
description: Name of the card where the payout was sent.
number:
type: string
description: Card number.
description: Details for payout card destinations.
GrossPay:
type: object
properties:
name:
type: string
description: Name or description of the gross pay line item.
type:
type: string
enum:
- base
- pto
- overtime
- commission
- bonus
- disability
- benefits
- tips
- stock
- other
description: 'Categorized type of gross pay, based on `name`. Used in `gross_pay_list_totals`.
- `base`
- `pto`
- `overtime`
- `commission`
- `bonus`
- `disability`
- `benefits`
- `tips`
- `stock`
- `other`
'
start_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the start of the work period.
end_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the end of the work period.
rate:
type: string
description: Hourly rate of gross pay earnings for this line item.
hours:
type: string
description: Hours worked for this line item.
amount:
type: string
description: Gross pay earned from this line item.
hours_ytd:
type: string
description: Total hours worked year-to-date related to this gross pay line
item, including this paystub's work period.
amount_ytd:
type: string
description: Total gross pay earned year-to-date related to this gross pay
line item, including this paystub.
GrossPayTotal:
type: object
properties:
amount:
type: string
description: Gross pay earned from line items of this type.
amount_ytd:
type: string
description: Total gross pay earned year-to-date from line items of this
type, including this paystub.
hours:
type: string
description: Hours worked from line items of this type.
hours_ytd:
type: string
description: Hours worked year-to-date from line items of this type, including
this paystub.
rate_implied:
type: string
description: Calculated ratio of `amount` to `hours` of gross pay list totals.
rate_implied_ytd:
type: string
description: Calculated ratio of `amount_ytd` to `hours_ytd` of gross pay
list totals.
Rating:
type: object
example:
id: 0176a5bd-6ed4-1a21-8661-32bc3546e6de
account: 0187c66e-e7e5-811c-b006-2232f00f426a
rating: '4.98'
acceptance_rate: '0.91'
ontime_rate: '0.94'
achievements:
- count: 3
label: excellent_service
points: null
metadata: null
badge_url: www.partner.com/badgeinfo
description: Excellent Service
- count: 1
label: great_amenities
points: null
metadata: null
badge_url: www.partner.com/badgeinfo
description: Great Amenities
rewards:
- program_name: Driver Rewards Program
tier: Elite
valid_through: '2026-05-15'
points: '117'
employer: GigAndGo
created_at: '2023-03-15T13:19:55.723Z'
updated_at: '2023-03-15T13:19:55.723Z'
metadata: null
properties:
id:
type: string
format: uuid
description: Unique ID of the rating object.
account:
type: string
format: uuid
description: ID of the account associated with the rating object.
rating:
type: string
description: A normalized average of the user's ratings between 0 and 5.
Overall average, as payroll system do not typically provide ratings information
for individual events.
acceptance_rate:
type: string
description: Percent of the time the user accepts a task. Decimal between
0 and 1.
ontime_rate:
type: string
description: Percent of the time the user completes a task on time. Decimal
between 0 and 1.
achievements:
type: array
items:
type: object
description: Individual ratings or achievement information, sorted into
relevant key:value pairs. Varies by gig platform.
rewards:
type: array
description: Rewards program information.
items:
type: object
properties:
program_name:
type: string
description: Name of the rewards program.
tier:
type: string
description: Current rewards program tier or status.
valid_through:
type: string
description: Date until the current tier or status is valid.
points:
type: string
description: Points earned in the current rewards period.
employer:
type: string
description: Name of the user's employer.
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the rating object was created.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when a property value of the rating object most recently changed.
metadata:
type: object
description: Additional, non-categorized information.
Report:
type: object
example:
id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
reference_id: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
generated_at: '2023-03-09T16:22:06.081Z'
created_at: '2023-03-09T16:22:06.081Z'
type: voie
status: generated
file_url: www.argyle.com/storagename/pdf
json_url: www.argyle.com/storagename/json
last_synced_at: '2023-03-09T14:08:25.069Z'
accounts:
- id: 0187c66e-e7e5-811c-b006-2232f00f426a
item: item_123456789
last_synced_at: '2023-03-09T14:08:25.069105Z'
- id: 0185a8b8-60eb-80ca-7482-5f24504573f7
item: item_000000001
last_synced_at: '2023-03-01T05:10:59.558295Z'
metadata: {}
external_id: July_Connection
properties:
id:
type: string
format: uuid
description: 'Unique ID of the report object.
Also the "**Reference #**" on the report PDF.
'
user:
type: string
format: uuid
description: ID of the user associated with the report.
reference_id:
type: string
format: uuid
description: Report PDF identifier.
deprecated: true
generated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the report was requested.
deprecated: true
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the report was requested.
type:
type: string
enum:
- voe
- voie
- voe-mortgage
- voie-mortgage
description: 'The type of report.
- `voie` - Verification of Income and Employment
- `voe` - Verification of Employment
- `voie-mortgage` - Verification of Income and Employment, integrated
with Fannie Mae''s Desktop Underwriter (DU) validation service and Freddie
Mac''s asset and income modeler (AIM)
- `voe-mortgage` - Verification of Employment, integrated with Fannie
Mae''s Desktop Underwriter (DU) validation service and Freddie Mac''s
asset and income modeler (AIM)
'
status:
type: string
enum:
- waiting_for_sync
- generating
- generated
- failed
description: 'Progress of report generation.
- `waiting_for_sync`: Data from the connected payroll account is still
being retrieved.
- `generating`: The report is being generated.
- `generated`: The report is ready to download.
- `failed`: A system error occurred, preventing report generation.
'
file_url:
type: string
description: 'Download link to the report PDF.
This static URL redirects to a download page that requires [Argyle authentication
headers](/api-guide/overview#authentication). See the dropdown below for
more information.
Implementation requirements for client-side applications:
'
json_url:
type: string
description: 'Download link to the report in JSON.
This static URL redirects to a download page that requires [Argyle authentication
headers](/api-guide/overview#authentication). See the dropdown below for
more information.
'
last_synced_at:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the account used to generate the report was last scanned for new
data before the report was generated. If multiple accounts were used,
the more recent timestamp.
Used to populate the "Data as of" date on the report PDF.
'
accounts:
type: array
items:
type: object
properties:
id:
type: string
format: uuid
description: ID of the account.
item:
type: string
description: ID of the Item in Link through which the account was
connected.
last_synced_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the account was last scanned for new data before the report
was generated.
description: The accounts used to generate the report.
metadata:
type: object
description: Any metadata for internal use added when generating the report.
external_id:
type: string
description: The [external_id](/api-reference/users#object-external_id)
of the user, otherwise `null`.
Shift:
type: object
example:
id: 0183d245-b5c1-2a6d-5e37-1b831d765c5d
account: 0187c66e-e7e5-811c-b006-2232f00f426a
employer: Whole Goods
created_at: '2023-04-27T07:02:01.279Z'
updated_at: '2023-04-27T07:02:01.279Z'
status: completed
type: hourly
start_datetime: '2023-04-26T00:00:00Z'
end_datetime: '2023-04-26T08:00:00Z'
all_datetimes:
shift_start: '2023-04-26T00:00:00Z'
shift_end: '2023-04-26T08:00:00Z'
breaks:
- break_start: '2023-04-26T03:36:00Z'
break_end: '2023-04-26T04:24:00Z'
hours: '7.2'
timezone: America/New_York
location: 302 East N St, New York, NY 10014, US
metadata: null
properties:
id:
type: string
format: uuid
description: Unique ID of the shift.
account:
type: string
format: uuid
description: Unique ID of the account associated with the shift.
employer:
type: string
description: Employer name.
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the shift object was created.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when a property value of the shift object most recently changed.
status:
type: string
enum:
- scheduled
- in_progress
- completed
- cancelled
description: Current state of the shift.
type:
type: string
enum:
- hourly
- services
description: The type of shift.
start_datetime:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the shift started.
end_datetime:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the shift ended.
all_datetimes:
type: object
description: Contains information on when the shift started and ended, and
any breaks taken in between.
properties:
shift_start:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the shift started.
shift_end:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the shift ended.
breaks:
type: array
items:
type: object
properties:
break_start:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the break started.
break_end:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the break ended.
hours:
type: string
description: Time duration of the shift, subtracting breaks. Up to four
decimal places.
timezone:
type: string
description: Timezone ([IANA](https://www.iana.org/time-zones)) where the
shift took place.
location:
type: string
description: Full address of where the shift took place.
metadata:
type: object
description: Additional, non-categorized information.
UserForm:
type: object
example:
id: 0186ef31-4a6c-bc77-ffb7-a9db11505d7d
account: 0182c1e2-59ec-16ba-34e2-4f20594a7df7
data:
income_source: Block & Fish Tackle
payroll_provider: Payroll Corp.
created_at: '2023-03-17T10:50:30.414Z'
updated_at: '2023-03-17T10:50:31.621Z'
properties:
id:
type: string
format: uuid
description: Unique ID of the user form.
account:
type: string
format: uuid
description: ID of the account associated with the user form.
data:
type: object
properties:
income_source:
type: string
description: User response entered into the `Income source` input field.
example: Block & Fish Tackle
payroll_provider:
type: string
description: User response entered into the `Payroll provider (optional)`
input field.
example: Payroll Corp.
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the user form was submitted.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the user form object was last updated.
CreateUserTokenRequest:
type: object
properties:
user:
type: string
format: uuid
description: ID of the user object.
required:
- user
CreateUserTokenResponse:
type: object
properties:
user_token:
type: string
description: The generated user token.
UserUpload:
type: object
example:
id: 01320596-2c3d-189c-53e7-a8ce6d625b33
account: 01856c65-43b6-8b5d-b32a-56b8fbda5c28
document_type: proof-of-identity
file_url: www.argyle.com/storagename
file_name: my_drivers_license.pdf
metadata:
employment: null
ocr_data: null
ocr_authenticity: null
ocr_authenticity_score: null
processing:
classification: unauthorized
ocr: unauthorized
authenticity: unauthorized
created_at: '2024-07-08T13:43:49.864Z'
updated_at: '2024-07-08T13:43:51.868Z'
properties:
id:
type: string
format: uuid
description: Unique ID of the uploaded document.
account:
type: string
format: uuid
description: ID of the account associated with the uploaded document.
document_type:
type: string
description: 'The document [category](/workflows/document-processing#enabling-document-uploads)
in Link the user selected, or the `document_type` provided when [uploading
via the API](/api-reference/user-uploads#upload).
If [OCR processing](/integrations/ocr/ocrolus) is enabled, this value
is overwritten when the document is found to be a different type.
Possible values:
- `paystubs`
- `W-2`
- `1099`
- `proof-of-identity`
- `proof-of-address`
- `miscellaneous`
'
file_url:
type: string
description: 'URL linking to the original uploaded document file.
This static URL redirects to a download page that requires [Argyle authentication
headers](/api-guide/overview#authentication).
**Implementation requirements for client-side applications**
1. Ensure your HTTP client or library (for example, Axios or Python requests)
is configured to follow redirects.
2. Append [Basic authentication headers](/api-guide/overview#authentication)
for Argyle to the file download request.
'
file_name:
type: string
description: File name of the uploaded document on the user's computer or
phone.
metadata:
type: object
description: Contains document OCR and authenticity information.
properties:
employment:
type: object
deprecated: true
description: Contains document verification data.
ocr_data:
type: object
description: 'Contains [Ocrolus OCR](/integrations/ocr/ocrolus#api)
data.
Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.
'
ocr_authenticity:
type: object
description: 'Contains [Ocrolus authenticity](/integrations/ocr/ocrolus#api)
data.
Includes individual instances of tampering or other authenticity-related
edits made to the uploaded document that were detected.
Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.
'
ocr_authenticity_score:
type: integer
description: '[Ocrolus authenticity score](/integrations/ocr/ocrolus#authenticity-scores).
Single score that captures the likelihood the uploaded document is
authentic, as determined by Ocrolus.
Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.
'
processing:
type: object
description: Contains OCR processing statuses.
properties:
classification:
type: string
enum:
- unauthorized
- idle
- in_progress
- completed
- failed
description: 'OCR classification processing status.
- `unauthorized`: Classification permissions are not enabled.
- `idle`: Processing has not started.
- `in_progress`: Processing is in progress.
- `completed`: Processing successfully completed.
- `failed`: Processing failed.
'
ocr:
type: string
enum:
- unauthorized
- idle
- in_progress
- completed
- failed
description: 'Full OCR processing status.
- `unauthorized`: Full OCR permissions are not enabled.
- `idle`: Processing has not started.
- `in_progress`: Processing is in progress.
- `completed`: Processing successfully completed.
- `failed`: Processing failed.
'
authenticity:
type: string
enum:
- unauthorized
- idle
- in_progress
- completed
- failed
description: 'OCR authenticity processing status.
- `unauthorized`: Full OCR permissions are not enabled.
Full OCR permissions are required for authenticity.
- `idle`: Processing has not started.
- `in_progress`: Processing is in progress.
- `completed`: Processing successfully completed.
- `failed`: Processing failed.
'
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the uploaded document was submitted.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the user upload object was last updated.
User:
type: object
properties:
id:
type: string
format: uuid
description: Unique ID of the user.
example: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
created_at:
type: string
format: date-time
description: Timestamp (ISO 8601) when the user object was created.
example: '2023-01-30T22:25:38.971Z'
items_connected:
type: array
items:
type: string
description: Items the user has connected through Link. Typically employers
or payroll platforms.
example:
- item_123456789
- item_987654321
employers_connected:
type: array
items:
type: string
description: Individual employers associated with the connected Items.
example:
- Whole Goods
- Bullseye
external_metadata:
type: object
description: 'Free-text field where additional context for the user can
be added.
- Can be any valid JSON, such as a string or object.
Using `external_id` (see below) is recommended when the ability to filter
users by an external value is needed.
'
example:
notes: Moved to stage 2 of loan approval.
category: Summer Initiative
external_id:
type: string
description: 'Free-text field where [additional context](/overview/data-structure/users#external-identifiers)
for the user can be added.
- Can be any string of 100 characters or less.
- Multiple users can have the same `external_id`.
Often used to group users, or associate your internal ID''s to users.
- Can be attached to [invites](/console/flows/email-sms-templates#inviting-new-users)
or [shareable URLs](/console/flows/shareable-urls#customizations).
- Can be used as a query parameter when [listing users](/api-reference/users#list).
(Only exact matches are supported)
- Can be used to search for specific users within the [Connections](https://console.argyle.com/connections)
section of Console.
- Will appear on billing CSVs if associated with a user.
'
example: July_Connection
first_name:
type: string
description: First name of the user.
example: Sarah
last_name:
type: string
description: Last name of the user.
example: Longfield
email:
type: string
description: Email of the user.
example: sarah@email.com
phone_number:
type: string
description: Phone number of the user. E.164 international format.
example: '+12125555555'
ssn:
type: string
description: Social Security number of the user.
example: null
address:
type: object
description: Address of the user.
properties:
city:
type: string
description: Name of the city, town, district, or similar regional entity.
example: null
line1:
type: string
description: Address-Line 1, usually street address or P.O. Box information.
example: null
line2:
type: string
description: Address-Line 2, usually the apartment or unit number.
example: null
state:
type: string
description: State, county, province, region, or equivalent.
example: null
country:
type: string
description: Two-letter country code (ISO 3166-1 alpha-2 format).
example: null
postal_code:
type: string
description: Zip code, or equivalent.
example: null
birth_date:
type: object
description: Date of birth of the user.
properties:
year:
type: integer
description: Birth year (1900 or later).
example: null
month:
type: integer
description: Birth month (between 1 and 12).
example: null
day:
type: integer
description: Birth day (between 1 and 31).
example: null
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: &id005
- 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` - 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: *id005
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` - 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` - 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'
PartnerPaystub:
type: object
example:
id: 0187dc99-63be-bc96-51bf-af6b51d43687
account: 0187c66e-e7e5-811c-b006-2232f00f426a
payroll_document: 0186eb89-2e52-b3c5-ac6d-05e7debb2aff
deduction_list:
- amount: '38.10'
name: 401K
tax_classification: pre_tax
amount_ytd: '139.70'
- amount: '25.40'
name: Garnishment
tax_classification: post_tax
amount_ytd: '76.20'
- amount: '25.40'
name: Garnishment
tax_classification: post_tax
amount_ytd: '101.60'
filing_status:
- type: federal
location: null
status: married filing separately
- type: state
location: NY
status: married filing separately
tax_list:
- amount: '88.91'
name: Federal Withholding
type: federal
amount_ytd: '850.99'
- amount: '139.72'
name: Social Security Tax
type: fica
amount_ytd: '381.04'
status: completed
paystub_date: '2023-03-12T00:00:00Z'
paystub_period:
start_date: '2023-02-28T00:00:00Z'
end_date: '2023-03-07T00:00:00Z'
currency: USD
gross_pay: '1607.63'
deductions: '88.90'
taxes: '228.63'
net_pay: '1290.10'
reimbursements: '0.00'
hours: '49.60'
fees: null
net_pay_ytd: '12714.18'
gross_pay_ytd: '15730.10'
employer: Whole Goods
employment: 0186a27d-e5c6-735a-a359-6315b34d544c
employer_address:
city: New York
line1: 852 North W St
line2: Apt 221
state: NY
country: US
postal_code: '10014'
created_at: '2023-03-13T19:53:57.122Z'
updated_at: '2023-03-13T19:53:57.122Z'
destinations:
- reference: CHECKING *********2201
amount: '1290.10'
method: direct deposit
ach_deposit_account:
bank_name: NW Regional
routing_number: null
account_number: '*********2201'
card: null
hours_ytd: '422.00'
deductions_ytd: '533.40'
taxes_ytd: '2502.17'
gross_pay_list:
- name: Regular
type: base
start_date: '2023-02-28'
end_date: '2023-03-07'
rate: '25.6088'
hours: '49.5977'
amount: '1270.14'
hours_ytd: '422.0000'
amount_ytd: '13971.54'
- name: Commission
type: commission
start_date: '2023-03-04'
end_date: '2023-03-04'
rate: null
hours: null
amount: '337.49'
hours_ytd: null
amount_ytd: '1758.56'
gross_pay_list_totals:
base:
amount: '1270.14'
amount_ytd: '13971.54'
hours: '49.5977'
hours_ytd: '422.0000'
rate_implied: '25.6100'
rate_implied_ytd: '33.1100'
overtime: null
commission:
amount: '337.49'
amount_ytd: '1758.56'
hours: null
hours_ytd: null
rate_implied: null
rate_implied_ytd: null
bonus: null
other: null
metadata: null
properties:
id:
type: string
format: uuid
description: Unique ID of the paystub object.
account:
type: string
format: uuid
description: ID of the account associated with the paystub.
payroll_document:
type: string
format: uuid
description: 'ID of the [payroll document object](/api-reference/payroll-documents#object)
associated with this paystub.
'
deduction_list:
type: array
items:
$ref: '#/components/schemas/Deduction'
description: An itemized list of deductions listed on the paystub. Each
object corresponds to one line item.
filing_status:
type: array
items:
$ref: '#/components/schemas/FilingStatus'
description: Information on the user's filing status.
tax_list:
type: array
items:
$ref: '#/components/schemas/Tax'
description: An itemized list of tax withholdings listed on the paystub.
Each object corresponds to one line item.
status:
type: string
enum:
- completed
- scheduled
- cancelled
- excluded
description: 'Payment status of the paystub.
- `completed` — Payment has been made to the user.
- `scheduled` — Payment is scheduled to be made to the user.
- `cancelled` — Payment was cancelled, and was not nor will be paid to
the user.
- `excluded` — Tag used for dummy/sample/watermarked/test paystubs present
in the account. These paystubs are excluded when generating reports and
other calculations and should not be considered proof of income.
'
paystub_date:
type: string
format: date-time
description: 'Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the payment date, sourced from the paystub.
'
paystub_period:
type: object
properties:
start_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the start of the work period.
end_date:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
of the end of the work period.
description: Start date and end date of the work period.
currency:
type: string
description: Currency code ([ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)).
gross_pay:
type: string
description: Total gross pay from the paystub period before taxes or deductions.
deductions:
type: string
description: Total amount of deductions from the paystub period.
taxes:
type: string
description: Total tax amount from the paystub period.
net_pay:
type: string
description: Net pay (gross pay minus taxes and deductions) from the paystub
period.
reimbursements:
type: string
description: Total reimbursement amount from the paystub period.
hours:
type: string
description: Total hours worked during the paystub period.
fees:
type: string
description: Total fees incurred during the paystub period.
net_pay_ytd:
type: string
description: Net pay year-to-date, including this paystub.
gross_pay_ytd:
type: string
description: Gross pay year-to-date, including this paystub.
employer:
type: string
description: Employer name.
employment:
type: string
description: '[Employment](/api-reference/employments) ID. Can be used as
a filter when [listing paystubs](/api-reference/paystubs/list-all-paystubs).
'
employer_address:
type: object
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
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](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
format).
postal_code:
type: string
description: Zip code, or equivalent.
description: Object containing employer address information, sourced from
the paystub.
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the paystub object was created.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when a property value of the paystub object most recently changed.
destinations:
type: array
items:
$ref: '#/components/schemas/Destination'
description: Contains information on where and how pay was delivered to
the user.
hours_ytd:
type: string
description: Total hours worked year-to-date, including this paystub's work
period.
deductions_ytd:
type: string
description: Total deductions year-to-date, including amounts from this
paystub.
taxes_ytd:
type: string
description: Total taxes year-to-date, including amounts from this paystub.
gross_pay_list:
type: array
items:
$ref: '#/components/schemas/GrossPay'
description: An itemized list of gross pay listed on the paystub. Each object
corresponds to one line item.
gross_pay_list_totals:
type: object
properties:
base:
$ref: '#/components/schemas/GrossPayTotal'
overtime:
$ref: '#/components/schemas/GrossPayTotal'
commission:
$ref: '#/components/schemas/GrossPayTotal'
bonus:
$ref: '#/components/schemas/GrossPayTotal'
other:
$ref: '#/components/schemas/GrossPayTotal'
description: 'Sums the values of `gross_pay_list` objects based on their
`type`:
* **base** = base + pto
* **overtime** = overtime
* **commission** = commission
* **bonus** = bonus
* **other** = disability + benefits + tips + stock + other
'
metadata:
type: object
description: Additional, non-categorized information.
PartnerUserUpload:
type: object
example:
id: 01320596-2c3d-189c-53e7-a8ce6d625b33
account: 01856c65-43b6-8b5d-b32a-56b8fbda5c28
document_type: proof-of-identity
file_url: www.argyle.com/storagename
file_name: my_drivers_license.pdf
metadata:
employment: null
ocr_data: null
ocr_authenticity: null
ocr_authenticity_score: null
processing:
classification: unauthorized
ocr: unauthorized
authenticity: unauthorized
created_at: '2024-07-08T13:43:49.864Z'
updated_at: '2024-07-08T13:43:51.868Z'
properties:
id:
type: string
format: uuid
description: Unique ID of the uploaded document.
account:
type: string
format: uuid
description: ID of the account associated with the uploaded document.
document_type:
type: string
description: 'The document [category](/workflows/document-processing#enabling-document-uploads)
in Link the user selected, or the `document_type` provided when [uploading
via the API](/api-reference/user-uploads#upload).
If [OCR processing](/integrations/ocr/ocrolus) is enabled, this value
is overwritten when the document is found to be a different type.
Possible values:
- `paystubs`
- `W-2`
- `1099`
- `proof-of-identity`
- `proof-of-address`
- `miscellaneous`
'
file_url:
type: string
description: 'URL linking to the original uploaded document file.
This static URL redirects to a download page that requires [Argyle authentication
headers](/api-guide/overview#authentication).
**Implementation requirements for client-side applications**
1. Ensure your HTTP client or library (for example, Axios or Python requests)
is configured to follow redirects.
2. Append [Basic authentication headers](/api-guide/overview#authentication)
for Argyle to the file download request.
'
file_name:
type: string
description: File name of the uploaded document on the user's computer or
phone.
metadata:
type: object
description: Contains document OCR and authenticity information.
properties:
employment:
type: object
deprecated: true
description: Contains document verification data.
ocr_data:
type: object
description: 'Contains [Ocrolus OCR](/integrations/ocr/ocrolus#api)
data.
Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.
'
ocr_authenticity:
type: object
description: 'Contains [Ocrolus authenticity](/integrations/ocr/ocrolus#api)
data.
Includes individual instances of tampering or other authenticity-related
edits made to the uploaded document that were detected.
Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.
'
ocr_authenticity_score:
type: integer
description: '[Ocrolus authenticity score](/integrations/ocr/ocrolus#authenticity-scores).
Single score that captures the likelihood the uploaded document is
authentic, as determined by Ocrolus.
Available for paystubs, W-2s, and 1099s when Ocrolus is enabled.
'
processing:
type: object
description: Contains OCR processing statuses.
properties:
classification:
type: string
enum:
- unauthorized
- idle
- in_progress
- completed
- failed
description: 'OCR classification processing status.
- `unauthorized`: Classification permissions are not enabled.
- `idle`: Processing has not started.
- `in_progress`: Processing is in progress.
- `completed`: Processing successfully completed.
- `failed`: Processing failed.
'
ocr:
type: string
enum:
- unauthorized
- idle
- in_progress
- completed
- failed
description: 'Full OCR processing status.
- `unauthorized`: Full OCR permissions are not enabled.
- `idle`: Processing has not started.
- `in_progress`: Processing is in progress.
- `completed`: Processing successfully completed.
- `failed`: Processing failed.
'
authenticity:
type: string
enum:
- unauthorized
- idle
- in_progress
- completed
- failed
description: 'OCR authenticity processing status.
- `unauthorized`: Full OCR permissions are not enabled.
Full OCR permissions are required for authenticity.
- `idle`: Processing has not started.
- `in_progress`: Processing is in progress.
- `completed`: Processing successfully completed.
- `failed`: Processing failed.
'
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the uploaded document was submitted.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the user upload object was last updated.
PartnerCreateUserResponse:
type: object
description: Response returned after creating a partner user.
properties:
user_token:
type: string
description: Token associated with the created user.
id:
type: string
format: uuid
description: Unique ID of the user.
PartnerAddress:
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.
PartnerBirthDate:
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).
PartnerOpenBankingEndUser:
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.
PartnerOpenBanking:
type: object
description: Banking-specific user metadata.
properties:
end_user:
$ref: '#/components/schemas/PartnerOpenBankingEndUser'
PartnerUserCreateRequest:
type: object
properties:
client:
type: string
format: uuid
description: 'ID of the client on whose behalf the user is created.
Provided to you by your Argyle Customer Success manager.
'
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/PartnerAddress'
birth_date:
$ref: '#/components/schemas/PartnerBirthDate'
external_metadata:
type: object
description: Additional metadata for internal partner workflows.
additionalProperties: true
properties:
suppress_verification:
type: boolean
description: Set to `true` for banking and document verification workflows.
open_banking:
$ref: '#/components/schemas/PartnerOpenBanking'
external_id:
type: string
nullable: true
description: External identifier for your internal mapping.
required:
- client
PartnerUserUpdateRequest:
type: object
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/PartnerAddress'
birth_date:
$ref: '#/components/schemas/PartnerBirthDate'
external_metadata:
type: object
description: Additional metadata for internal partner workflows.
additionalProperties: true
properties:
suppress_verification:
type: boolean
description: Set to `true` for banking and document verification workflows.
open_banking:
$ref: '#/components/schemas/PartnerOpenBanking'
external_id:
type: string
nullable: true
description: External identifier for your internal mapping.
PartnerUser:
type: object
description: Partner 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/PartnerAddress'
birth_date:
$ref: '#/components/schemas/PartnerBirthDate'
external_metadata:
type: object
description: Additional metadata for internal partner workflows.
additionalProperties: true
external_id:
type: string
nullable: true
description: External identifier for your internal mapping.
PartnerSessionCreateConfiguration:
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.
PartnerSessionConfiguration:
allOf:
- $ref: '#/components/schemas/PartnerSessionCreateConfiguration'
PartnerSessionCreateRequest:
type: object
properties:
verification:
type: string
format: uuid
description: ID of the verification used to initialize the session.
configuration:
$ref: '#/components/schemas/PartnerSessionCreateConfiguration'
required:
- verification
PartnerSession:
type: object
description: Partner connection session object.
properties:
verification:
type: string
format: uuid
description: Verification ID associated with the session.
configuration:
$ref: '#/components/schemas/PartnerSessionConfiguration'
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.
PartnerVerificationListResponse:
type: object
description: Paginated list of partner 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/PartnerVerification'
PartnerVerification:
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.
client:
type: string
format: uuid
description: ID of the client on whose behalf the verification was requested.
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/PartnerVerificationStatus'
report:
$ref: '#/components/schemas/PartnerVerificationReport'
employments:
type: array
description: List of employments for the user. Documents only.
items:
$ref: '#/components/schemas/PartnerVerificationEmployment'
loan:
$ref: '#/components/schemas/PartnerVerificationLoan'
billing:
$ref: '#/components/schemas/PartnerVerificationBilling'
data_source:
type: string
enum:
- payroll
- banking
- documents
description: Source of verification data.
PartnerVerificationStatus:
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/PartnerVerificationError'
PartnerVerificationError:
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/PartnerVerificationErrorResource'
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
PartnerVerificationErrorResource:
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.
PartnerReportCustomField:
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.
PartnerVerificationReportConfiguration:
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/PartnerReportCustomField'
PartnerVerificationReport:
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: &id006
- 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` - 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/PartnerVerificationReportConfiguration'
PartnerVerificationEmployment:
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`.
PartnerVerificationEmploymentRequest:
allOf:
- $ref: '#/components/schemas/PartnerVerificationEmployment'
- type: object
required:
- employer
- status
- hire_date
PartnerVerificationLoan:
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.
PartnerVerificationBilling:
type: object
description: Optional billing details.
properties:
cost_center:
type: string
description: Cost center identifier.
PartnerVerificationCreateReportRequest:
type: object
description: Report request configuration.
properties:
type:
type: string
enum: *id006
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` - Mortgage document-based verification of income,
integrated with Freddie Mac''s AIM Check.'
configuration:
allOf:
- $ref: '#/components/schemas/PartnerVerificationReportConfiguration'
- description: Optional banking report configurations.
required:
- type
PartnerVerificationRefreshReportRequest:
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` - Mortgage document-based verification of income,
integrated with Freddie Mac''s AIM Check.'
configuration:
allOf:
- $ref: '#/components/schemas/PartnerVerificationReportConfiguration'
- description: Optional banking report configurations.
required:
- type
PartnerVerificationCreateRequest:
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/PartnerVerificationEmploymentRequest'
report:
$ref: '#/components/schemas/PartnerVerificationCreateReportRequest'
loan:
$ref: '#/components/schemas/PartnerVerificationLoan'
billing:
$ref: '#/components/schemas/PartnerVerificationBilling'
required:
- user
- report
PartnerVerificationRefreshRequest:
type: object
properties:
user:
type: string
format: uuid
description: User ID for the verification refresh.
report:
$ref: '#/components/schemas/PartnerVerificationRefreshReportRequest'
loan:
$ref: '#/components/schemas/PartnerVerificationLoan'
billing:
$ref: '#/components/schemas/PartnerVerificationBilling'
required:
- user
- report
PartnerVerificationUpdateRequest:
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/PartnerVerificationLoan'
billing:
$ref: '#/components/schemas/PartnerVerificationBilling'
employments:
type: array
description: Updated list of employments for the user.
items:
$ref: '#/components/schemas/PartnerVerificationEmploymentRequest'
PartnerWebhookSubscriptionRequest:
type: object
properties:
events:
type: array
description: '`verifications.updated` or `verifications.creation_failed`'
items:
type: string
enum:
- verifications.updated
- verifications.creation_failed
example: verifications.updated
name:
type: string
example: name-for-the-webhook-subscription
description: Your name for the webhook subscription.
url:
type: string
example: https://your-webhook-backend.com
description: Where you want to receive webhook delivery. Argyle handles
URL encoding for webhook URLs. Send the URL in its normal, unencoded form.
secret:
type: string
example: optional-secret
description: Optional secret used to verify webhooks.
config:
type: object
description: Optional webhook delivery configuration.
example:
include_resource: true
required:
- events
- name
- url
PartnerVerificationWebhookMessage:
type: object
properties:
event:
type: string
description: '`verifications.updated`'
example: verifications.updated
name:
type: string
description: Name used for the webhook subscription.
data:
type: object
properties:
user:
type: string
format: uuid
description: ID of the user.
example: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
verification:
type: string
format: uuid
description: ID of the verification.
example: 43a2c6c3-1e63-91e5-88e3-f9ab2dcc489b
client:
type: string
format: uuid
description: ID of the client.
example: 39096494-45c8-4fd8-9454-3d1cb2d62db7
resource:
$ref: '#/components/schemas/PartnerVerification'
PartnerVerificationCreationFailedWebhookMessage:
type: object
properties:
event:
type: string
description: '`verifications.creation_failed`'
example: verifications.creation_failed
name:
type: string
description: Name used for the webhook subscription.
data:
type: object
properties:
user:
type: string
format: uuid
description: ID of the user.
example: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client:
type: string
format: uuid
description: ID of the client.
example: 39096494-45c8-4fd8-9454-3d1cb2d62db7
context:
$ref: '#/components/schemas/PartnerVerificationCreationFailedContext'
example:
event: verifications.creation_failed
name: name-for-the-webhook-subscription
data:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
client: 39096494-45c8-4fd8-9454-3d1cb2d62db7
context:
user: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
attempted_at: '2023-03-09T16:22:06.081Z'
channel: encompass
data_source: banking
report_type: voa
loan:
number: '1234'
borrower_id: ABC789
application_id: '2121313'
officer_email: john.doe@mortgage.com
billing:
cost_center: '5'
PartnerVerificationCreationFailedContext:
type: object
properties:
user:
type: string
format: uuid
description: ID of the user.
example: 018051aa-f7a9-a0db-2f38-6cfa325e9d69
attempted_at:
type: string
format: date-time
description: Time when Argyle attempted to create the verification.
example: '2023-03-09T16:22:06.081Z'
channel:
type: string
description: Channel where verification creation was attempted.
example: encompass
data_source:
type: string
description: Data source requested for the verification.
example: banking
report_type:
type: string
description: Report type requested for the verification.
example: voa
loan:
$ref: '#/components/schemas/PartnerVerificationLoan'
billing:
$ref: '#/components/schemas/PartnerVerificationBilling'
Vehicle:
type: object
example:
id: 01763a69-5cbe-2edb-ade1-5591157c354d
account: 0187c66e-e7e5-811c-b006-2232f00f426a
identification: AEWUQ7
make: Ford
model: Mondeo
type: car
year: 1998
vin: QUICELDKTRQJ4S33C
employer: GigAndGo
created_at: '2023-02-09T13:42:03.966Z'
updated_at: '2023-02-09T13:42:03.966Z'
metadata: null
properties:
id:
type: string
format: uuid
description: Unique ID of the vehicle.
account:
type: string
format: uuid
description: ID of the account associated with the vehicle.
identification:
type: string
description: License plate number or similar vehicle identifier.
make:
type: string
description: Vehicle brand or manufacturer.
model:
type: string
description: Vehicle model.
type:
type: string
enum:
- car
- pedestrian
- ebike
- bicycle
- scooter
- motorcycle
- other
description: The type of vehicle.
year:
type: string
description: Year the vehicle was made.
vin:
type: string
description: Vehicle Identification Number (VIN).
employer:
type: string
description: Name of the user's employer.
created_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when the vehicle object was created.
updated_at:
type: string
format: date-time
description: Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601))
when a property value of the vehicle object most recently changed.
metadata:
type: object
description: Additional, non-categorized information.