List entity licenses
curl --request GET \
--url https://public.api.live.turrisfi.com/v2/downstream/entity-licenses \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.live.turrisfi.com/v2/downstream/entity-licenses', 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-licenses"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"items": [
{
"licenseId": "6627f2b5c2e0a51b8c0d4e7c",
"holderType": "entity",
"holderId": "6610b3d2c2e0a51b8c0d1f02",
"holderName": "Philadelphia Branch",
"downstreamEntityId": "6610b3d2c2e0a51b8c0d1f02",
"stateCode": "PA",
"licenseNumber": "1234567",
"licenseClassName": "Producer",
"licenseClassCode": "10",
"status": "active",
"residencyStatus": "non-resident",
"npn": "1234567",
"linesOfAuthority": [
{
"code": "16",
"name": "Property",
"status": "Active",
"issueDate": "2019-04-01T00:00:00.000Z"
}
],
"issueDate": "2019-04-01T00:00:00.000Z",
"lastRenewalDate": "2025-04-01T00:00:00.000Z",
"nextRenewalDate": "2027-04-01T00:00:00.000Z",
"isVoluntarySurrender": false,
"updatedAt": "2026-06-02T08:12:44.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": {}
}Licenses
List Entity Licenses
The licences held by your legal entities
GET
/
v2
/
downstream
/
entity-licenses
List entity licenses
curl --request GET \
--url https://public.api.live.turrisfi.com/v2/downstream/entity-licenses \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://public.api.live.turrisfi.com/v2/downstream/entity-licenses', 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-licenses"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"data": {
"items": [
{
"licenseId": "6627f2b5c2e0a51b8c0d4e7c",
"holderType": "entity",
"holderId": "6610b3d2c2e0a51b8c0d1f02",
"holderName": "Philadelphia Branch",
"downstreamEntityId": "6610b3d2c2e0a51b8c0d1f02",
"stateCode": "PA",
"licenseNumber": "1234567",
"licenseClassName": "Producer",
"licenseClassCode": "10",
"status": "active",
"residencyStatus": "non-resident",
"npn": "1234567",
"linesOfAuthority": [
{
"code": "16",
"name": "Property",
"status": "Active",
"issueDate": "2019-04-01T00:00:00.000Z"
}
],
"issueDate": "2019-04-01T00:00:00.000Z",
"lastRenewalDate": "2025-04-01T00:00:00.000Z",
"nextRenewalDate": "2027-04-01T00:00:00.000Z",
"isVoluntarySurrender": false,
"updatedAt": "2026-06-02T08:12:44.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 the state licences held by your entities, sourced from NIPR and refreshed by Turris.
Entity licences are keyed on a compliance data subscription, not on an entity id. Each of your entities has its own subscription, and the licence rows hang off that. You do not need to handle this ā the API resolves it ā but it explains why a brand-new entity with no NPN never returns licences: no NPN means no subscription, and no subscription means nothing to sync.
Narrowing
downstreamEntityId limits the list to one entity. stateCode and status filter within it.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"
Two-letter state or territory code
Available options:
AL, AK, AZ, AR, CA, CO, CT, DE, FL, GA, HI, ID, IL, IN, IA, KS, KY, LA, ME, MD, MA, MI, MN, MS, MO, MT, NE, NV, NH, NJ, NM, NY, NC, ND, OH, OK, OR, PA, RI, SC, SD, TN, TX, UT, VT, VA, WA, WV, WI, WY, GU, PR, VI, DC Example:
"PA"
License status
Available options:
active, inactive Example:
"active"
Was this page helpful?