curl --request GET \
--url https://api.canary.effectiveai.app/api/v2/insurance/carriers/{carrierId}/loss-development/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.canary.effectiveai.app/api/v2/insurance/carriers/{carrierId}/loss-development/{id}"
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/carriers/{carrierId}/loss-development/{id}', 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/carriers/{carrierId}/loss-development/{id}",
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/carriers/{carrierId}/loss-development/{id}"
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/carriers/{carrierId}/loss-development/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.canary.effectiveai.app/api/v2/insurance/carriers/{carrierId}/loss-development/{id}")
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{
"id": "<string>",
"carrier": {
"id": "<string>",
"name": "<string>"
},
"naicCompanyCode": "<string>",
"statementYear": 5949,
"line": {
"code": "A",
"name": "<string>",
"scheme": "schedule-p"
},
"part": "2",
"section": "<string>",
"variant": "<string>",
"sourceRow": "<string>",
"rowType": "prior",
"accidentYear": 5949,
"development": {
"measure": "incurred_net_losses_and_dcc",
"unit": "usd",
"values": [
{
"evaluationYear": 5949,
"developmentMonths": 123,
"value": 123
}
]
},
"supplemental": [
{
"measure": "incurred_net_losses_and_dcc",
"unit": "usd",
"value": 123
}
],
"sources": [
{
"exhibit": "<string>",
"statementYear": 5949
}
]
}{
"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"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic"
}Get a carrier Schedule P loss development row
Requires the organization’s NAIC dataset grant after acceptance of the NAIC terms. The grant is checked before carrier lookup on every request. Each nonempty successful request costs 0.02plus0.05 per returned row; one row is one printed accident-year, prior, totals or earned-premium row of one page. Empty results and failed requests are not charged; repeated successful reads are charged again. Use the ID returned by listCarrierLossDevelopmentRows under the same carrier. Reads the current loaded value of the source row, not an immutable revision. A removed row or wrong carrier returns 404. Accepts no query parameters. Read-only; private, no-store.
curl --request GET \
--url https://api.canary.effectiveai.app/api/v2/insurance/carriers/{carrierId}/loss-development/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.canary.effectiveai.app/api/v2/insurance/carriers/{carrierId}/loss-development/{id}"
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/carriers/{carrierId}/loss-development/{id}', 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/carriers/{carrierId}/loss-development/{id}",
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/carriers/{carrierId}/loss-development/{id}"
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/carriers/{carrierId}/loss-development/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.canary.effectiveai.app/api/v2/insurance/carriers/{carrierId}/loss-development/{id}")
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{
"id": "<string>",
"carrier": {
"id": "<string>",
"name": "<string>"
},
"naicCompanyCode": "<string>",
"statementYear": 5949,
"line": {
"code": "A",
"name": "<string>",
"scheme": "schedule-p"
},
"part": "2",
"section": "<string>",
"variant": "<string>",
"sourceRow": "<string>",
"rowType": "prior",
"accidentYear": 5949,
"development": {
"measure": "incurred_net_losses_and_dcc",
"unit": "usd",
"values": [
{
"evaluationYear": 5949,
"developmentMonths": 123,
"value": 123
}
]
},
"supplemental": [
{
"measure": "incurred_net_losses_and_dcc",
"unit": "usd",
"value": 123
}
],
"sources": [
{
"exhibit": "<string>",
"statementYear": 5949
}
]
}{
"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"
}{
"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-...
Path Parameters
Managed carrier_ ID or bare checked code. Legacy five-digit NAIC codes and naic: codes are also accepted.
1 - 100200Response
One Schedule P row, with the same representation as the list.
Opaque row ID. Pass unchanged to the item GET under the same carrier. Identifies the source row, not an immutable value.
Show child attributes
Show child attributes
Five-digit source NAIC company code, separate from the managed carrier ID.
Annual statement year that reported this row.
1900 <= x <= 9999Show child attributes
Show child attributes
Schedule P part: 2 incurred and 3 paid net losses and defense and cost containment (DCC) expenses, 4 bulk and IBNR net reserves, 5 claim counts, 6 premiums earned.
2, 3, 4, 5, 6 Reported page section, such as 1, 2 or 1A; null when the page has no sections. Part 6 sections 1, 1A and 1B are direct and assumed; 2, 2A and 2B are ceded.
Reported page variant, such as R - SECTION 1.
Two-digit printed row number on the page. 01 is prior years, 02 to 11 are accident years, 12 is totals and 13 is the Part 6 earned-premium row.
prior, accident_year, totals, earned_premiums Accident year (Part 6: year premiums were earned) for accident-year rows; null otherwise.
1900 <= x <= 9999The development triangle cells for this row. Parts 2 to 4 are net of reinsurance. Part 5 counts are direct and assumed. Null when the row reports only supplemental columns.
Show child attributes
Show child attributes
Reported columns beside the triangle: Part 2 one- and two-year development, Part 3 closed claim counts and Part 6 current-year premiums earned. Blank and zero columns are absent.
Show child attributes
Show child attributes
Show child attributes
Show child attributes