Entity licensing position by state
curl --request GET \
--url https://public.api.live.turrisfi.com/v2/downstream/entity-license-overview \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.live.turrisfi.com/v2/downstream/entity-license-overview', 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/entity-license-overview"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"items": [
{
"holderType": "entity",
"holderId": "6610b3d2c2e0a51b8c0d1f02",
"holderName": "Philadelphia Branch",
"downstreamEntityId": "6610b3d2c2e0a51b8c0d1f02",
"stateCode": "PA",
"licenseCount": 3,
"activeLicenseCount": 2,
"isResident": true,
"expirationStatus": "not expired",
"lineOfAuthorityCodes": [
"16",
"20"
],
"nextRenewalDate": "2027-04-01T00:00:00.000Z"
}
],
"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": {}
}Licensing Overview
Entity Licensing Position by State
One row per entity and state, with the licences behind it
GET
/
v2
/
downstream
/
entity-license-overview
Entity licensing position by state
curl --request GET \
--url https://public.api.live.turrisfi.com/v2/downstream/entity-license-overview \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.live.turrisfi.com/v2/downstream/entity-license-overview', 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/entity-license-overview"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"items": [
{
"holderType": "entity",
"holderId": "6610b3d2c2e0a51b8c0d1f02",
"holderName": "Philadelphia Branch",
"downstreamEntityId": "6610b3d2c2e0a51b8c0d1f02",
"stateCode": "PA",
"licenseCount": 3,
"activeLicenseCount": 2,
"isResident": true,
"expirationStatus": "not expired",
"lineOfAuthorityCodes": [
"16",
"20"
],
"nextRenewalDate": "2027-04-01T00:00:00.000Z"
}
],
"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 your entitiesβ licensing position broken down by state: one row per entity and state, with the licence classes held there and their standing.
This is a computed rollup, the same computation the Turris agency application runs. It is shared code, so this endpoint and the application cannot disagree. If you would rather compute your own view, List Entity Licenses returns the raw 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?