{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/argyle9a25/json-schema/argyle9a25-client-verification-update-request-schema.json",
  "title": "ClientVerificationUpdateRequest",
  "description": "Request body for updating a verification.\n\n- `loan` and `billing` can be updated for either data source.\n- `loan.division` cannot be changed.\n- `employments` can only be updated when a document verification is in the `PAUSED` state.\n- Updating `employments` replaces the full employments array.\n",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/argyle9a25-verifications-api-openapi.yml#/components/schemas/ClientVerificationUpdateRequest",
  "type": "object",
  "properties": {
    "loan": {
      "$ref": "#/$defs/ClientVerificationLoanMetadata"
    },
    "billing": {
      "$ref": "#/$defs/ClientVerificationBilling"
    },
    "employments": {
      "type": "array",
      "description": "Updated list of employments for the user.",
      "items": {
        "$ref": "#/$defs/ClientVerificationEmploymentRequest"
      }
    }
  },
  "$defs": {
    "ClientVerificationBilling": {
      "type": "object",
      "description": "Optional billing details for regular payroll and mortgage verification workflows.",
      "properties": {
        "cost_center": {
          "type": "string",
          "description": "Cost center identifier."
        }
      }
    },
    "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`."
        }
      }
    },
    "ClientVerificationEmploymentRequest": {
      "allOf": [
        {
          "$ref": "#/$defs/ClientVerificationEmployment"
        },
        {
          "type": "object",
          "required": [
            "employer",
            "status",
            "hire_date"
          ]
        }
      ]
    },
    "ClientVerificationLoanMetadata": {
      "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."
        }
      }
    }
  }
}