curl --request GET \
--url https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements"
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))
}HttpResponse<String> response = Unirest.get("https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"requirements": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"document": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "<string>",
"title": "<string>"
},
"requirement": "<string>",
"sourceText": "<string>",
"category": "MANDATORY_LANGUAGE",
"scope": "FORM",
"formTypes": [
"BASE_POLICY_FORM"
],
"actions": [
"CANCELLATION"
],
"toiCodes": [
"<string>"
],
"legalRefs": [
"<string>"
],
"sourceLocator": {
"heading": "<string>",
"chunkIndex": 1
}
}
],
"nextCursor": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}List form checklist requirements across states
List requirement items extracted from state form checklists, across checklists or for one with document. Answers questions like “what does each state require on a cancellation notice” in one call. Items exist only for form checklists. Each item has the normalized requirement, the source excerpt and where it sits, so you can check it against the checklist. Items are checklist evidence, not legal authority. Different filters combine with AND; repeated values combine with OR. Ordered by state, checklist, category and source position. No totals. Each returned item costs $0.01; empty pages and failed requests are free.
curl --request GET \
--url https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements"
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))
}HttpResponse<String> response = Unirest.get("https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.canary.effectiveai.app/api/v2/insurance/regulatory-requirements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"requirements": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"document": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"state": "<string>",
"title": "<string>"
},
"requirement": "<string>",
"sourceText": "<string>",
"category": "MANDATORY_LANGUAGE",
"scope": "FORM",
"formTypes": [
"BASE_POLICY_FORM"
],
"actions": [
"CANCELLATION"
],
"toiCodes": [
"<string>"
],
"legalRefs": [
"<string>"
],
"sourceLocator": {
"heading": "<string>",
"chunkIndex": 1
}
}
],
"nextCursor": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}Authorizations
Effective API key. Send Authorization: Bearer sk-eai-...
Query Parameters
Maximum items to return, 1–100. Default 50.
1 <= x <= 100Opaque nextCursor from the previous page. Repeat the same filters and limit. Expires 24 hours after the first page.
1 - 128Two-letter jurisdiction codes. Repeat for OR.
^[A-Za-z]{2}$Form checklist document IDs from listRegulatoryDocuments (kind=form_checklist). Repeat for OR.
Items that apply to any of these form types.
BASE_POLICY_FORM, COVERAGE_FORM, ENDORSEMENT, RIDER, APPLICATION, DECLARATIONS, SCHEDULE, CERTIFICATE, ID_CARD, CANCELLATION_NOTICE, NONRENEWAL_NOTICE, CONDITIONAL_RENEWAL_NOTICE, RENEWAL_CHANGE_NOTICE, OTHER_NOTICE, DISCLOSURE, OFFER_FORM, CONSENT_FORM, SELECTION_REJECTION_FORM, ACKNOWLEDGMENT, QUESTIONNAIRE, CERTIFICATION, ELECTION_FORM, CLAIM_FORM, PROOF_OF_LOSS, FRAUD_WARNING, OTHER Items that apply to any of these actions.
CANCELLATION, NONRENEWAL, CONDITIONAL_RENEWAL, RENEWAL_WITH_CHANGE, DECLINATION, RESCISSION, ISSUANCE, OTHER Items in any of these categories.
MANDATORY_LANGUAGE, REQUIRED_CONTENT, PROHIBITED_CONTENT, NOTICE_PERIOD, PERMISSIBLE_REASON, PROHIBITED_REASON, DELIVERY, RECIPIENT, PROOF, FILING_STATUS, APPROVAL, OFFER_OR_AVAILABILITY, SIGNATURE, FORMAT, OTHER Exact TOI values (OR), such as 21.0. 21.0 does not match 21.1.
1 - 20^[A-Za-z0-9.]+$