Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique ID of the verification. |
| user | string | ID of the user associated with the verification. |
| created_at | string | Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the verification was requested. |
| updated_at | string | Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the verification object was last updated. |
| channel | string | Origin of the verification order. |
| status | object | |
| report | object | |
| employments | array | List of employments for the user. Documents only. |
| loan | object | |
| billing | object | |
| configuration | object | |
| data_source | string | Source of verification data. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/argyle9a25/json-schema/argyle9a25-client-verification-schema.json",
"title": "ClientVerification",
"x-generated": "2026-11-10",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/argyle9a25-verifications-api-openapi.yml#/components/schemas/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"
],
"description": "Origin of the verification order."
},
"status": {
"$ref": "#/$defs/ClientVerificationStatus"
},
"report": {
"$ref": "#/$defs/ClientVerificationReport"
},
"employments": {
"type": "array",
"description": "List of employments for the user. Documents only.",
"items": {
"$ref": "#/$defs/ClientVerificationEmployment"
}
},
"loan": {
"$ref": "#/$defs/ClientVerificationLoan"
},
"billing": {
"$ref": "#/$defs/ClientVerificationBilling"
},
"configuration": {
"$ref": "#/$defs/ClientVerificationConfiguration"
},
"data_source": {
"type": "string",
"enum": [
"payroll",
"banking",
"documents"
],
"description": "Source of verification data."
}
},
"$defs": {
"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."
}
}
},
"ClientVerificationBilling": {
"type": "object",
"description": "Optional billing details for regular payroll and mortgage verification workflows.",
"properties": {
"cost_center": {
"type": "string",
"description": "Cost center identifier."
}
}
},
"ClientVerificationConfiguration": {
"type": "object",
"properties": {
"notified_recipients": {
"type": [
"array",
"null"
],
"description": "Email addresses that receive client notifications about the verification's progress.",
"items": {
"type": "string",
"format": "email"
}
}
}
},
"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",
"null"
],
"format": "date",
"description": "Employment end date in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. `null` when employment `status` is `active`."
}
}
},
"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": "#/$defs/ClientVerificationErrorResource"
}
}
}
},
"ClientVerificationErrorResource": {
"type": "object",
"description": "Verification error resource details.",
"properties": {
"id": {
"type": [
"string",
"null"
],
"description": "ID of the associated resource, if available."
},
"type": {
"type": "string",
"description": "Resource type."
},
"name": {
"type": "string",
"description": "Resource name."
}
}
},
"ClientVerificationLoan": {
"type": "object",
"description": "Optional loan details for regular payroll and mortgage verification workflows.",
"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."
},
"division": {
"type": "string",
"enum": [
"wholesale",
"retail"
],
"description": "Loan division. Set when the verification is ordered and inherited by reverifications."
}
}
},
"ClientVerificationReport": {
"type": "object",
"description": "Report information.",
"properties": {
"id": {
"type": [
"string",
"null"
],
"format": "uuid",
"description": "Unique ID of the report.\n\nOnly available when verification state is `COMPLETED`.\n"
},
"type": {
"type": "string",
"enum": [
"voie",
"voe",
"voie-government",
"voa",
"voi",
"voai",
"voe-transactions",
"doc-voi-mortgage"
],
"description": "The type of report.\n\nPayroll:\n- `voie` - Verification of Income and Employment.\n- `voe` - Verification of Employment.\n- `voie-government` - Government income verification.\n\nBanking:\n- `voa` - Banking verification of assets.\n- `voi` - Banking verification of income.\n- `voai` - Banking verification of income and assets.\n- `voe-transactions` - Banking verification of employment.\n\nDocuments:\n- `doc-voi-mortgage` - Mortgage document-based verification of income, integrated with Freddie Mac's AIM Check."
},
"self_certification": {
"type": [
"boolean",
"null"
],
"description": "For `voie-government` reports, indicates whether the applicant self-certification flow is enabled in Link.\n\nDefaults to `true` for `voie-government` reports and `null` for other report types.\n"
},
"file_url": {
"type": [
"string",
"null"
],
"description": "Download link to the report PDF.\n\nRequires [Argyle authentication headers](/api-guide/overview#authentication). Only available when verification state is `COMPLETED`.\n"
},
"json_url": {
"type": [
"string",
"null"
],
"description": "Download link to the report in JSON.\n\nRequires [Argyle authentication headers](/api-guide/overview#authentication). Only available when verification state is `COMPLETED`.\n"
},
"configuration": {
"$ref": "#/$defs/ClientVerificationReportConfiguration"
}
}
},
"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)).\n\n- `VOAI` reports - controls the length of asset history\n- `VOA` reports - controls the length of asset history\n- `VOI` reports - controls the length of income history\n"
},
"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)).\n\n- `VOAI` reports - controls the length of income history\n- Does not apply to `VOA` or `VOI` reports.\n"
},
"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).\n\nOnly available for `VOI` and `VOAI` report types.\n"
},
"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": "#/$defs/ClientReportCustomField"
}
}
}
},
"ClientVerificationStatus": {
"type": "object",
"description": "Verification status information.",
"properties": {
"state": {
"type": "string",
"enum": [
"PENDING",
"PROCESSING",
"PAUSED",
"CANCELLED",
"COMPLETED"
],
"description": "Verification state.\n\n- `PENDING` - Initial status after verification is created.\n- `PROCESSING` - Verification processing is underway.\n- `PAUSED` - Verification is paused because more data or documents are required.\n- `CANCELLED` - Verification has been cancelled.\n- `COMPLETED` - Verification is complete and report assets are available.\n"
},
"code": {
"type": "string",
"enum": [
"pending",
"invite_sent",
"user_session_started",
"authenticated",
"documents_processing",
"report_available",
"waiting_on_third_party",
"report_generating",
"awaiting_certification",
"connection_attempted",
"more_data_required",
"syncing_error",
"cancelled_by_client",
"system_error",
"argyle_timeout",
"completed",
"completed_with_errors"
],
"description": "Verification status code.\n\n<details class=\"enum-definitions verification-status-codes\">\n<summary><span>For payroll, government, and banking report types:</span></summary>\n\n| `status.state` | `status.code` | Description |\n| --- | --- | --- |\n| `PENDING` | `pending` | Verification created. |\n| `PENDING` | `invite_sent` | Invite sent; waiting for user action. |\n| `PENDING` | `user_session_started` | User opened the payroll or banking connection experience. |\n| `PROCESSING` | `authenticated` | User authenticated for payroll or banking; data aggregation is in progress. |\n| `PROCESSING` | `report_available` | Data and documents are sufficient to complete verification. |\n| `PROCESSING` | `waiting_on_third_party` | Awaiting processing by a third party. |\n| `PROCESSING` | `report_generating` | Report is currently generating. |\n| `PROCESSING` | `awaiting_certification` | awaiting user certification for aggregated government data |\n| `PAUSED` | `connection_attempted` | Account connection was attempted and user action is required to resolve a recoverable error. See [account connection errors](/api-reference/account-connection-errors). |\n| `PAUSED` | `syncing_error` | A syncing error requires user action (such as MFA) before processing can continue. |\n| `CANCELLED` | `cancelled_by_client` | Verification has been cancelled. |\n| `CANCELLED` | `system_error` | Argyle cannot complete the verification because of an unrecoverable system error. |\n| `CANCELLED` | `argyle_timeout` | Verification request has been cancelled by Argyle after 180 days of inactivity. |\n| `COMPLETED` | `completed` | Report is ready for download. |\n| `COMPLETED` | `completed_with_errors` | Verification request completed. Report can be retrieved but may contain deficiencies. |\n\n</details>\n\n<details class=\"enum-definitions verification-status-codes\">\n<summary><span>For <strong>doc-voi-mortgage</strong> report types:</span></summary>\n\n| `status.state` | `status.code` | Description |\n| --- | --- | --- |\n| `PENDING` | `pending` | Verification created. |\n| `PROCESSING` | `documents_processing` | Documents processing. |\n| `PROCESSING` | `report_available` | Data and documents are sufficient to complete verification. |\n| `PROCESSING` | `waiting_on_third_party` | Awaiting processing by a third party. |\n| `PAUSED` | `more_data_required` | More data or documents are needed to complete the verification. |\n| `CANCELLED` | `cancelled_by_client` | Verification has been cancelled. |\n| `CANCELLED` | `argyle_timeout` | Verification request has been cancelled by Argyle after 180 days of inactivity. |\n| `COMPLETED` | `completed` | Verification request complete. Report can be retrieved. |\n| `COMPLETED` | `completed_with_errors` | Verification request completed. Report can be retrieved but is not GSE eligible. |\n\n</details>"
},
"errors": {
"type": "array",
"description": "Error information.\n\nError details can explain what caused a `PAUSED` state or prevented GSE eligibility for a `COMPLETED` document verification.\n",
"items": {
"$ref": "#/$defs/ClientVerificationError"
}
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/argyle9a25-client-verification"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.