Compliance document status by entity
curl --request GET \
--url https://public.api.live.turrisfi.com/v2/downstream/document-compliance \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.live.turrisfi.com/v2/downstream/document-compliance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://public.api.live.turrisfi.com/v2/downstream/document-compliance"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"items": [
{
"downstreamEntityId": "6610b3d2c2e0a51b8c0d1f02",
"branchName": "Philadelphia Branch",
"documents": {
"eAndO": {
"status": "active",
"documentCount": 2,
"expiresAt": "2027-04-01T00:00:00.000Z"
},
"cyber": {
"status": "active",
"documentCount": 2,
"expiresAt": "2027-04-01T00:00:00.000Z"
},
"w9": {
"status": "active",
"documentCount": 2,
"expiresAt": "2027-04-01T00:00:00.000Z"
},
"crimeFidelity": {
"status": "active",
"documentCount": 2,
"expiresAt": "2027-04-01T00:00:00.000Z"
}
},
"parentId": "6610b3d2c2e0a51b8c0d1f01",
"legalName": "Example Insurance Services, LLC",
"npn": "1234567",
"ein": "12-3456789"
}
],
"total": 137,
"page": 1,
"limit": 50,
"totalPages": 3
},
"requestId": "dev-2c5e7cf2-9acf-4c8c-ab2f-b81f39d775a8",
"timestamp": "2025-11-12T20:49:03.293Z"
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}Documents
Compliance Document Status by Entity
Whether each entity’s four compliance slots are covered
GET
/
v2
/
downstream
/
document-compliance
Compliance document status by entity
curl --request GET \
--url https://public.api.live.turrisfi.com/v2/downstream/document-compliance \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.live.turrisfi.com/v2/downstream/document-compliance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://public.api.live.turrisfi.com/v2/downstream/document-compliance"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"items": [
{
"downstreamEntityId": "6610b3d2c2e0a51b8c0d1f02",
"branchName": "Philadelphia Branch",
"documents": {
"eAndO": {
"status": "active",
"documentCount": 2,
"expiresAt": "2027-04-01T00:00:00.000Z"
},
"cyber": {
"status": "active",
"documentCount": 2,
"expiresAt": "2027-04-01T00:00:00.000Z"
},
"w9": {
"status": "active",
"documentCount": 2,
"expiresAt": "2027-04-01T00:00:00.000Z"
},
"crimeFidelity": {
"status": "active",
"documentCount": 2,
"expiresAt": "2027-04-01T00:00:00.000Z"
}
},
"parentId": "6610b3d2c2e0a51b8c0d1f01",
"legalName": "Example Insurance Services, LLC",
"npn": "1234567",
"ein": "12-3456789"
}
],
"total": 137,
"page": 1,
"limit": 50,
"totalPages": 3
},
"requestId": "dev-2c5e7cf2-9acf-4c8c-ab2f-b81f39d775a8",
"timestamp": "2025-11-12T20:49:03.293Z"
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}{
"statusCode": 123,
"requestId": "<string>",
"errorType": "validation_error",
"errorMessage": [
"<string>"
],
"timestamp": "<string>",
"details": {}
}Returns one row per entity with the standing of its four compliance slots: errors and omissions, cyber, W9, and crime and fidelity.
This endpoint returns no files. List Documents does that. The two answer different questions — “what do I hold” against “am I covered” — and merging them would force every caller to page over the half it did not want.
Rows are flat, with a parentId
Each row carriesparentId, so you can rebuild your organization tree client-side. A nested shape cannot survive pagination: a page boundary would either split a parent from its branches or make the total count something other than the number of rows.Authorizations
bearerrestricted-access-token
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
1-based page number
Required range:
x >= 1Example:
1
Page size (max 100)
Required range:
1 <= x <= 100Example:
50
Narrow the results to a single entity in your organization. Defaults to your whole subtree (your entity plus every branch beneath it). Returns 404 if the id is not in your subtree.
Example:
"6610b3d2c2e0a51b8c0d1f02"
Was this page helpful?