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

# Medication Order Metadata

> Get all supported medication order metadata in one response

Use this endpoint to get supported metadata for medication orders in one response, including coding systems, dosage units, frequency types, timings, statuses, origins, and encounter relations.

For more information about medication orders, refer to the [Medication orders](/documentation/medication-orders).

## 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/orders"
    headers = {
        "sdp_suki_token": "<sdp_suki_token>",
        "sdp_provider_id": "<sdp_provider_id>"
    }

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

    if response.status_code == 200:
        order_info = response.json()
        print("Medication order metadata:")
        print(f"  Coding systems: {len(order_info.get('coding_systems', []))}")
        print(f"  Dosage units: {len(order_info.get('dosage_units', []))}")
        print(f"  Encounter relations: {len(order_info.get('encounter_relations', []))}")
        print(f"  Frequency types: {len(order_info.get('frequency_types', []))}")
        print(f"  Origins: {len(order_info.get('origins', []))}")
        print(f"  Statuses: {len(order_info.get('statuses', []))}")
        print(f"  Timings: {len(order_info.get('timings', []))}")
    else:
        print(f"Failed to get medication order metadata: {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/orders', {
      headers: {
        'sdp_suki_token': '<sdp_suki_token>',
        'sdp_provider_id': '<sdp_provider_id>'
      }
    });

    if (response.ok) {
      const orderInfo = await response.json();
      console.log('Medication order metadata:');
      console.log(`  Coding systems: ${orderInfo.coding_systems?.length ?? 0}`);
      console.log(`  Dosage units: ${orderInfo.dosage_units?.length ?? 0}`);
      console.log(`  Encounter relations: ${orderInfo.encounter_relations?.length ?? 0}`);
      console.log(`  Frequency types: ${orderInfo.frequency_types?.length ?? 0}`);
      console.log(`  Origins: ${orderInfo.origins?.length ?? 0}`);
      console.log(`  Statuses: ${orderInfo.statuses?.length ?? 0}`);
      console.log(`  Timings: ${orderInfo.timings?.length ?? 0}`);
    } else {
      const error = await response.json();
      console.error(`Failed to get medication order metadata: ${response.status}`, error);
    }
    ```
  </Tab>
</Tabs>


## OpenAPI

````yaml GET /api/v1/info/orders
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/orders:
    get:
      tags:
        - /api/v1/info
      summary: Get medication order metadata
      description: Returns all supported medication order reference lists in one response.
      parameters:
        - $ref: '#/components/parameters/ProviderIdHeader'
      responses:
        '200':
          description: Request succeeded.
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/controllers.AllOrderInfoResponse'
        '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/orders \
              --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.AllOrderInfoResponse:
      description: Response body for the /info/orders endpoint
      type: object
      properties:
        coding_systems:
          description: Information about supported medication coding systems
          type: array
          items:
            $ref: '#/components/schemas/controllers.MedicationCodingSystemInfo'
        dosage_units:
          description: Information about supported dosage units
          type: array
          items:
            $ref: '#/components/schemas/controllers.MedicationDosageUnitInfo'
        encounter_relations:
          description: Information about supported order encounter relations
          type: array
          items:
            $ref: '#/components/schemas/controllers.OrderEncounterRelationInfo'
        frequency_types:
          description: Information about supported frequency types
          type: array
          items:
            $ref: '#/components/schemas/controllers.MedicationFrequencyTypeInfo'
        origins:
          description: Information about supported order origins
          type: array
          items:
            $ref: '#/components/schemas/controllers.OrderOriginInfo'
        statuses:
          description: Information about supported medication order statuses
          type: array
          items:
            $ref: '#/components/schemas/controllers.MedicationOrderStatusInfo'
        timings:
          description: Information about supported medication timings
          type: array
          items:
            $ref: '#/components/schemas/controllers.MedicationTimingInfo'
    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.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.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.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.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.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
  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.

````