curl --request GET \
--url https://api.vaquill.ai/api/v1/in/acts/{act_id}/cited-by \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/in/acts/{act_id}/cited-by"
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}/cited-by', 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}/cited-by"
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_17068",
"title": "The Factories Act, 1948",
"citation": "The Factories Act, 1948",
"citers": [
{
"actId": "INC_597400",
"title": "The Tamil Nadu Lifts and Escalators Rules,1997",
"citation": "The Tamil Nadu Lifts and Escalators Rules,1997, s. 3",
"sectionNumber": "3",
"sectionTitle": "Documents to be enclosed herewith along with renewal application:"
},
{
"actId": "IND_state_12592",
"title": "The C.G. SHOPS & ESTABLISHMENTS ACT, 1958",
"citation": "The C.G. SHOPS & ESTABLISHMENTS ACT, 1958, s. 3",
"sectionNumber": "3",
"sectionTitle": "Act not applicable to certain persons and establishment — (1) Nothing in this Act"
}
],
"total": 884,
"totalIsExact": true,
"returned": 3,
"page": 1,
"pageSize": 3,
"hasMore": true,
"truncated": true,
"matchBasis": "publisher_title",
"note": "Edges are matched on the act's TITLE as the publisher wrote it, because that is what the corpus stores. A citing document that spelled the title differently is not found, and the publisher's own line breaks make this measurable: one act can appear as two dist…",
"meta": {
"processingTimeMs": 1390.7,
"creditsConsumed": 2
}
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}{
"detail": "Insufficient API credits."
}What points at this act
Inbound citations: provisions elsewhere in the corpus that name this act.
Cost: 2 credits. A confident “nothing cites this” is the answer and is charged.
🔴 Matched on the act’s TITLE, not on an identifier, because that is what
the corpus stores. A citing document that wrote the title differently is
missed, and the publisher’s own line breaks make that measurable. Read
matchBasis and treat the result as a floor rather than a complete set.
A foundational act can be cited by thousands of provisions, so the answer is
PAGED with page + pageSize, the same as the rest of this API.
total is the number of distinct citing PROVISIONS across all pages, not the
size of the page you were served (returned) and not the number of matching
passages. One provision is stored as many passages: the Indian Penal Code
matches 9,586 passages belonging to 1,367 distinct provisions, and total is
the 1,367. totalIsExact goes false only if the corpus scan behind that count
hits its ceiling, which no act in the corpus currently reaches.
curl --request GET \
--url https://api.vaquill.ai/api/v1/in/acts/{act_id}/cited-by \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/in/acts/{act_id}/cited-by"
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}/cited-by', 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}/cited-by"
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_17068",
"title": "The Factories Act, 1948",
"citation": "The Factories Act, 1948",
"citers": [
{
"actId": "INC_597400",
"title": "The Tamil Nadu Lifts and Escalators Rules,1997",
"citation": "The Tamil Nadu Lifts and Escalators Rules,1997, s. 3",
"sectionNumber": "3",
"sectionTitle": "Documents to be enclosed herewith along with renewal application:"
},
{
"actId": "IND_state_12592",
"title": "The C.G. SHOPS & ESTABLISHMENTS ACT, 1958",
"citation": "The C.G. SHOPS & ESTABLISHMENTS ACT, 1958, s. 3",
"sectionNumber": "3",
"sectionTitle": "Act not applicable to certain persons and establishment — (1) Nothing in this Act"
}
],
"total": 884,
"totalIsExact": true,
"returned": 3,
"page": 1,
"pageSize": 3,
"hasMore": true,
"truncated": true,
"matchBasis": "publisher_title",
"note": "Edges are matched on the act's TITLE as the publisher wrote it, because that is what the corpus stores. A citing document that spelled the title differently is not found, and the publisher's own line breaks make this measurable: one act can appear as two dist…",
"meta": {
"processingTimeMs": 1390.7,
"creditsConsumed": 2
}
}{
"detail": "Insufficient API credits."
}{
"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_...
Path Parameters
Act identifier, as returned by search, /list or /resolve.
1 - 200^[a-zA-Z0-9_-]+$"IND_state_17068"
Query Parameters
1-based page number.
x >= 11
Rows per page (1-100). Defaults to 25.
1 <= x <= 10025
DEPRECATED alias for pageSize, kept working for clients written against the original shape. Send one or the other, not both.
1 <= x <= 10025
Response
Successful Response
Distinct citing PROVISIONS across all pages, not rows on this page (that is returned) and not matching passages. One provision can be stored as many passages: the Indian Penal Code matches 9,586 passages belonging to 1,367 distinct provisions, and this is the 1,367.
False when the corpus scan behind total hit its ceiling, which makes total a floor rather than a count. True on every act in the corpus today: the ceiling sits above the largest citing set measured, the Companies Act, 2013 at 53,699 passages.
Rows in citers on THIS page.
1-based page this response answers.
Rows per page requested.
True when a further page of citing provisions exists.
DEPRECATED, kept so an existing client does not break. True when hasMore is true or totalIsExact is false. Read those two instead: this one field cannot tell 'there is a page 2' apart from 'we stopped counting'.
publisher_title: edges are matched on the act's title as the publisher wrote it, so treat the result as a floor.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?

