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

> One carrier relationship in full

Returns one market: the carrier's details, your entity's side of the relationship, status and onboarding progress.

Returns **404** when the market is not one of yours.

<Warning>
  The data-room token and access mode are **never** returned by this API. They are the credentials for token-gated external access to your data room; publishing them in a response would be handing out a bearer token.
</Warning>


## OpenAPI

````yaml openapi/v2.json GET /v2/downstream/markets/{upstreamDownstreamAssociationId}
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/markets/{upstreamDownstreamAssociationId}:
    get:
      tags:
        - downstream/markets
      summary: Get a market
      description: >-
        Returns one market relationship, including the profile fields you
        maintain against that carrier and your onboarding progress with it.
        Returns 404 if the relationship is not one of yours, which is the same
        response as an id that does not exist.
      operationId: MarketsController_getMarket_v2
      parameters:
        - name: upstreamDownstreamAssociationId
          required: true
          in: path
          description: >-
            The unique identifier of the market (the
            upstreamDownstreamAssociationId returned by the List Markets
            endpoint).
          schema:
            example: 6627f1a9c2e0a51b8c0d4e3a
            type: string
      responses:
        '200':
          description: Market details
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DownstreamMarketResponse'
                  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 market 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: Market not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseDto'
components:
  schemas:
    DownstreamMarketResponse:
      type: object
      properties:
        upstreamDownstreamAssociationId:
          type: string
          description: Unique identifier of the market relationship
          example: 6627f1a9c2e0a51b8c0d4e3a
        downstreamEntityId:
          type: string
          description: Which of your entities holds this relationship
          example: 6610b3d2c2e0a51b8c0d1f02
        branchName:
          type: string
          description: The name this carrier records for your location
          example: Philadelphia Branch
        category:
          type: string
          description: How the carrier classifies you in this relationship
          enum:
            - agency
            - agency network
            - wholesale brokerage
            - third party administrator
          example: agency
        upstreamEntity:
          description: The carrier on the other side
          allOf:
            - $ref: '#/components/schemas/DownstreamMarketUpstreamEntityResponse'
        producerCount:
          type: number
          description: Producers attached to this relationship, excluding removed ones
          example: 12
        producerCode:
          type: string
          description: The carrier internal code for this relationship
          example: PA-0042
        externalId:
          type: string
          description: External identifier the carrier stores for you
          example: CRM-88213
        doingBusinessAs:
          type: string
          description: Doing-business-as name on this relationship
          example: Example Insurance
        website:
          type: string
          description: Website recorded on this relationship
          example: https://example-insurance.com
        portalUrl:
          type: string
          description: The carrier agent or partner portal for this relationship
          example: https://partners.example.example/login
        phoneNumber:
          type: string
          description: Phone number on this relationship
          example: '+12155550100'
        faxNumber:
          type: string
          description: Fax number on this relationship
          example: '+12155550101'
        legalAddress:
          description: Legal address on this relationship
          allOf:
            - $ref: '#/components/schemas/MarketAddressResponse'
        mailingAddress:
          description: Mailing address on this relationship
          allOf:
            - $ref: '#/components/schemas/MarketAddressResponse'
        onboarding:
          description: Your onboarding progress with this carrier
          allOf:
            - $ref: '#/components/schemas/DownstreamMarketOnboardingResponse'
        isInvited:
          type: boolean
          description: Whether the carrier has sent an onboarding invitation
          example: true
        hasAcknowledgedTerms:
          type: boolean
          description: Whether you have acknowledged this carrier terms
          example: true
        parentUpstreamDownstreamAssociationId:
          type: string
          description: >-
            The parent relationship in the CARRIER branch structure, which is
            independent of your own org chart. Absent on a head-office row.
          example: 6627f1a9c2e0a51b8c0d4e39
        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:
        - upstreamDownstreamAssociationId
        - downstreamEntityId
        - branchName
        - category
        - upstreamEntity
        - producerCount
        - onboarding
        - isInvited
        - hasAcknowledgedTerms
    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
    DownstreamMarketUpstreamEntityResponse:
      type: object
      properties:
        upstreamEntityId:
          type: string
          description: Unique identifier of the carrier
          example: 65f0a1b2c3d4e5f6a7b8c9d0
        legalName:
          type: string
          description: Registered legal name of the carrier
          example: Example Specialty Insurance Co.
        category:
          type: string
          description: What kind of upstream organization this is
          enum:
            - carrier
            - wholesaler
            - mga
            - third party administrator
            - service provider
            - governmental
          example: carrier
      required:
        - upstreamEntityId
        - legalName
        - category
    MarketAddressResponse:
      type: object
      properties:
        line1:
          type: string
          description: Street address line 1
          example: 1200 Market St
        line2:
          type: string
          description: Street address line 2
          example: Suite 400
        city:
          type: string
          description: City
          example: Philadelphia
        zip:
          type: string
          description: ZIP code
          example: '19107'
        state:
          type: string
          description: Two-letter state code
          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
          example: PA
        country:
          type: string
          description: Country
          example: USA
      required:
        - country
    DownstreamMarketOnboardingResponse:
      type: object
      properties:
        isIdentityDone:
          type: boolean
          description: Identity verification step complete
          example: true
        isProfileDone:
          type: boolean
          description: Agency profile step complete
          example: true
        isMemberCreationDone:
          type: boolean
          description: Member creation step complete
          example: true
        isUploadDocumentsDone:
          type: boolean
          description: >-
            Document upload step complete. Absent when this carrier does not
            require the step.
          example: true
        isRequestedAuthorityDone:
          type: boolean
          description: Requested-authority step complete. Absent when not required.
          example: false
        isPaymentDetailsDone:
          type: boolean
          description: Payment details step complete. Absent when not required.
          example: false
        isCustomQuestionsDone:
          type: boolean
          description: Custom questions step complete. Absent when not required.
          example: false
        isLicensedProducersDone:
          type: boolean
          description: Licensed producers step complete. Absent when not required.
          example: false
        isPreContractReviewDone:
          type: boolean
          description: Pre-contract review step complete. Absent when not required.
          example: false
        isContractSigned:
          type: boolean
          description: Whether the producer agreement is fully executed
          example: false
      required:
        - isIdentityDone
        - isProfileDone
        - isMemberCreationDone

````

## Related topics

- [List Market Contacts](/api-reference/v1/market-contacts/list-market-contacts.md)
- [List Markets](/api-reference/v2/downstream/markets/list-markets.md)
- [Get Contact](/api-reference/v1/contacts/get-contact.md)
