> ## 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.

# Get a Producer

> Fetch one producer and their entity associations

Returns one producer with the same shape as a row from [List Producers](/api-reference/v2/downstream/producers/list-producers).

Returns **404** when the producer is not associated with any entity in your subtree. A producer who exists on the platform but works for a different agency is indistinguishable from one who does not exist.

Social security numbers are never returned.


## OpenAPI

````yaml openapi/v2.json GET /v2/downstream/producers/{producerId}
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/producers/{producerId}:
    get:
      tags:
        - downstream/producers
      summary: Get a producer
      description: >-
        Returns a single producer by id, with the entities in your organization
        they are associated with. Returns 404 if the producer is not associated
        with your organization, which is the same response as an id that does
        not exist.
      operationId: ProducersController_getProducer_v2
      parameters:
        - name: producerId
          required: true
          in: path
          description: >-
            The unique identifier of the producer (the producerId returned by
            the List Producers endpoint).
          schema:
            example: 6627f2b5c2e0a51b8c0d4e7c
            type: string
      responses:
        '200':
          description: Producer details
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DownstreamProducerResponse'
                  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 producer id
          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: Producer not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
components:
  schemas:
    DownstreamProducerResponse:
      type: object
      properties:
        producerId:
          type: string
          description: Unique identifier of the producer
          example: 6627f2b5c2e0a51b8c0d4e7c
        firstName:
          type: string
          description: Given name
          example: Jon
        middleName:
          type: string
          description: Middle name
          example: R
        lastName:
          type: string
          description: Surname
          example: Doe
        npn:
          type: string
          description: National Producer Number
          example: '7654321'
        mainEmail:
          type: string
          description: The producer login email
          example: example@test.com
        nasdCrd:
          type: string
          description: FINRA CRD number
          example: '5551234'
        entities:
          description: The entities in your organization this producer is associated with
          type: array
          items:
            $ref: '#/components/schemas/DownstreamProducerEntityResponse'
        createdAt:
          type: string
          description: ISO 8601 creation timestamp
          example: '2025-01-15T10:30:00.000Z'
        updatedAt:
          type: string
          description: ISO 8601 last-update timestamp
          example: '2025-06-02T08:12:44.000Z'
      required:
        - producerId
        - firstName
        - lastName
        - entities
    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
    DownstreamProducerEntityResponse:
      type: object
      properties:
        associationId:
          type: string
          description: Identifier of the producer-to-entity relationship itself
          example: 6627f1a9c2e0a51b8c0d4e3a
        downstreamEntityId:
          type: string
          description: The entity this producer is associated with
          example: 6610b3d2c2e0a51b8c0d1f02
        branchName:
          type: string
          description: Branch name of that entity
          example: Philadelphia Branch
        drlpStates:
          type: array
          description: >-
            States where this producer is a Designated Responsible Licensed
            Producer for that entity
          example:
            - PA
          items:
            type: string
            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
        email:
          type: string
          description: >-
            Email held on this relationship, which may differ per entity. Not
            the producer login.
          example: example@test.com
        position:
          type: string
          description: Job title at that entity
          example: Producer
      required:
        - associationId
        - downstreamEntityId
        - branchName
        - drlpStates

````

## Related topics

- [Get Producer Agreement Templates](/api-reference/v2/file-documents/get-producer-agreement-templates.md)
- [Get Association](/api-reference/v1/downstream-entity-associations/get-association.md)
- [Get Transaction](/api-reference/v1/policy-transactions/get-transaction.md)
