curl --request GET \
--url https://api.effectiveai.app/api/v2/insurance/osha/case-details \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.effectiveai.app/api/v2/insurance/osha/case-details"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.effectiveai.app/api/v2/insurance/osha/case-details', 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.effectiveai.app/api/v2/insurance/osha/case-details",
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.effectiveai.app/api/v2/insurance/osha/case-details"
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.effectiveai.app/api/v2/insurance/osha/case-details")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.effectiveai.app/api/v2/insurance/osha/case-details")
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{
"caseDetails": [
{
"id": "<string>",
"establishmentId": "<string>",
"establishmentName": "<string>",
"ein": "<string>",
"companyName": "<string>",
"streetAddress": "<string>",
"city": "<string>",
"state": "<string>",
"zipCode": "<string>",
"naicsCode": "<string>",
"naicsYear": 123,
"industryDescription": "<string>",
"establishmentType": 123,
"size": 123,
"annualAverageEmployees": 123,
"totalHoursWorked": 123,
"caseNumber": "<string>",
"jobDescription": "<string>",
"socCode": "<string>",
"socDescription": "<string>",
"socProbability": 123,
"socReviewed": "<string>",
"unexpectedNaicsSocCombo": "<string>",
"dateOfIncident": "<string>",
"incidentOutcome": 123,
"dafwNumAway": 123,
"djtrNumTr": 123,
"typeOfIncident": 123,
"timeStartedWork": "<string>",
"timeOfIncident": "<string>",
"timeUnknown": 123,
"dateOfDeath": "<string>",
"createdTimestamp": "<string>",
"yearOfFiling": 123,
"yearFilingFor": 123,
"newIncidentLocation": "<string>",
"newIncidentDescription": "<string>",
"newNarBeforeIncident": "<string>",
"newNarWhatHappened": "<string>",
"newNarInjuryIllness": "<string>",
"newNarObjectSubstance": "<string>",
"natureCodePred": "<string>",
"natureTitlePred": "<string>",
"partCodePred": "<string>",
"partTitlePred": "<string>",
"eventCodePred": "<string>",
"eventTitlePred": "<string>",
"sourceCodePred": "<string>",
"sourceTitlePred": "<string>",
"secSourceCodePred": "<string>",
"secSourceTitlePred": "<string>",
"employerId": "<string>",
"siteId": "<string>",
"sourceFile": {
"url": "<string>",
"sha256": "<string>",
"retrievedAt": "<string>"
}
}
],
"nextCursor": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}List OSHA case details
OSHA ITA case detail from Forms 300 and 301: one row per injury or illness, with the job, outcome and the employer’s own narrative. OSHA’s rows as published, under OSHA’s own column names in camelCase. Each row also carries the employerId and siteId Effective matched it to (null if unmatched) and the OSHA file it came from. Newest first. To page, repeat the same filters and limit with cursor set to nextCursor. Read one with GET /insurance/osha/case-details/. Needs the OSHA dataset enabled for your organization. Read-only; private, no-store.
curl --request GET \
--url https://api.effectiveai.app/api/v2/insurance/osha/case-details \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.effectiveai.app/api/v2/insurance/osha/case-details"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.effectiveai.app/api/v2/insurance/osha/case-details', 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.effectiveai.app/api/v2/insurance/osha/case-details",
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.effectiveai.app/api/v2/insurance/osha/case-details"
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.effectiveai.app/api/v2/insurance/osha/case-details")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.effectiveai.app/api/v2/insurance/osha/case-details")
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{
"caseDetails": [
{
"id": "<string>",
"establishmentId": "<string>",
"establishmentName": "<string>",
"ein": "<string>",
"companyName": "<string>",
"streetAddress": "<string>",
"city": "<string>",
"state": "<string>",
"zipCode": "<string>",
"naicsCode": "<string>",
"naicsYear": 123,
"industryDescription": "<string>",
"establishmentType": 123,
"size": 123,
"annualAverageEmployees": 123,
"totalHoursWorked": 123,
"caseNumber": "<string>",
"jobDescription": "<string>",
"socCode": "<string>",
"socDescription": "<string>",
"socProbability": 123,
"socReviewed": "<string>",
"unexpectedNaicsSocCombo": "<string>",
"dateOfIncident": "<string>",
"incidentOutcome": 123,
"dafwNumAway": 123,
"djtrNumTr": 123,
"typeOfIncident": 123,
"timeStartedWork": "<string>",
"timeOfIncident": "<string>",
"timeUnknown": 123,
"dateOfDeath": "<string>",
"createdTimestamp": "<string>",
"yearOfFiling": 123,
"yearFilingFor": 123,
"newIncidentLocation": "<string>",
"newIncidentDescription": "<string>",
"newNarBeforeIncident": "<string>",
"newNarWhatHappened": "<string>",
"newNarInjuryIllness": "<string>",
"newNarObjectSubstance": "<string>",
"natureCodePred": "<string>",
"natureTitlePred": "<string>",
"partCodePred": "<string>",
"partTitlePred": "<string>",
"eventCodePred": "<string>",
"eventTitlePred": "<string>",
"sourceCodePred": "<string>",
"sourceTitlePred": "<string>",
"secSourceCodePred": "<string>",
"secSourceTitlePred": "<string>",
"employerId": "<string>",
"siteId": "<string>",
"sourceFile": {
"url": "<string>",
"sha256": "<string>",
"retrievedAt": "<string>"
}
}
],
"nextCursor": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}{
"error": "<string>",
"code": "<string>",
"details": [
{
"location": "path",
"path": [
"<string>"
],
"code": "required",
"message": "<string>"
}
],
"requestId": "<string>",
"dataset": "naic",
"accessUrl": "<string>"
}Authorizations
Effective API key. Send Authorization: Bearer sk-eai-...
Query Parameters
Effective employer ID: emp_ followed by 20 hex characters.
^emp_[0-9a-f]{20}$Effective site ID: site_ followed by 20 hex characters.
^site_[0-9a-f]{20}$OSHA ITA establishment ID.
1 - 40EIN as filed, with or without the dash.
^\d{2}-?\d{7}$Two-letter state code, such as FL.
^[A-Za-z]{2}$NAICS code or prefix, 2 to 6 digits. 2381 matches every 2381xx code.
^\d{2,6}$Filing year (OSHA’s yearFilingFor): the calendar year the cases happened in.
^\d{4}$Maximum number of items to return (1-100).
1 <= x <= 100Opaque nextCursor from this operation. Repeat every other query parameter unchanged; a cursor from a different query returns invalid_cursor.
1 - 8192