List your board watches
curl --request GET \
--url https://api.vaquill.ai/api/v1/watches \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/watches"
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/watches', 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/watches"
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": {
"watches": [
{
"id": "9f2b1e0a-1234-4a11-8b1c-abcdef123456",
"corpusType": "state",
"state": "wa",
"channel": "webhook",
"webhookUrl": "https://example.com/hooks/law-changes",
"isActive": true,
"createdAt": "2026-08-01T12:00:00Z",
"updatedAt": "2026-08-01T12:00:00Z",
"lastNotifiedAt": "2026-08-05T07:00:00Z",
"lastStatus": 200,
"changeSignal": "continuous",
"webhookAuth": {
"scheme": "header",
"headerName": "X-Api-Key",
"hasSecret": true
}
}
]
},
"meta": {
"processingTimeMs": 9.1,
"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 your board watches
List every board watch you own, across every channel and board. Use this to check a watch’s id for the update/delete/test/deliveries routes below, or to see lastNotifiedAt/lastStatus for a quick health check without opening the deliveries endpoint.
Free.
GET
/
api
/
v1
/
watches
List your board watches
curl --request GET \
--url https://api.vaquill.ai/api/v1/watches \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.vaquill.ai/api/v1/watches"
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/watches', 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/watches"
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": {
"watches": [
{
"id": "9f2b1e0a-1234-4a11-8b1c-abcdef123456",
"corpusType": "state",
"state": "wa",
"channel": "webhook",
"webhookUrl": "https://example.com/hooks/law-changes",
"isActive": true,
"createdAt": "2026-08-01T12:00:00Z",
"updatedAt": "2026-08-01T12:00:00Z",
"lastNotifiedAt": "2026-08-05T07:00:00Z",
"lastStatus": 200,
"changeSignal": "continuous",
"webhookAuth": {
"scheme": "header",
"headerName": "X-Api-Key",
"hasSecret": true
}
}
]
},
"meta": {
"processingTimeMs": 9.1,
"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
ApiKeyAuthApiKeyHeader
Query Parameters
Was this page helpful?

