Vaquill AI · Schema
ComplianceCheck
One compliance check: its findings, or its progress toward them.
LegalStatutesRegulationsLegal ResearchLawComplianceLegal TechnologyGovernment DataMCPIndiaContracts
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Public identifier, `cck_` followed by 32 hex characters. |
| matterId | string | `mat_` identifier of the matter this check belongs to. |
| status | object | Check status, using the same five public values as an operation. While `queued` or `running`, `requirements` is empty and the scalar fields are absent. That is the truthful shape of a check that has n |
| regulationType | object | Regulation checked against, echoed from the request. |
| documentCategory | object | Document category, echoed from the request. |
| overallStatus | object | Overall verdict: `compliant`, `partially_compliant`, `non_compliant`, or `not_applicable`. |
| complianceScore | object | Compliance as a percentage, 0 to 100. |
| summary | string | Overall assessment, in prose. |
| requirements | array | Every requirement checked, and the verdict on each. |
| compliantCount | integer | Requirements fully met. |
| partiallyCompliantCount | integer | Requirements partly met. |
| nonCompliantCount | integer | Requirements not met. |
| notApplicableCount | integer | Requirements that do not apply to this document. |
| gaps | array | The gaps found. |
| remediationActions | array | What to do about them, in priority order. |
| responseTimeline | object | A regulatory deadline that applies, where one does. |
| deterministicCoverage | object | Fraction of requirements with keyword evidence in the document, 0 to 1. Low coverage means more of the verdict rests on the model than on the text. |
| preCheckFlags | array | Where the model and a deterministic keyword scan disagreed. Each one is worth a human glance. |
| parseWarning | object | Set when the model's output only partly parsed, which means the findings may be incomplete. |
| createdAt | string | When the check was created (RFC 3339). |
| completedAt | object | When the check reached a terminal status (RFC 3339). |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/vaquill-ai/main/json-schema/vaquill-ai-compliance-check-schema.json",
"title": "ComplianceCheck",
"description": "One compliance check: its findings, or its progress toward them.",
"x-generated": "2026-10-07",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/vaquill-ai-workspace-openapi.yml#/components/schemas/ComplianceCheck",
"properties": {
"id": {
"type": "string",
"title": "Id",
"description": "Public identifier, `cck_` followed by 32 hex characters."
},
"matterId": {
"type": "string",
"title": "Matterid",
"description": "`mat_` identifier of the matter this check belongs to."
},
"status": {
"$ref": "#/$defs/OperationStatus",
"description": "Check status, using the same five public values as an operation. While `queued` or `running`, `requirements` is empty and the scalar fields are absent. That is the truthful shape of a check that has not happened yet, not an error."
},
"regulationType": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Regulationtype",
"description": "Regulation checked against, echoed from the request."
},
"documentCategory": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Documentcategory",
"description": "Document category, echoed from the request."
},
"overallStatus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Overallstatus",
"description": "Overall verdict: `compliant`, `partially_compliant`, `non_compliant`, or `not_applicable`."
},
"complianceScore": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Compliancescore",
"description": "Compliance as a percentage, 0 to 100."
},
"summary": {
"type": "string",
"title": "Summary",
"description": "Overall assessment, in prose.",
"default": ""
},
"requirements": {
"items": {
"$ref": "#/$defs/ComplianceRequirement"
},
"type": "array",
"title": "Requirements",
"description": "Every requirement checked, and the verdict on each."
},
"compliantCount": {
"type": "integer",
"title": "Compliantcount",
"description": "Requirements fully met.",
"default": 0
},
"partiallyCompliantCount": {
"type": "integer",
"title": "Partiallycompliantcount",
"description": "Requirements partly met.",
"default": 0
},
"nonCompliantCount": {
"type": "integer",
"title": "Noncompliantcount",
"description": "Requirements not met.",
"default": 0
},
"notApplicableCount": {
"type": "integer",
"title": "Notapplicablecount",
"description": "Requirements that do not apply to this document.",
"default": 0
},
"gaps": {
"items": {
"$ref": "#/$defs/ComplianceGap"
},
"type": "array",
"title": "Gaps",
"description": "The gaps found."
},
"remediationActions": {
"items": {
"$ref": "#/$defs/ComplianceRemediationAction"
},
"type": "array",
"title": "Remediationactions",
"description": "What to do about them, in priority order."
},
"responseTimeline": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Responsetimeline",
"description": "A regulatory deadline that applies, where one does."
},
"deterministicCoverage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Deterministiccoverage",
"description": "Fraction of requirements with keyword evidence in the document, 0 to 1. Low coverage means more of the verdict rests on the model than on the text."
},
"preCheckFlags": {
"items": {
"type": "string"
},
"type": "array",
"title": "Precheckflags",
"description": "Where the model and a deterministic keyword scan disagreed. Each one is worth a human glance."
},
"parseWarning": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Parsewarning",
"description": "Set when the model's output only partly parsed, which means the findings may be incomplete."
},
"createdAt": {
"type": "string",
"format": "date-time",
"title": "Createdat",
"description": "When the check was created (RFC 3339)."
},
"completedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completedat",
"description": "When the check reached a terminal status (RFC 3339)."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"id",
"matterId",
"status",
"createdAt"
],
"$defs": {
"ComplianceGap": {
"properties": {
"gapName": {
"type": "string",
"title": "Gapname",
"description": "Short name for the gap."
},
"description": {
"type": "string",
"title": "Description",
"description": "What is missing, and why it matters."
},
"regulationReference": {
"type": "string",
"title": "Regulationreference",
"description": "The provision the gap is measured against."
},
"riskLevel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Risklevel",
"description": "How risky the gap is: `critical`, `high`, `medium` or `low`."
},
"remediation": {
"type": "string",
"title": "Remediation",
"description": "Suggested language or action to close it."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"gapName",
"description",
"regulationReference",
"remediation"
],
"title": "ComplianceGap",
"description": "One compliance gap, named so it can be tracked."
},
"ComplianceRemediationAction": {
"properties": {
"action": {
"type": "string",
"title": "Action",
"description": "What needs to be done."
},
"priority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority",
"description": "`critical`, `high`, `medium` or `low`."
},
"effort": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Effort",
"description": "`high`, `medium` or `low`."
},
"deadlineGuidance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Deadlineguidance",
"description": "Suggested timeline, for example `Within 30 days`."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"action"
],
"title": "ComplianceRemediationAction",
"description": "One thing to do, in priority order."
},
"ComplianceRequirement": {
"properties": {
"requirementId": {
"type": "string",
"title": "Requirementid",
"description": "Stable identifier of this requirement."
},
"requirementName": {
"type": "string",
"title": "Requirementname",
"description": "What the requirement is."
},
"regulationReference": {
"type": "string",
"title": "Regulationreference",
"description": "Where it comes from, for example `GDPR Article 28(3)(a)`."
},
"status": {
"type": "string",
"title": "Status",
"description": "Whether the document meets it: `compliant`, `partially_compliant`, `non_compliant`, or `not_applicable`."
},
"findings": {
"type": "string",
"title": "Findings",
"description": "What the document actually says."
},
"gapDescription": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Gapdescription",
"description": "What is missing, where the document does not meet it."
},
"recommendation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Recommendation",
"description": "What to change to meet it."
},
"priority": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Priority",
"description": "How urgent the remediation is: `critical`, `high`, `medium` or `low`."
}
},
"additionalProperties": false,
"type": "object",
"required": [
"requirementId",
"requirementName",
"regulationReference",
"status",
"findings"
],
"title": "ComplianceRequirement",
"description": "One requirement of the regulation, and whether the document meets it."
},
"OperationStatus": {
"type": "string",
"enum": [
"queued",
"running",
"succeeded",
"failed",
"cancelled"
],
"title": "OperationStatus",
"description": "The public five. There is no sixth, and there are no synonyms.\n\nInternal vocabularies spell terminal success `completed`, `ready`,\n`extracted`, `succeeded` and `fresh`; terminal failure `failed` and `error`;\nqueued `pending`, `queued` and `draft`. All of that is collapsed here by\n`app.workspace_api.adapters.status_map`, which refuses to guess."
}
}
}
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/vaquill-ai-compliance-check"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.