---
title: "Check Compliance"
method: POST
path: "/v1/compliance-check"
---

# Check Compliance

`POST /v1/compliance-check`

## Request

- Base URL: `https://licenseground.com` (the document declares no server; this is the origin it was published from)
- URL: `https://licenseground.com/v1/compliance-check`
- Auth: none declared

Evaluate contractor against compliance rules (active license, workers comp, surety bond, citations).
Returns instant deterministic boolean (can_hire), risk score, and risk flags.

## Headers

- `X-Agent-Key` string, nullable
- `X-Agent-API-Key` string, nullable

## Request body

- ComplianceRiskQuery: Input for automated policy assessment for autonomous hiring/procurement.
  - `entity_name` string, nullable
  - `license_number` string, nullable
  - `state` 'CA' | 'FL' | 'TX' | 'NY' | 'MA' | 'IL' | 'AZ' | 'US', required
  - `trade` 'roofing' | 'hvac' | 'electrical' | 'plumbing' | 'general_contractor' | 'any'
  - `require_active_status` boolean: Enforce ACTIVE_CURRENT status.
  - `require_workers_comp` boolean: Reject if no verified workers comp policy (or unverified exemption).
  - `require_surety_bond` boolean: Enforce active contractor bond.
  - `max_disciplinary_actions` integer: Maximum acceptable disciplinary citations.
  - `min_confidence_score` number: Minimum entity name grounding match confidence.

## Response `200`

Successful Response

- ComplianceRiskResult: Instant machine-actionable hiring decision.
  - `can_hire` boolean, required: Deterministic decision: True if compliant with all risk criteria.
  - `risk_level` 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL', required
  - `risk_score` number, required: Risk index from 0.0 (safest) to 100.0 (maximum risk).
  - `flags` string[]: Specific risk warning triggers.
  - `verification` LicenseVerificationResult, required: Machine-actionable, deterministic ground-truth verification result.
    - `verified` boolean, required: True if the entity possesses an authentic, matching registration on the official state registry.
    - `canonical_name` string, required: Official legal business name registered with the state licensing board.
    - `dba_name` string, nullable: Registered Doing-Business-As (DBA) or fictitious business name if applicable.
    - `license_number` string, required: Official state license/certificate identifier.
    - `state` 'CA' | 'FL' | 'TX' | 'NY' | 'MA' | 'IL' | 'AZ' | 'US', required
    - `trade_classification` string, required: State trade classification (e.g., 'C-39 Roofing', 'CCC Certified Roofing Contractor', 'TACLA HVAC').
    - `trade_category` 'roofing' | 'hvac' | 'electrical' | 'plumbing' | 'general_contractor' | 'any'
    - `status` 'ACTIVE_CURRENT' | 'INACTIVE' | 'EXPIRED' | 'SUSPENDED' | 'REVOKED' | 'PENDING' | 'DELINQUENT' | 'NOT_FOUND', required
    - `is_active` boolean, required: Helper boolean: True only if status is ACTIVE_CURRENT.
    - `disciplinary_actions` integer: Total count of historical or pending disciplinary actions/citations.
    - `disciplinary_records` DisciplinaryRecord[]: Detailed list of formal board actions, if any.
      - `case_number` string, nullable
      - `action_type` string, required: E.g., 'Citation', 'Formal Accusation', 'Administrative Fine', 'Suspension Order'
      - `effective_date` string, nullable
      - `description` string, required: Summary of board violation or sanctions
      - `penalty_amount` number, nullable
      - `resolved` boolean
    - `issue_date` string, nullable: Date the license was originally issued (YYYY-MM-DD).
    - `expiration_date` string, nullable: Expiration date of the current license cycle (YYYY-MM-DD).
    - `is_expired` boolean: True if expiration_date is in the past.
    - `workers_comp_exempt` boolean: True if the contractor filed an exemption claiming zero employees.
    - `workers_comp_covered` boolean: True if active Workers' Compensation insurance policy is confirmed on file with the state board.
    - `workers_comp_insurer` string, nullable: Name of workers' comp insurance carrier, policy number, or status note.
    - `bond_status` string, nullable: Contractor surety bond status (e.g. 'ACTIVE $25,000', 'EXEMPT', 'NOT_REQUIRED').
    - `bond_company` string, nullable: Surety company underwriting the contractor bond.
    - `business_address` string, nullable: Principal place of business on official record.
    - `city` string, nullable
    - `zip_code` string, nullable
    - `phone` string, nullable
    - `qualifying_agent` string, nullable: Licensed individual qualifier, master, or primary officer (e.g. Master Electrician or RMO/RME).
    - `grounding_confidence` number, required: Confidence score (0.0 to 1.0) indicating exactness of entity name match against registry records.
    - `source_registry` string, required: Official source registry name (e.g. 'CA Contractors State License Board (CSLB)').
    - `source_url` string, nullable: Direct URL to official state verification record.
    - `cached` boolean: True if served from low-latency persistent cache.
    - `source_timestamp` string: ISO 8601 timestamp when data was fetched or grounded.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/licenseground/apis/licenseground-api.md) · [All operations](https://skmtc.dev/licenseground/apis/licenseground-api/llms.txt) · [OpenAPI document](https://skmtc.dev/licenseground/apis/licenseground-api/revisions/ae223163cce0?raw)
