> ## Documentation Index
> Fetch the complete documentation index at: https://docs.turrisfi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Entity Licensing Summary

> One row per entity: counts, domicile, and sync state

Returns one row per entity — active, expiring and expired licence counts, resident state, and when Turris last synced that entity with NIPR.

Use this for a dashboard tile. Use [Entity Licensing Position by State](/api-reference/v2/downstream/license-overview/entity-license-overview) when you need the state-by-state breakdown behind the numbers.


## OpenAPI

````yaml openapi/v2.json GET /v2/downstream/entity-license-summary
openapi: 3.0.0
info:
  title: Turris Public API
  description: API for managing insurance compliance data
  version: 2.0.0
  contact: {}
servers:
  - url: https://public.api.live.turrisfi.com
    description: Production
  - url: https://public.api.sandbox.turrisfi.com
    description: Sandbox
security: []
tags: []
paths:
  /v2/downstream/entity-license-summary:
    get:
      tags:
        - downstream/license-overview
      summary: Entity licensing summary
      description: >-
        Returns one row per agency entity: the states it is domiciled in, how
        many states it holds an active license in, and how current our copy of
        its NIPR data is. Entities we hold no NIPR subscription for are absent,
        since every field here is derived from one; List Entities returns them.
        Narrow with downstreamEntityId.
      operationId: LicenseOverviewController_getEntityLicenseSummary_v2
      parameters:
        - name: page
          required: false
          in: query
          description: 1-based page number
          schema:
            minimum: 1
            default: 1
            example: 1
            type: number
        - name: limit
          required: false
          in: query
          description: Page size (max 100)
          schema:
            minimum: 1
            maximum: 100
            default: 50
            example: 50
            type: number
        - name: downstreamEntityId
          required: false
          in: query
          description: >-
            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.
          schema:
            example: 6610b3d2c2e0a51b8c0d1f02
            type: string
      responses:
        '200':
          description: A page of entity summaries
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      items:
                        type: array
                        items:
                          $ref: >-
                            #/components/schemas/DownstreamLicenseSummaryResponse
                      total:
                        type: integer
                        description: Total rows matching the query across all pages
                        example: 137
                      page:
                        type: integer
                        description: 1-based page number
                        example: 1
                      limit:
                        type: integer
                        description: Page size
                        example: 50
                      totalPages:
                        type: integer
                        description: Number of pages, or 0 when there are no rows
                        example: 3
                    required:
                      - items
                      - total
                      - page
                      - limit
                      - totalPages
                  requestId:
                    type: string
                    description: Unique request identifier
                    example: dev-2c5e7cf2-9acf-4c8c-ab2f-b81f39d775a8
                  timestamp:
                    type: string
                    description: Response timestamp
                    example: '2025-11-12T20:49:03.293Z'
                required:
                  - data
                  - requestId
                  - timestamp
        '400':
          description: Invalid query parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        '401':
          description: Invalid or missing auth token
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        '403':
          description: Your organization is not entitled to the public API
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
        '404':
          description: downstreamEntityId is not in your organization
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
components:
  schemas:
    DownstreamLicenseSummaryResponse:
      type: object
      properties:
        holderType:
          type: string
          description: Whether an agency entity or a producer holds this position
          enum:
            - entity
            - producer
          example: entity
        holderId:
          type: string
          description: The entity or producer this summary is for
          example: 6610b3d2c2e0a51b8c0d1f02
        holderName:
          type: string
          description: Name of the holder
          example: Philadelphia Branch
        downstreamEntityId:
          type: string
          description: The agency entity whose NIPR subscription produced this row
          example: 6610b3d2c2e0a51b8c0d1f02
        domicileStates:
          description: States the holder holds a resident license in, active or not
          type: array
          items:
            $ref: '#/components/schemas/DownstreamDomicileStateResponse'
        licensedStateCount:
          type: number
          description: Distinct states the holder holds an ACTIVE license in
          example: 12
        complianceDataSynchronizationStatus:
          type: string
          description: >-
            How current our copy of this holder NIPR data is. Absent when no
            subscription record backs the row.
          enum:
            - not started
            - queued
            - processing
            - success
            - NIPR error
            - processing error
            - not applicable
            - no data
          example: success
      required:
        - holderType
        - holderId
        - holderName
        - downstreamEntityId
        - domicileStates
        - licensedStateCount
    ErrorResponseDto:
      type: object
      properties:
        statusCode:
          type: number
          description: HTTP status code
        requestId:
          type: string
          description: Unique request identifier for debugging
        errorType:
          type: string
          description: >-
            Machine-readable error classification. Branch on this rather than on
            `errorMessage`, which is prose and may change. Authentication
            failures returned by our identity provider are forwarded verbatim,
            so a 401 can carry a code outside this list; treat an unrecognised
            value as a generic failure of its HTTP status.
          enum:
            - conflict
            - contact_not_authorized
            - document_exceeds_page_limit
            - downstream_entity_member_exists
            - duplicate_external_id_error
            - duplicate_member_email
            - duplicate_producer_code_error
            - forbidden
            - gateway_timeout
            - inactive_email
            - internal_server_error
            - invalid_email
            - invalid_email_for_invites
            - invalid_organization_category
            - invalid_organization_slug
            - invalid_phone_number
            - invalid_token
            - invite_limit_reached
            - jwt_invalid
            - m2m_client_not_found
            - not_found
            - organization_already_exists
            - organization_slug_already_used
            - payment_required
            - producer_agreement_required
            - product_feature_subscription_required
            - service_unavailable
            - session_authorization_error
            - some_custom_error_string
            - throttled
            - too_many_requests
            - unauthorized
            - unauthorized_client
            - unexpected_400_stytch_error
            - unexpected_403_stytch_error
            - unexpected_404_stytch_error
            - unexpected_error
            - unexpected_stytch_error
            - unprocessable_entity
            - validation_error
          example: validation_error
        errorMessage:
          description: Array of error messages
          type: array
          items:
            type: string
        timestamp:
          type: string
          description: ISO timestamp when the error occurred
        details:
          type: object
          description: Additional error context
      required:
        - statusCode
        - requestId
        - errorType
        - errorMessage
        - timestamp
    DownstreamDomicileStateResponse:
      type: object
      properties:
        stateCode:
          type: string
          description: State or territory the holder is resident in
          enum:
            - 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
        hasActiveLicense:
          type: boolean
          description: Whether the resident license in this state is currently active
          example: true
      required:
        - stateCode
        - hasActiveLicense

````

## Related topics

- [Producer Licensing Summary](/api-reference/v2/downstream/license-overview/producer-license-summary.md)
- [Entity Licensing Position by State](/api-reference/v2/downstream/license-overview/entity-license-overview.md)
- [Producer Licensing Position by State](/api-reference/v2/downstream/license-overview/producer-license-overview.md)
