curl --request GET \
--url https://api.vaquill.ai/api/v1/in/acts/{act_id}/sections/{section_number}/body \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/in/acts/{act_id}/sections/{section_number}/body"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vaquill.ai/api/v1/in/acts/{act_id}/sections/{section_number}/body', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.vaquill.ai/api/v1/in/acts/{act_id}/sections/{section_number}/body"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"actId": "IND_state_20326",
"sectionNumber": "23",
"citation": {
"citation": "The Maharashtra Value Added Tax Act, 2002., s. 23",
"citationShort": "Maharashtra Value Added Tax Act, 2002., s. 23",
"displayPath": "The Maharashtra Value Added Tax Act, 2002. / Chapter V. RETURNS AND ASSESSMENT, ETC. / s. 23",
"breadcrumb": [
{
"type": "chapter",
"num": "V",
"label": "Chapter V",
"name": "RETURNS AND ASSESSMENT, ETC."
}
]
},
"text": "23. Assessment.—[6] [( _1_ ) Where a registered dealer fails to file a return in respect of any period by the prescribed date, the Commissioner may assess the dealer in respect of the said period to the best of his judgment without serving a notice for assess…",
"available": true,
"wordCount": 4449,
"currency": {
"textIs": "as_published",
"amendmentsApplied": false,
"amendmentEventsHeld": 44,
"note": "This is the publisher's published text. We do not apply amendments to it, so it may not reflect changes recorded against this provision. See GET /acts/{actId}/sections/{n}/history."
},
"bodyProvenance": {
"chunksHeld": 16,
"contiguous": true,
"source": "act_document",
"chunkIndexRange": [
120,
135
],
"actTextUrl": "https://acts-india.vaquill.ai/IND_state_20326/act.normalized.txt",
"charStart": 128276,
"charEnd": 149776
},
"provenance": {
"sourceUrl": "https://indiacode.gov.in/handle/123456789/568111",
"textUrl": "https://acts-india.vaquill.ai/IND_state_20326/act.normalized.txt",
"pdfUrl": "https://acts-india.vaquill.ai/IND_state_20326/act.pdf"
},
"meta": {
"processingTimeMs": 276.7,
"creditsConsumed": 3
}
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"corpusType"
],
"msg": "Input should be 'USC', 'CFR' or 'STATE'",
"type": "literal_error"
}
],
"code": "insufficient_credits",
"type": "https://www.vaquill.ai/docs/errors/insufficient_credits",
"title": "Insufficient credits",
"status": 402,
"requestId": "8d32789e-7b27-44f7-9523-424596e7a929",
"retryable": false,
"retryAfterSeconds": 30,
"actId": "USC_99_9999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
]
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"corpusType"
],
"msg": "Input should be 'USC', 'CFR' or 'STATE'",
"type": "literal_error"
}
],
"code": "insufficient_credits",
"type": "https://www.vaquill.ai/docs/errors/insufficient_credits",
"title": "Insufficient credits",
"status": 402,
"requestId": "8d32789e-7b27-44f7-9523-424596e7a929",
"retryable": false,
"retryAfterSeconds": 30,
"actId": "USC_99_9999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
]
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"corpusType"
],
"msg": "Input should be 'USC', 'CFR' or 'STATE'",
"type": "literal_error"
}
],
"code": "insufficient_credits",
"type": "https://www.vaquill.ai/docs/errors/insufficient_credits",
"title": "Insufficient credits",
"status": 402,
"requestId": "8d32789e-7b27-44f7-9523-424596e7a929",
"retryable": false,
"retryAfterSeconds": 30,
"actId": "USC_99_9999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
]
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"corpusType"
],
"msg": "Input should be 'USC', 'CFR' or 'STATE'",
"type": "literal_error"
}
],
"code": "insufficient_credits",
"type": "https://www.vaquill.ai/docs/errors/insufficient_credits",
"title": "Insufficient credits",
"status": 402,
"requestId": "8d32789e-7b27-44f7-9523-424596e7a929",
"retryable": false,
"retryAfterSeconds": 30,
"actId": "USC_99_9999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"corpusType"
],
"msg": "Input should be 'USC', 'CFR' or 'STATE'",
"type": "literal_error"
}
],
"code": "insufficient_credits",
"type": "https://www.vaquill.ai/docs/errors/insufficient_credits",
"title": "Insufficient credits",
"status": 402,
"requestId": "8d32789e-7b27-44f7-9523-424596e7a929",
"retryable": false,
"retryAfterSeconds": 30,
"actId": "USC_99_9999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
]
}A provision's full text
The publisher’s own text for one provision.
Cost: 3 credits. Refunded when we hold the provision and cannot reproduce its text, because you asked for text and did not get it.
The text is sliced out of the act document by the character offsets stored with
each passage. It is never assembled by concatenating search passages: those
carry a retrieval header that we synthesized (Act: ... | India | State | In Force), and serving that as statute would put our words inside a quotation of
the law.
This text is as the publisher published it. We do not apply amendments to
it. GET /acts/{actId}/sections/{n}/history lists every amendment we hold for
the provision, each with an appliedStatus saying whether it is reflected here.
It is not.
curl --request GET \
--url https://api.vaquill.ai/api/v1/in/acts/{act_id}/sections/{section_number}/body \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/in/acts/{act_id}/sections/{section_number}/body"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.vaquill.ai/api/v1/in/acts/{act_id}/sections/{section_number}/body', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.vaquill.ai/api/v1/in/acts/{act_id}/sections/{section_number}/body"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"actId": "IND_state_20326",
"sectionNumber": "23",
"citation": {
"citation": "The Maharashtra Value Added Tax Act, 2002., s. 23",
"citationShort": "Maharashtra Value Added Tax Act, 2002., s. 23",
"displayPath": "The Maharashtra Value Added Tax Act, 2002. / Chapter V. RETURNS AND ASSESSMENT, ETC. / s. 23",
"breadcrumb": [
{
"type": "chapter",
"num": "V",
"label": "Chapter V",
"name": "RETURNS AND ASSESSMENT, ETC."
}
]
},
"text": "23. Assessment.—[6] [( _1_ ) Where a registered dealer fails to file a return in respect of any period by the prescribed date, the Commissioner may assess the dealer in respect of the said period to the best of his judgment without serving a notice for assess…",
"available": true,
"wordCount": 4449,
"currency": {
"textIs": "as_published",
"amendmentsApplied": false,
"amendmentEventsHeld": 44,
"note": "This is the publisher's published text. We do not apply amendments to it, so it may not reflect changes recorded against this provision. See GET /acts/{actId}/sections/{n}/history."
},
"bodyProvenance": {
"chunksHeld": 16,
"contiguous": true,
"source": "act_document",
"chunkIndexRange": [
120,
135
],
"actTextUrl": "https://acts-india.vaquill.ai/IND_state_20326/act.normalized.txt",
"charStart": 128276,
"charEnd": 149776
},
"provenance": {
"sourceUrl": "https://indiacode.gov.in/handle/123456789/568111",
"textUrl": "https://acts-india.vaquill.ai/IND_state_20326/act.normalized.txt",
"pdfUrl": "https://acts-india.vaquill.ai/IND_state_20326/act.pdf"
},
"meta": {
"processingTimeMs": 276.7,
"creditsConsumed": 3
}
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"corpusType"
],
"msg": "Input should be 'USC', 'CFR' or 'STATE'",
"type": "literal_error"
}
],
"code": "insufficient_credits",
"type": "https://www.vaquill.ai/docs/errors/insufficient_credits",
"title": "Insufficient credits",
"status": 402,
"requestId": "8d32789e-7b27-44f7-9523-424596e7a929",
"retryable": false,
"retryAfterSeconds": 30,
"actId": "USC_99_9999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
]
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"corpusType"
],
"msg": "Input should be 'USC', 'CFR' or 'STATE'",
"type": "literal_error"
}
],
"code": "insufficient_credits",
"type": "https://www.vaquill.ai/docs/errors/insufficient_credits",
"title": "Insufficient credits",
"status": 402,
"requestId": "8d32789e-7b27-44f7-9523-424596e7a929",
"retryable": false,
"retryAfterSeconds": 30,
"actId": "USC_99_9999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
]
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"corpusType"
],
"msg": "Input should be 'USC', 'CFR' or 'STATE'",
"type": "literal_error"
}
],
"code": "insufficient_credits",
"type": "https://www.vaquill.ai/docs/errors/insufficient_credits",
"title": "Insufficient credits",
"status": 402,
"requestId": "8d32789e-7b27-44f7-9523-424596e7a929",
"retryable": false,
"retryAfterSeconds": 30,
"actId": "USC_99_9999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
]
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"corpusType"
],
"msg": "Input should be 'USC', 'CFR' or 'STATE'",
"type": "literal_error"
}
],
"code": "insufficient_credits",
"type": "https://www.vaquill.ai/docs/errors/insufficient_credits",
"title": "Insufficient credits",
"status": 402,
"requestId": "8d32789e-7b27-44f7-9523-424596e7a929",
"retryable": false,
"retryAfterSeconds": 30,
"actId": "USC_99_9999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"corpusType"
],
"msg": "Input should be 'USC', 'CFR' or 'STATE'",
"type": "literal_error"
}
],
"code": "insufficient_credits",
"type": "https://www.vaquill.ai/docs/errors/insufficient_credits",
"title": "Insufficient credits",
"status": 402,
"requestId": "8d32789e-7b27-44f7-9523-424596e7a929",
"retryable": false,
"retryAfterSeconds": 30,
"actId": "USC_99_9999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
]
}Authorizations
API key issued from the developer dashboard. Pass as Authorization: Bearer vq_key_... (preferred).
Headers
Optional. 16 to 255 visible ASCII characters (a UUIDv4 is ideal). A retry with the same key and the same request replays the original 2xx response for 24 hours without charging again. The same key with a different request is rejected. Scope is the API key, method, path and body.
16 - 255^[\x21-\x7e]+$"3f9c2a1e-7b44-4d0a-9c1e-5a6b7c8d9e0f"
Path Parameters
Act identifier, as returned by /acts/search, /acts/list or /acts/resolve, e.g. IND_central_20062 (the Bharatiya Nyaya Sanhita, 2023). Surrounding whitespace, quotes, backticks, invisible characters, a trailing period and double percent-encoding are removed when the id as sent matches nothing; the response then carries resolvedFrom.
An act NAME or citation (Indian Penal Code, IPC, The Companies Act, 2013) is not resolved here. It returns 404 with reason: "act_name_or_citation" and suggestedRequest, the call that finds the id. A misspelt id returns 404 with the real ids in didYouMean.
1 - 200^[^/\\\x00-\x1f]+$"IND_state_20326"
Section number as the publisher writes it, e.g. 302 or 498A. Alphanumeric suffixes are part of the number, not a sub-provision: 498A is one section, not section 498 clause A.
When the number as sent matches nothing, common spellings are tried: a s. / Sec. / Section prefix, 498-A or 498 A or 498a for 498A, and a trailing sub-provision such as 302(1), which serves the whole section. A match is served only when exactly one stored number fits, and the response carries resolvedFrom. A miss returns 404 with reason and the act's nearest numbers in didYouMean.
1 - 40^[^/\\\x00-\x1f]{1,40}$"23"
Response
Successful Response
How to cite the thing this response is about.
Built from the publisher's own title, so where that title carries a defect
so does the citation: some titles end in a period, which reads as
... Act., s. 3, and some carry no year at all. Those are recorded defects
rather than reasons to withhold the field. GET /acts/coverage publishes
how many served acts carry a citation, as depth.actsWithCitation.
Show child attributes
Show child attributes
Whether the provision's text could be reproduced. False with a note when we hold the provision and cannot serve its text; a null text alone cannot be told apart from an empty provision. A false answer here is refunded.
true
What this text is and is not. It is the publisher's published text; we do NOT apply amendments to it. See GET /acts/{actId}/sections/{n}/history.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The publisher's text for this provision, sliced from the act document by the stored character offsets. Never a concatenation of retrieval passages: those carry a synthesized header that is ours, not the publisher's.
Why available is false, when it is.
How your act_id or section number was matched, when it did not match exactly as sent. Null when it did.
Show child attributes
Show child attributes
Was this page helpful?

