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

# System Information

> Get system information and supported configuration values

Use this endpoint to get the list of supported <Tooltip tip="Logical Observation Identifiers Names and Codes. A standardized vocabulary for identifying clinical sections and medical concepts." cta="View in Glossary" href="/Glossary/l">LOINC</Tooltip> codes, specialties, <Tooltip tip="A single interaction between a patient and healthcare provider, typically corresponding to one visit or appointment." cta="View in Glossary" href="/Glossary/e">encounter</Tooltip> types, visit types, <Tooltip tip="A healthcare professional within an organization who uses Suki's services to document patient care." cta="View in Glossary" href="/Glossary/p">provider</Tooltip> roles, <Tooltip tip="A clinical determination of a patient's condition or disease, often encoded using ICD10 or SNOMED for interoperability with EHR systems." cta="View in Glossary" href="/Glossary/d">diagnosis</Tooltip> code types, and medication order metadata (coding systems, dosage units, frequency types, timings, order statuses, encounter relations, and origins).

You can also fetch each category with dedicated `GET /api/v1/info/...` routes listed under **Info** in the API reference.

## Code examples

<Tabs>
  <Tab title="Python">
    ```python theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
    import requests

    url = "https://sdp.suki-stage.com/api/v1/info"
    headers = {
        "sdp_suki_token": "<sdp_suki_token>",
        "sdp_provider_id": "<sdp_provider_id>"
    }

    response = requests.get(url, headers=headers)

    if response.status_code == 200:
        info = response.json()
        print("System Information:")
        print(f"LOINCs: {len(info.get('loincs', []))} codes")
        print(f"Specialties: {len(info.get('specialties', []))} specialties")
        print(f"Encounter Types: {len(info.get('encounter_types', []))} types")
        print(f"Visit Types: {len(info.get('visit_types', []))} types")
        print(f"Provider Roles: {len(info.get('provider_roles', []))} roles")
        print(f"Diagnosis Code Types: {len(info.get('diagnosis_code_types', []))} types")
        print(f"Medication coding systems: {len(info.get('medication_coding_systems', []))}")
        print(f"Medication dosage units: {len(info.get('medication_dosage_units', []))}")
        print(f"Medication frequency types: {len(info.get('medication_frequency_types', []))}")
        print(f"Medication timings: {len(info.get('medication_timings', []))}")
        print(f"Medication order statuses: {len(info.get('medication_order_statuses', []))}")
        print(f"Order encounter relations: {len(info.get('order_encounter_relations', []))}")
        print(f"Order origins: {len(info.get('order_origins', []))}")
    else:
        print(f"Failed to get system information: {response.status_code}")
        print(response.json())
    ```
  </Tab>

  <Tab title="TypeScript">
    ```typescript theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
    const response = await fetch('https://sdp.suki-stage.com/api/v1/info', {
      headers: {
        'sdp_suki_token': '<sdp_suki_token>',
        'sdp_provider_id': '<sdp_provider_id>'
      }
    });

    if (response.ok) {
      const info = await response.json();
      console.log('System Information:');
      console.log(`LOINCs: ${info.loincs?.length || 0} codes`);
      console.log(`Specialties: ${info.specialties?.length || 0} specialties`);
      console.log(`Encounter Types: ${info.encounter_types?.length || 0} types`);
      console.log(`Visit Types: ${info.visit_types?.length || 0} types`);
      console.log(`Provider Roles: ${info.provider_roles?.length || 0} roles`);
      console.log(`Diagnosis Code Types: ${info.diagnosis_code_types?.length || 0} types`);
      console.log(`Medication coding systems: ${info.medication_coding_systems?.length ?? 0}`);
      console.log(`Medication dosage units: ${info.medication_dosage_units?.length ?? 0}`);
      console.log(`Medication frequency types: ${info.medication_frequency_types?.length ?? 0}`);
      console.log(`Medication timings: ${info.medication_timings?.length ?? 0}`);
      console.log(`Medication order statuses: ${info.medication_order_statuses?.length ?? 0}`);
      console.log(`Order encounter relations: ${info.order_encounter_relations?.length ?? 0}`);
      console.log(`Order origins: ${info.order_origins?.length ?? 0}`);
    } else {
      const error = await response.json();
      console.error(`Failed to get system information: ${response.status}`, error);
    }
    ```
  </Tab>
</Tabs>


## OpenAPI

````yaml GET /api/v1/info
openapi: 3.0.1
info:
  title: Suki Developer Platform
  description: >-
    REST and WebSocket APIs for the Suki Developer Platform. Authenticate with
    Login or Register to obtain a Suki access token, then integrate ambient
    clinical documentation, form filling, transcription, and reference metadata
    endpoints.
  contact: {}
  version: '1.0'
servers:
  - url: https://sdp.suki.ai
    description: >-
      Production base URL for Suki Developer Platform REST APIs. WebSocket
      endpoints use the same host with `wss://`.
security:
  - SukiTokenAuth: []
paths:
  /api/v1/info:
    get:
      tags:
        - /api/v1/info
      summary: Get system information
      description: >-
        Returns reference metadata Suki supports for ambient integrations,
        including LOINC codes, specialties, diagnosis code types, encounter
        types, visit types, provider roles, and medication order enums.
      parameters:
        - $ref: '#/components/parameters/ProviderIdHeader'
      responses:
        '200':
          description: Request succeeded.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/controllers.GetInfoResponse'
        '400':
          description: Bad request. The request body or parameters failed validation.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/controllers.BadRequestError'
        '401':
          description: Unauthorized. The Suki access token is missing, expired, or invalid.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/controllers.AuthenticationError'
        '403':
          description: Forbidden. The authenticated user cannot access this resource.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/controllers.ForbiddenError'
      security:
        - SukiTokenAuth: []
      x-codeSamples:
        - lang: bash
          label: cURL
          source: |-
            curl --request GET \
              --url https://sdp.suki.ai/api/v1/info \
              --header 'sdp_suki_token: <sdp_suki_token>' \
              --header 'sdp_provider_id: <sdp_provider_id>'
components:
  parameters:
    ProviderIdHeader:
      name: sdp_provider_id
      in: header
      description: >-
        **Optional** - Stable identifier for the active provider. Omit for
        standard partners whose `partner_token` identifies the user.
        **Required** for Bearer partners and Single Auth Token authentication
        where multiple providers share one `partner_token`. Use the same
        `provider_id` you sent on Login or Register.
      required: false
      schema:
        type: string
        example: provider-123
  schemas:
    controllers.GetInfoResponse:
      description: >-
        Response body for the /info endpoints with flexible data based on
        category
      type: object
      properties:
        diagnosis_code_types:
          type: array
          description: Information about supported diagnosis code types
          items:
            $ref: '#/components/schemas/controllers.DiagnosisInfo'
        encounter_types:
          description: Information about supported encounter types
          type: array
          items:
            $ref: '#/components/schemas/controllers.EncounterTypeInfo'
        loincs:
          description: Information about supported section codes
          type: array
          items:
            $ref: '#/components/schemas/controllers.LoincInfo'
        medication_coding_systems:
          description: Information about supported medication coding systems
          type: array
          items:
            $ref: '#/components/schemas/controllers.MedicationCodingSystemInfo'
        medication_dosage_units:
          description: Information about supported medication dosage units
          type: array
          items:
            $ref: '#/components/schemas/controllers.MedicationDosageUnitInfo'
        medication_frequency_types:
          description: Information about supported medication frequency types
          type: array
          items:
            $ref: '#/components/schemas/controllers.MedicationFrequencyTypeInfo'
        medication_order_statuses:
          description: Information about supported medication order statuses
          type: array
          items:
            $ref: '#/components/schemas/controllers.MedicationOrderStatusInfo'
        medication_timings:
          description: Information about supported medication timings
          type: array
          items:
            $ref: '#/components/schemas/controllers.MedicationTimingInfo'
        order_encounter_relations:
          description: Information about supported order encounter relations
          type: array
          items:
            $ref: '#/components/schemas/controllers.OrderEncounterRelationInfo'
        order_origins:
          description: Information about supported order origins
          type: array
          items:
            $ref: '#/components/schemas/controllers.OrderOriginInfo'
        provider_roles:
          description: Information about supported provider roles
          type: array
          items:
            $ref: '#/components/schemas/controllers.ProviderRoleInfo'
        specialties:
          description: Information about supported specialties
          type: array
          items:
            $ref: '#/components/schemas/controllers.SpecialtyInfo'
        visit_types:
          description: Information about supported visit types
          type: array
          items:
            $ref: '#/components/schemas/controllers.VisitTypeInfo'
    controllers.BadRequestError:
      type: object
      properties:
        code:
          type: integer
          example: 400
          description: HTTP status code for the error.
        message:
          type: string
          example: invalid request
          description: Human-readable description of the validation or request error.
      description: Error response when the request fails validation.
    controllers.AuthenticationError:
      type: object
      properties:
        code:
          type: integer
          example: 401
          description: HTTP status code for the error.
        message:
          type: string
          example: invalid token
          description: Human-readable description of the authentication failure.
      description: Error response when authentication fails.
    controllers.ForbiddenError:
      type: object
      properties:
        code:
          type: integer
          example: 403
          description: HTTP status code for the error.
        message:
          type: string
          example: forbidden
          description: Human-readable description of the authorization failure.
      description: Error response when the caller lacks permission.
    controllers.DiagnosisInfo:
      type: object
      properties:
        code_type:
          type: string
          description: Code system (for example, "ICD10", "IMO", "SNOMED", "HCC")
          example: ICD10
      description: >-
        Information about a diagnosis code type. HCC is returned in ambient
        structured data output when an ICD-10-CM diagnosis maps to a CMS-HCC
        model category.
    controllers.EncounterTypeInfo:
      type: object
      properties:
        code:
          type: string
          description: Encounter type code (e.g., "AMBULATORY", "INPATIENT", "EMERGENCY")
          example: AMBULATORY
      description: Information about an encounter type
    controllers.LoincInfo:
      type: object
      properties:
        code:
          type: string
          description: The LOINC code (e.g., "10164-2")
          example: 10164-2
        common_name:
          type: string
          description: Human-readable name for the LOINC code
          example: History of Present Illness
      description: Information about a LOINC code
    controllers.MedicationCodingSystemInfo:
      description: Information about a medication coding system
      type: object
      properties:
        code:
          description: Coding system code (e.g., "RXCUI", "NDC")
          type: string
          example: RXCUI
    controllers.MedicationDosageUnitInfo:
      description: Information about a medication dosage unit
      type: object
      properties:
        code:
          description: Dosage unit code (e.g., "TAB", "TBSP")
          type: string
          example: TAB
    controllers.MedicationFrequencyTypeInfo:
      description: Information about a medication frequency type
      type: object
      properties:
        code:
          description: Frequency type code (e.g., "ONE_A_DAY", "TWO_A_DAY")
          type: string
          example: ONE_A_DAY
    controllers.MedicationOrderStatusInfo:
      description: Information about a medication order status
      type: object
      properties:
        code:
          description: Medication order status code (e.g., "ACTIVE", "DISCONTINUED")
          type: string
          example: ACTIVE
    controllers.MedicationTimingInfo:
      description: Information about a medication timing
      type: object
      properties:
        code:
          description: Medication timing code (e.g., "WITH_MEALS")
          type: string
          example: WITH_MEALS
    controllers.OrderEncounterRelationInfo:
      description: Information about an order encounter relation
      type: object
      properties:
        code:
          description: >-
            Encounter relation code (e.g., "CURRENT_ENCOUNTER",
            "PRIOR_ENCOUNTER")
          type: string
          example: CURRENT_ENCOUNTER
    controllers.OrderOriginInfo:
      description: Information about an order origin
      type: object
      properties:
        code:
          description: Order origin code (e.g., "SUKI_AMBIENT", "EMR")
          type: string
          example: SUKI_AMBIENT
    controllers.ProviderRoleInfo:
      type: object
      properties:
        code:
          type: string
          description: Provider role code (e.g., "ATTENDING", "CONSULTING")
          example: ATTENDING
      description: Information about a provider role
    controllers.SpecialtyInfo:
      type: object
      properties:
        code:
          type: string
          description: Specialty code (e.g., "CARDIOLOGY", "FAMILY_MEDICINE")
          example: CARDIOLOGY
      description: Information about a medical specialty
    controllers.VisitTypeInfo:
      type: object
      properties:
        code:
          type: string
          description: >-
            Visit type code (e.g., "NEW_PATIENT", "ESTABLISHED_PATIENT",
            "WELLNESS", "ED")
          example: ESTABLISHED_PATIENT
      description: Information about a visit type
  securitySchemes:
    SukiTokenAuth:
      type: apiKey
      in: header
      name: sdp_suki_token
      description: >-
        Suki access token for the authenticated provider. Obtain this by calling
        Login or Register with a valid `partner_token`. Pass the `suki_token`
        value from the JSON response as the `sdp_suki_token` header on REST
        requests and non-browser WebSocket upgrades. Browser WebSocket clients
        pass the token in `Sec-WebSocket-Protocol` instead. Tokens expire after
        one hour; call Login again to refresh.

````