curl --request GET \
--url https://api.vaquill.ai/api/v1/boards \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/boards"
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/boards', 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/boards"
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))
}{
"data": {
"boards": [
{
"corpusType": "state_regulation",
"state": "tx",
"label": "Texas regulations",
"cadence": "weekly",
"scopable": true,
"sourceScopable": false,
"agencyScopable": false,
"scopeBrowseCorpus": "REGULATION",
"lastRetrievedAt": "2026-08-16T19:35:23.038075+00:00",
"publishesSourceChangedOn": false,
"changeSignal": "continuous"
},
{
"corpusType": "federal_register",
"label": "Federal Register",
"cadence": "daily",
"scopable": false,
"sourceScopable": false,
"agencyScopable": false,
"lastRetrievedAt": "2026-08-17T06:10:09.637043+00:00",
"publishesSourceChangedOn": false,
"changeSignal": "continuous"
}
],
"total": 2,
"hasMore": false
},
"meta": {
"processingTimeMs": 12.4,
"creditsConsumed": 0
}
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"query"
],
"msg": "Field required",
"type": "missing"
}
],
"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": "UNKNOWN_99999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
],
"sessionLawId": "Pub. L. 117-58",
"defaultSessionLawId": "us1_ca_2019_ch_123",
"candidateCount": 3,
"truncated": false,
"jurisdictions": [
"<string>"
],
"sessionCoverage": {},
"creditsRequired": 5,
"creditsAvailable": 2,
"topUpHint": "Add credits in the developer dashboard, then retry the same request."
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"query"
],
"msg": "Field required",
"type": "missing"
}
],
"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": "UNKNOWN_99999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
],
"sessionLawId": "Pub. L. 117-58",
"defaultSessionLawId": "us1_ca_2019_ch_123",
"candidateCount": 3,
"truncated": false,
"jurisdictions": [
"<string>"
],
"sessionCoverage": {},
"creditsRequired": 5,
"creditsAvailable": 2,
"topUpHint": "Add credits in the developer dashboard, then retry the same request."
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"query"
],
"msg": "Field required",
"type": "missing"
}
],
"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": "UNKNOWN_99999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
],
"sessionLawId": "Pub. L. 117-58",
"defaultSessionLawId": "us1_ca_2019_ch_123",
"candidateCount": 3,
"truncated": false,
"jurisdictions": [
"<string>"
],
"sessionCoverage": {},
"creditsRequired": 5,
"creditsAvailable": 2,
"topUpHint": "Add credits in the developer dashboard, then retry the same request."
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"query"
],
"msg": "Field required",
"type": "missing"
}
],
"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": "UNKNOWN_99999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
],
"sessionLawId": "Pub. L. 117-58",
"defaultSessionLawId": "us1_ca_2019_ch_123",
"candidateCount": 3,
"truncated": false,
"jurisdictions": [
"<string>"
],
"sessionCoverage": {},
"creditsRequired": 5,
"creditsAvailable": 2,
"topUpHint": "Add credits in the developer dashboard, then retry the same request."
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"query"
],
"msg": "Field required",
"type": "missing"
}
],
"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": "UNKNOWN_99999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
],
"sessionLawId": "Pub. L. 117-58",
"defaultSessionLawId": "us1_ca_2019_ch_123",
"candidateCount": 3,
"truncated": false,
"jurisdictions": [
"<string>"
],
"sessionCoverage": {},
"creditsRequired": 5,
"creditsAvailable": 2,
"topUpHint": "Add credits in the developer dashboard, then retry the same request."
}List watchable boards
List every board (a tracked corpus source, identified by corpusType + state) available to watch. A board’s refresh cadence is fixed by what we already track; watching it does not change how often it refreshes.
Narrow with corpusType and/or state rather than paging the whole registry: ?corpusType=state_regulation&state=tx is one board, and ?state=federal is every federal one. corpusType is matched case-insensitively.
Read lastRetrievedAt with cadence before treating silence on a watch as ‘nothing changed’. publishesSourceChangedOn says whether a board’s change events can carry the publisher’s own date (sourceChangedOn); it is true today on cfr, federal_rules only. Check it before writing code that waits for sourceChangedOn.
Free: requires an API key and is rate-limited, but costs no credits.
curl --request GET \
--url https://api.vaquill.ai/api/v1/boards \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/boards"
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/boards', 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/boards"
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))
}{
"data": {
"boards": [
{
"corpusType": "state_regulation",
"state": "tx",
"label": "Texas regulations",
"cadence": "weekly",
"scopable": true,
"sourceScopable": false,
"agencyScopable": false,
"scopeBrowseCorpus": "REGULATION",
"lastRetrievedAt": "2026-08-16T19:35:23.038075+00:00",
"publishesSourceChangedOn": false,
"changeSignal": "continuous"
},
{
"corpusType": "federal_register",
"label": "Federal Register",
"cadence": "daily",
"scopable": false,
"sourceScopable": false,
"agencyScopable": false,
"lastRetrievedAt": "2026-08-17T06:10:09.637043+00:00",
"publishesSourceChangedOn": false,
"changeSignal": "continuous"
}
],
"total": 2,
"hasMore": false
},
"meta": {
"processingTimeMs": 12.4,
"creditsConsumed": 0
}
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"query"
],
"msg": "Field required",
"type": "missing"
}
],
"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": "UNKNOWN_99999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
],
"sessionLawId": "Pub. L. 117-58",
"defaultSessionLawId": "us1_ca_2019_ch_123",
"candidateCount": 3,
"truncated": false,
"jurisdictions": [
"<string>"
],
"sessionCoverage": {},
"creditsRequired": 5,
"creditsAvailable": 2,
"topUpHint": "Add credits in the developer dashboard, then retry the same request."
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"query"
],
"msg": "Field required",
"type": "missing"
}
],
"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": "UNKNOWN_99999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
],
"sessionLawId": "Pub. L. 117-58",
"defaultSessionLawId": "us1_ca_2019_ch_123",
"candidateCount": 3,
"truncated": false,
"jurisdictions": [
"<string>"
],
"sessionCoverage": {},
"creditsRequired": 5,
"creditsAvailable": 2,
"topUpHint": "Add credits in the developer dashboard, then retry the same request."
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"query"
],
"msg": "Field required",
"type": "missing"
}
],
"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": "UNKNOWN_99999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
],
"sessionLawId": "Pub. L. 117-58",
"defaultSessionLawId": "us1_ca_2019_ch_123",
"candidateCount": 3,
"truncated": false,
"jurisdictions": [
"<string>"
],
"sessionCoverage": {},
"creditsRequired": 5,
"creditsAvailable": 2,
"topUpHint": "Add credits in the developer dashboard, then retry the same request."
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"query"
],
"msg": "Field required",
"type": "missing"
}
],
"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": "UNKNOWN_99999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
],
"sessionLawId": "Pub. L. 117-58",
"defaultSessionLawId": "us1_ca_2019_ch_123",
"candidateCount": 3,
"truncated": false,
"jurisdictions": [
"<string>"
],
"sessionCoverage": {},
"creditsRequired": 5,
"creditsAvailable": 2,
"topUpHint": "Add credits in the developer dashboard, then retry the same request."
}{
"detail": "Insufficient API credits.",
"errors": [
{
"loc": [
"body",
"query"
],
"msg": "Field required",
"type": "missing"
}
],
"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": "UNKNOWN_99999",
"reason": "not_in_registry",
"didYouMean": [
"<string>"
],
"sessionLawId": "Pub. L. 117-58",
"defaultSessionLawId": "us1_ca_2019_ch_123",
"candidateCount": 3,
"truncated": false,
"jurisdictions": [
"<string>"
],
"sessionCoverage": {},
"creditsRequired": 5,
"creditsAvailable": 2,
"topUpHint": "Add credits in the developer dashboard, then retry the same request."
}Authorizations
Query Parameters
Only boards for this jurisdiction. Pass federal for the boards that have no state (USC, eCFR, the Federal Register). Omit for no jurisdiction filter, which is not the same as federal.
federal, al, ak, as, az, ar, ca, co, ct, de, dc, fl, ga, gu, hi, id, il, in, ia, ks, ky, la, me, md, ma, mi, mn, ms, mo, mt, ne, nv, nh, nj, nm, ny, nc, nd, mp, oh, ok, or, pa, pr, ri, sc, sd, tn, tx, ut, vt, vi, va, wa, wv, wi, wy "tx"
Was this page helpful?

