curl --request GET \
--url https://api.vaquill.ai/api/v1/in/acts/resolve \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/in/acts/resolve"
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/resolve', 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/resolve"
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))
}{
"results": [
{
"input": "u/s 302 IPC",
"status": "ambiguous",
"candidates": [
{
"actId": "IND_central_20062",
"citation": "The Bharatiya Nyaya Sanhita, 2023, s. 302",
"title": "The Bharatiya Nyaya Sanhita, 2023",
"sectionNumber": "302",
"sectionTitle": "Uttering words, etc., with deliberate intent to wound religious feelings of any person",
"year": 2023,
"actStatus": "in_force",
"category": "central",
"state": "central"
},
{
"actId": "IND_REP_659_1860",
"citation": "The Indian Penal Code, 45 of 1860 (Rep., Act 45 of 2023), s. 302",
"title": "The Indian Penal Code, 45 of 1860 (Rep., Act 45 of 2023)",
"sectionNumber": "302",
"sectionTitle": "Punishment for murder . ā Whoever commits murder shall be punished with death, or 1[imprisonment for life], and shall also be liable to fine",
"year": 1860,
"actStatus": "in_force",
"category": "central",
"state": "central",
"note": "Replaced by the Bharatiya Nyaya Sanhita, 2023 with effect from 1 July 2024, and still governs offences committed before that date."
}
],
"reason": "This citation matches 2 provisions across 2 enactments, and picking one would be a guess. Both the pre-2024 code and its 2023 replacement are live law for conduct on either side of 1 July 2024; send `asAtDate` to narrow. Send `state` or the act's year to narrā¦",
"parsed": {
"unit": "section",
"section": "302",
"subProvisions": [],
"actToken": "IPC",
"pinpoint": "302"
},
"duplicatesCollapsed": 2
}
],
"count": 1,
"resolvedCount": 0,
"meta": {
"processingTimeMs": 835.9,
"creditsConsumed": 2
}
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}Resolve a citation to a provision
Turn a citation a lawyer would type into the provision it names.
Cost: 2 credits. A malformed citation is a 422 and is NOT charged. Every
other outcome is, including not_found: a confident negative is the answer.
Accepts what Indian practice actually writes, not what a style guide prescribes.
Three published standards exist and they disagree about element order, while the
most common real form, u/s 302 IPC, appears in none of them. So order does not
matter, and all of these work:
u/s 302 IPC Section 302 of the Indian Penal Code, 1860 s.302 IPC S. 376(2)(g), IPC clause (a) of sub-section (1) of section 302 IPC O. 39 R. 1 CPC Art. 21 of the Constitution Regulation 24 of the SEBI (LODR) Regulations, 2015 Maharashtra Act No. LXXVII of 2018
š“ Read status before reading candidates. ambiguous is a real answer
and it is charged, because narrowing a citation to two named enactments is the
work. The commonest cause is the 2023 recodification: after 1 July 2024,
s. 302 names both IPC 302 (murder) and BNS 302 (uttering words to wound
religious feelings), while BNS 103 is murder. Both codes are live law
simultaneously for the lifetime of pending trials, so this endpoint will not
choose for you. Send asAtDate and it will.
r/w (āread withā) is split into separate citations and each is resolved.
curl --request GET \
--url https://api.vaquill.ai/api/v1/in/acts/resolve \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/in/acts/resolve"
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/resolve', 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/resolve"
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))
}{
"results": [
{
"input": "u/s 302 IPC",
"status": "ambiguous",
"candidates": [
{
"actId": "IND_central_20062",
"citation": "The Bharatiya Nyaya Sanhita, 2023, s. 302",
"title": "The Bharatiya Nyaya Sanhita, 2023",
"sectionNumber": "302",
"sectionTitle": "Uttering words, etc., with deliberate intent to wound religious feelings of any person",
"year": 2023,
"actStatus": "in_force",
"category": "central",
"state": "central"
},
{
"actId": "IND_REP_659_1860",
"citation": "The Indian Penal Code, 45 of 1860 (Rep., Act 45 of 2023), s. 302",
"title": "The Indian Penal Code, 45 of 1860 (Rep., Act 45 of 2023)",
"sectionNumber": "302",
"sectionTitle": "Punishment for murder . ā Whoever commits murder shall be punished with death, or 1[imprisonment for life], and shall also be liable to fine",
"year": 1860,
"actStatus": "in_force",
"category": "central",
"state": "central",
"note": "Replaced by the Bharatiya Nyaya Sanhita, 2023 with effect from 1 July 2024, and still governs offences committed before that date."
}
],
"reason": "This citation matches 2 provisions across 2 enactments, and picking one would be a guess. Both the pre-2024 code and its 2023 replacement are live law for conduct on either side of 1 July 2024; send `asAtDate` to narrow. Send `state` or the act's year to narrā¦",
"parsed": {
"unit": "section",
"section": "302",
"subProvisions": [],
"actToken": "IPC",
"pinpoint": "302"
},
"duplicatesCollapsed": 2
}
],
"count": 1,
"resolvedCount": 0,
"meta": {
"processingTimeMs": 835.9,
"creditsConsumed": 2
}
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}Authorizations
API key issued from the developer dashboard. Pass as Authorization: Bearer vq_key_...
Query Parameters
One citation string.
2 - 200"u/s 302 IPC"
Narrow to one jurisdiction.
andaman-and-nicobar-islands, andaman-nicobar, andhra-pradesh, arunachal-pradesh, assam, bihar, central, chandigarh, chhattisgarh, dadra-and-nagar-haveli-and-daman-and-diu, dadra-nagar-haveli, delhi, goa, gujarat, haryana, himachal-pradesh, jammu-and-kashmir, jammu-kashmir, jharkhand, karnataka, kerala, ladakh, lakshadweep, madhya-pradesh, maharashtra, manipur, meghalaya, mizoram, nagaland, odisha, puducherry, punjab, rajasthan, sikkim, tamil-nadu, telangana, tripura, uttar-pradesh, uttarakhand, west-bengal "maharashtra"
Which side of the 2023 recodification you mean, as YYYY-MM-DD.
"2019-05-01"
Was this page helpful?

