Vaquill AI · Schema

ActTextResponse

LegalStatutesRegulationsLegal ResearchLawComplianceLegal TechnologyGovernment DataMCPIndiaContracts

Properties

Name Type Description
actId string
resolvedFrom object Null when the act is exactly the `actId` you sent. Otherwise how your input was matched after copy damage (whitespace, quotes, a trailing period) was removed.
title string
year object
category object
textUrl string
pdfUrl object
htmlUrl object
chunksCount integer
isSubordinate boolean True for subordinate legislation: notifications, rules, circulars, orders. False for principal acts.
issuedDate object Date the instrument was issued by the publisher, where known.
meta object
currencyStatus string How far the currency of this document can be vouched for. `repeal_tracked`: the publisher records a repeal flag for this document, so a repealed instrument is identifiable. `as_issued`: served as issu
View JSON Schema on GitHub

JSON Schema

vaquill-ai-act-text-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/vaquill-ai/main/json-schema/vaquill-ai-act-text-response-schema.json",
  "title": "ActTextResponse",
  "x-generated": "2026-10-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/vaquill-ai-india-openapi.yml#/components/schemas/ActTextResponse",
  "properties": {
    "actId": {
      "type": "string",
      "title": "Actid"
    },
    "resolvedFrom": {
      "anyOf": [
        {
          "$ref": "#/$defs/IdentifierResolution"
        },
        {
          "type": "null"
        }
      ],
      "description": "Null when the act is exactly the `actId` you sent. Otherwise how your input was matched after copy damage (whitespace, quotes, a trailing period) was removed."
    },
    "title": {
      "type": "string",
      "title": "Title"
    },
    "year": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Year"
    },
    "category": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Category"
    },
    "textUrl": {
      "type": "string",
      "title": "Texturl"
    },
    "pdfUrl": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pdfurl"
    },
    "htmlUrl": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Htmlurl"
    },
    "chunksCount": {
      "type": "integer",
      "title": "Chunkscount",
      "default": 0
    },
    "isSubordinate": {
      "type": "boolean",
      "title": "Issubordinate",
      "description": "True for subordinate legislation: notifications, rules, circulars, orders. False for principal acts.",
      "default": false
    },
    "issuedDate": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Issueddate",
      "description": "Date the instrument was issued by the publisher, where known."
    },
    "meta": {
      "$ref": "#/$defs/ActMeta"
    },
    "currencyStatus": {
      "type": "string",
      "title": "Currencystatus",
      "description": "How far the currency of this document can be vouched for. `repeal_tracked`: the publisher records a repeal flag for this document, so a repealed instrument is identifiable. `as_issued`: served as issued on `issuedDate`, and it MAY HAVE BEEN SUPERSEDED since. India Code publishes no supersession status for subordinate legislation, and a superseding instrument names its predecessor only in prose, so this API cannot tell you whether a notification is still in force. Treat `as_issued` documents as evidence of what was issued on a date, not as a statement of current law.",
      "default": "unknown"
    }
  },
  "type": "object",
  "required": [
    "actId",
    "title",
    "textUrl"
  ],
  "$defs": {
    "ActMeta": {
      "properties": {
        "processingTimeMs": {
          "type": "number",
          "title": "Processingtimems",
          "description": "Server-side time in milliseconds, excluding network transit. Not billed on.",
          "default": 0.0
        },
        "creditsConsumed": {
          "type": "number",
          "title": "Creditsconsumed",
          "description": "Credits ACTUALLY charged for this call. Read this rather than assuming the list price: refunded work bills 0.",
          "default": 0.0
        }
      },
      "type": "object",
      "title": "ActMeta",
      "description": "What this call cost and how long it took.\n\n🔴 Added 2026-09-06. Five of the six original routes returned NO statement\nof what they billed: `/text` (3 credits), `/amendments` (5), `/list` (1),\n`/filters` (0) and `/corresponding-provisions` (1). The house rule on the\nUS surface is that `creditsConsumed` is the CONTRACT and the list price is\nnot, and it matters most exactly where refunds happen -- `/text` refunds on\na missing act, `/corresponding-provisions` refunds when a mapping does not\nexist yet. Without this field a caller cannot tell a refunded call from a\ncharged one, and has to reconcile against the ledger to find out."
    },
    "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."
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vaquill-ai-act-text-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.