Vaquill AI · Schema
ActStatusResponse
LegalStatutesRegulationsLegal ResearchLawComplianceLegal TechnologyGovernment DataMCPIndiaContracts
Properties
| Name | Type | Description |
|---|---|---|
| actId | string | |
| title | object | |
| citation | object | |
| goodLawStatus | string | Our DERIVED verdict: `good_law`, `not_good_law` or `unknown`. Conservative by construction -- an unverified repeal claim maps to `unknown`, NEVER to `not_good_law`, because we do not check whether a r |
| goodLawReason | string | Why the verdict above is what it is. Always present. |
| publisherStatus | object | `act_status` exactly as the publisher records it. Their word, not our verdict. |
| servedStatus | string | `served` or `retired`. OUR word about whether this API answers for it. |
| isSubordinate | object | |
| delegationType | object | |
| parentActName | object | |
| commencementInfo | object | |
| territorialExtent | object | |
| enactmentDate | object | The date the act was enacted, as `YYYY-MM-DD`, or null when the stored value is not a date we can state without guessing. 🔴 This is NOT the year in the act's short title: 'The Biswa Bangla Biswabidyal |
| enactmentDateRaw | object | What the publisher stored, present only when it differs from `enactmentDate`. When `enactmentDate` is null this carries the reason it is null, by showing you the value: a bare year ('1963'), an era ye |
| dateOfAssent | object | The date of assent as `YYYY-MM-DD`, or null when the stored value is not a date. Some records store an act NUMBER here ('15 of 1992'); those return null with the value in `dateOfAssentRaw`. |
| dateOfAssentRaw | object | What the publisher stored, when it differs from `dateOfAssent`. |
| lastAmendedYear | object | |
| repeals | object | Acts this one repeals, as the publisher names them. The inverse of `repealClaim`, and subject to the same caveat: it is their record, and we do not verify commencement. |
| supersededBy | object | A later consolidation that replaced this version, where one is recorded. |
| subordinateCount | object | Subordinate instruments the publisher records under this act. |
| repealClaim | object | |
| retirement | object | |
| currencyNote | object | |
| provenance | object | |
| resolvedFrom | object | How your act_id or section number was matched, when it did not match exactly as sent. Null when it did. |
| meta | object |
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-act-status-response-schema.json",
"title": "ActStatusResponse",
"x-generated": "2026-10-07",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/vaquill-ai-india-openapi.yml#/components/schemas/ActStatusResponse",
"properties": {
"actId": {
"type": "string",
"title": "Actid"
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Title"
},
"citation": {
"$ref": "#/$defs/Citation"
},
"goodLawStatus": {
"type": "string",
"title": "Goodlawstatus",
"description": "Our DERIVED verdict: `good_law`, `not_good_law` or `unknown`. Conservative by construction -- an unverified repeal claim maps to `unknown`, NEVER to `not_good_law`, because we do not check whether a repealing instrument was brought into force and at least one repeal on this record involves an Act that never commenced. One field to filter on; the three raw fields below remain if you want to judge it yourself.",
"default": "unknown"
},
"goodLawReason": {
"type": "string",
"title": "Goodlawreason",
"description": "Why the verdict above is what it is. Always present.",
"default": ""
},
"publisherStatus": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Publisherstatus",
"description": "`act_status` exactly as the publisher records it. Their word, not our verdict."
},
"servedStatus": {
"type": "string",
"title": "Servedstatus",
"description": "`served` or `retired`. OUR word about whether this API answers for it."
},
"isSubordinate": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"title": "Issubordinate"
},
"delegationType": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Delegationtype"
},
"parentActName": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Parentactname"
},
"commencementInfo": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Commencementinfo"
},
"territorialExtent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Territorialextent"
},
"enactmentDate": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Enactmentdate",
"description": "The date the act was enacted, as `YYYY-MM-DD`, or null when the stored value is not a date we can state without guessing. 🔴 This is NOT the year in the act's short title: 'The Biswa Bangla Biswabidyalay Act, 2017' was enacted 2018-01-09, and on a subordinate instrument `year` is often the PARENT act's year. Use `year` for the title year and this field for the date."
},
"enactmentDateRaw": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Enactmentdateraw",
"description": "What the publisher stored, present only when it differs from `enactmentDate`. When `enactmentDate` is null this carries the reason it is null, by showing you the value: a bare year ('1963'), an era year ('15-Oct-1349', from an act titled in the Fasli calendar), or a corrupt one ('0032-03-05')."
},
"dateOfAssent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dateofassent",
"description": "The date of assent as `YYYY-MM-DD`, or null when the stored value is not a date. Some records store an act NUMBER here ('15 of 1992'); those return null with the value in `dateOfAssentRaw`."
},
"dateOfAssentRaw": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Dateofassentraw",
"description": "What the publisher stored, when it differs from `dateOfAssent`."
},
"lastAmendedYear": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Lastamendedyear"
},
"repeals": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Repeals",
"description": "Acts this one repeals, as the publisher names them. The inverse of `repealClaim`, and subject to the same caveat: it is their record, and we do not verify commencement."
},
"supersededBy": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Supersededby",
"description": "A later consolidation that replaced this version, where one is recorded."
},
"subordinateCount": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Subordinatecount",
"description": "Subordinate instruments the publisher records under this act."
},
"repealClaim": {
"anyOf": [
{
"$ref": "#/$defs/RepealClaim"
},
{
"type": "null"
}
]
},
"retirement": {
"anyOf": [
{
"$ref": "#/$defs/Retirement"
},
{
"type": "null"
}
]
},
"currencyNote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Currencynote"
},
"provenance": {
"$ref": "#/$defs/Provenance"
},
"resolvedFrom": {
"anyOf": [
{
"$ref": "#/$defs/IdentifierResolution"
},
{
"type": "null"
}
],
"description": "How your act_id or section number was matched, when it did not match exactly as sent. Null when it did."
},
"meta": {
"$ref": "#/$defs/Meta"
}
},
"type": "object",
"required": [
"actId",
"citation",
"servedStatus",
"provenance",
"meta"
],
"$defs": {
"Citation": {
"properties": {
"citation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Citation"
},
"citationShort": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Citationshort"
},
"displayPath": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Displaypath"
},
"breadcrumb": {
"anyOf": [
{
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Breadcrumb"
}
},
"type": "object",
"title": "Citation",
"description": "How to cite the thing this response is about.\n\nBuilt from the publisher's own title, so where that title carries a defect\nso does the citation: some titles end in a period, which reads as\n`... Act., s. 3`, and some carry no year at all. Those are recorded defects\nrather than reasons to withhold the field. `GET /acts/coverage` publishes\nhow many served acts carry a citation, as `depth.actsWithCitation`."
},
"IdentifierResolution": {
"properties": {
"input": {
"type": "string",
"title": "Input",
"description": "The act identifier exactly as you sent it."
},
"actId": {
"type": "string",
"title": "Actid",
"description": "The act_id it matched. Send this next time."
},
"sectionInput": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sectioninput",
"description": "The section number exactly as you sent it, on a section route."
},
"sectionNumber": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sectionnumber",
"description": "The section number as the publisher writes it. Send this next time."
},
"via": {
"items": {
"type": "string"
},
"type": "array",
"title": "Via",
"description": "What was done to your input, in order. `normalized_id`: the act_id carried surrounding whitespace, quotes, backticks, an invisible character, a trailing period or double percent-encoding, which were removed. `normalized_section`: the section number was written differently from the publisher (a `s.` / `Sec.` / `Section` prefix, a hyphen or space before an alphabetic suffix, a lowercase suffix, or a trailing sub-provision), and matched one stored number and only one."
},
"subProvision": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Subprovision",
"description": "The sub-provision your section number carried, e.g. `(1)(a)` for `302(1)(a)`. The WHOLE section is served: sub-provisions are not addressed separately."
}
},
"type": "object",
"required": [
"input",
"actId"
],
"title": "IdentifierResolution",
"description": "How the act_id or section number you sent was matched, when not as sent.\n\nPresent only when the input did NOT match exactly. Absent (null) means the\nresponse is about exactly the act_id and section number in your request.\nSame idea, and the same field name, as `resolvedFrom` on the US surface."
},
"Meta": {
"properties": {
"processingTimeMs": {
"type": "number",
"title": "Processingtimems",
"description": "Server-side time for this request in milliseconds, excluding network transit. Not billed on.",
"default": 0.0
},
"creditsConsumed": {
"type": "number",
"title": "Creditsconsumed",
"description": "Credits actually charged. Read this rather than assuming the list price: refunded work bills 0.",
"default": 0.0
}
},
"type": "object",
"title": "Meta"
},
"Provenance": {
"properties": {
"sourceUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sourceurl",
"description": "The publisher's own page for this document, when it resolves."
},
"sourceUrlNote": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sourceurlnote",
"description": "Why `sourceUrl` is absent, when it is. A named reason, because a bare null cannot be told apart from 'not applicable'."
},
"textUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Texturl"
},
"pdfUrl": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Pdfurl"
}
},
"type": "object",
"title": "Provenance"
},
"RepealClaim": {
"properties": {
"repealedBy": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Repealedby"
},
"repealedByYear": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Repealedbyyear"
},
"source": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source"
},
"sourceHandle": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Sourcehandle"
},
"commencementVerified": {
"type": "boolean",
"title": "Commencementverified",
"description": "Whether we checked that the repealing instrument was brought into force. Always false: we do not verify this, and at least one repeal on record involves an Act that never commenced.",
"default": false
},
"note": {
"type": "string",
"title": "Note"
}
},
"type": "object",
"required": [
"note"
],
"title": "RepealClaim",
"description": "The publisher's claim about repeal, with our caveat attached.\n\nNever flattened into a verdict. India Code lists the Industrial Disputes\nAct, 1947 as repealed by Act 37 of 2020, the Industrial Relations Code,\nwhich has never been brought into force. Serving that as flatly \"repealed\"\nwould be wrong."
},
"Retirement": {
"properties": {
"reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Reason"
},
"duplicateOf": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Duplicateof"
},
"observedOn": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Observedon"
}
},
"type": "object",
"title": "Retirement"
}
}
}
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-act-status-response"
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.