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

# List dataset records

> Returns one page of the catalog for the given type, newest first. Inactive (soft-deleted or deactivated) records are left out unless `show_inactive=1`.

Unlike the other endpoints, this one returns the page object directly, without the `success` / `message` envelope.



## OpenAPI

````yaml get /admin/datasets/v1/
openapi: 3.1.0
info:
  title: Eka Care Datasets API
  description: >-
    Manage your workspace's formulary catalogs (medications, lab tests, symptoms
    and diagnoses): upload them as JSON or CSV, keep them in sync, read them
    back, and switch on partner search in the Eka Medical Database. Every
    request acts only on the workspace your access token belongs to.
  version: 1.0.0
  contact:
    name: Eka Care Support
    url: https://eka.care/
    email: support@eka.care
servers:
  - url: https://api.eka.care
    description: Production
  - url: https://api.dev.eka.care
    description: Stage/Sandbox
security:
  - BearerAuth: []
tags:
  - name: datasets
paths:
  /admin/datasets/v1/:
    get:
      tags:
        - datasets
      summary: List dataset records
      description: >-
        Returns one page of the catalog for the given type, newest first.
        Inactive (soft-deleted or deactivated) records are left out unless
        `show_inactive=1`.


        Unlike the other endpoints, this one returns the page object directly,
        without the `success` / `message` envelope.
      operationId: listDatasetRecords
      parameters:
        - $ref: '#/components/parameters/Type'
        - name: q
          in: query
          required: false
          description: Text search over name, display name and aliases.
          schema:
            type: string
        - $ref: '#/components/parameters/ShowInactive'
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Offset'
      responses:
        '200':
          description: A page of records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecordPage'
              example:
                items:
                  - medication_id: DRUG1001
                    name: Dolo 650
                    aliases:
                      - Dolo
                      - Paracetamol 650
                    display_name: Dolo 650
                    strength: 650mg
                    generic_name: Paracetamol
                    generic_list:
                      - Paracetamol
                    form_name: Tablet
                    manufacturer: Micro Labs Ltd
                    otc: true
                    is_active: true
                    updated_at: '2026-09-28T10:15:00+00:00'
                count: 1
                total: 1
                limit: 100
                offset: 0
                has_more: false
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    Type:
      name: type
      in: query
      required: true
      description: Which catalog to act on.
      schema:
        type: string
        enum:
          - medication
          - lab_test
          - symptom
          - diagnosis
    ShowInactive:
      name: show_inactive
      in: query
      required: false
      description: Pass `1` to include inactive records.
      schema:
        type: string
        enum:
          - '1'
    Limit:
      name: limit
      in: query
      required: false
      description: Page size.
      schema:
        type: integer
        minimum: 1
        maximum: 1000
        default: 100
    Offset:
      name: offset
      in: query
      required: false
      description: Number of items to skip.
      schema:
        type: integer
        minimum: 0
        default: 0
  schemas:
    RecordPage:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/Record'
        count:
          type: integer
          description: Items on this page.
        total:
          type: integer
          description: Items matching the query across all pages.
        limit:
          type: integer
        offset:
          type: integer
        has_more:
          type: boolean
    Record:
      description: A record of the requested type, as returned by the API.
      oneOf:
        - $ref: '#/components/schemas/Medication'
        - $ref: '#/components/schemas/LabTest'
        - $ref: '#/components/schemas/Symptom'
        - $ref: '#/components/schemas/Diagnosis'
    ErrorResponse:
      type: object
      required:
        - success
        - message
      properties:
        success:
          type: boolean
          const: false
        message:
          type: string
        errors:
          type: array
          description: >-
            Present when validation failed or the shrink guard stopped a
            reconcile.
          items:
            oneOf:
              - $ref: '#/components/schemas/FieldError'
              - $ref: '#/components/schemas/ShrinkGuardError'
    Medication:
      type: object
      title: Medication
      required:
        - medication_id
        - name
      properties:
        medication_id:
          type: string
          maxLength: 200
          description: Your id for the drug.
        name:
          type: string
          maxLength: 200
        aliases:
          type: array
          items:
            type: string
            maxLength: 200
          description: Alternate names and short forms, used by search.
        display_name:
          type: string
          maxLength: 200
          description: Shown to end users. Defaults to `name`.
        strength:
          type: string
          maxLength: 32
        generic_name:
          type: string
          maxLength: 300
        generic_id:
          type: string
          maxLength: 64
        generic_list:
          type: array
          items:
            type: string
            maxLength: 100
          description: All generic (salt) components.
        generic_list_ids:
          type: array
          items:
            type: string
            maxLength: 64
        form_name:
          type: string
          maxLength: 64
          description: >-
            Dosage form. Matched case-insensitively against the [accepted drug
            forms](/api-reference/datasets/forms); a match links the drug to
            Eka's form, and any other value is stored as text without that link.
        sku:
          type: string
          maxLength: 64
        schedule_code:
          type: string
          maxLength: 32
        custom_type:
          type: string
          maxLength: 64
        therapy_class:
          type: string
          maxLength: 128
        therapy_class_id:
          type: string
          maxLength: 64
        action_class:
          type: string
          maxLength: 128
        action_class_id:
          type: string
          maxLength: 64
        manufacturer:
          type: string
          maxLength: 200
        otc:
          type: boolean
        is_active:
          type: boolean
          description: Defaults to true on write.
        updated_at:
          type: string
          format: date-time
          readOnly: true
    LabTest:
      type: object
      title: LabTest
      required:
        - lab_test_id
        - name
        - kind
        - result_type
      description: >-
        `specimen` is required when `kind` is `laboratory`, `unit` when
        `result_type` is `numerical`, and `panel_members` when `kind` is
        `panel`.
      properties:
        lab_test_id:
          type: string
          maxLength: 200
          description: Your id for the test.
        name:
          type: string
          maxLength: 200
        display_name:
          type: string
          maxLength: 200
          description: Shown to end users. Defaults to `name`.
        aliases:
          type: array
          items:
            type: string
            maxLength: 200
        loinc:
          type: string
          maxLength: 32
          description: LOINC code. Not checked against the LOINC vocabulary.
        kind:
          type: string
          enum:
            - imaging
            - laboratory
            - functional
            - special_test
            - package
            - panel
        result_type:
          type: string
          enum:
            - numerical
            - ordinal
            - string
            - na
        discipline:
          type: array
          items:
            type: string
            maxLength: 100
          description: For example biochemistry, hematology, micro, molecular, cardiology.
        specimen:
          type: string
          maxLength: 100
        unit:
          type: string
          maxLength: 32
        unit_id:
          type: string
          maxLength: 64
        panel_members:
          type: array
          items:
            type: string
            maxLength: 200
          description: Names of the member tests.
        panel_member_ids:
          type: array
          items:
            type: string
            maxLength: 200
        method:
          type: string
          maxLength: 100
          description: For example ELISA, RAPID_ICT, CHEMILUMINESCENCE (CLIA).
        body_part:
          type: string
          maxLength: 100
          description: Imaging only.
        laterality:
          type: string
          maxLength: 32
          description: Imaging only.
        view:
          type: string
          maxLength: 64
          description: Imaging only.
        is_active:
          type: boolean
          description: Defaults to true on write.
        updated_at:
          type: string
          format: date-time
          readOnly: true
    Symptom:
      type: object
      title: Symptom
      required:
        - symptom_id
        - name
      properties:
        symptom_id:
          type: string
          maxLength: 200
          description: Your id for the symptom.
        name:
          type: string
          maxLength: 200
        display_name:
          type: string
          maxLength: 200
          description: Shown to end users. Defaults to `name`.
        aliases:
          type: array
          items:
            type: string
            maxLength: 200
        snomed_id:
          type: string
          maxLength: 32
          description: SNOMED CT concept id. Not checked against the vocabulary.
        icd10:
          type: string
          maxLength: 32
        icd10_term:
          type: string
          maxLength: 255
        gender:
          type:
            - string
            - 'null'
          enum:
            - M
            - F
            - null
          description: Leave empty when the symptom applies to everyone.
        is_active:
          type: boolean
          description: Defaults to true on write.
        updated_at:
          type: string
          format: date-time
          readOnly: true
    Diagnosis:
      type: object
      title: Diagnosis
      required:
        - diagnosis_id
        - name
      properties:
        diagnosis_id:
          type: string
          maxLength: 200
          description: Your id for the diagnosis.
        name:
          type: string
          maxLength: 200
        display_name:
          type: string
          maxLength: 200
          description: Shown to end users. Defaults to `name`.
        aliases:
          type: array
          items:
            type: string
            maxLength: 200
        snomed_id:
          type: string
          maxLength: 32
          description: SNOMED CT concept id. Not checked against the vocabulary.
        icd10:
          type: string
          maxLength: 32
        icd10_term:
          type: string
          maxLength: 255
        gender:
          type:
            - string
            - 'null'
          enum:
            - M
            - F
            - null
          description: Leave empty when the diagnosis applies to everyone.
        is_active:
          type: boolean
          description: Defaults to true on write.
        updated_at:
          type: string
          format: date-time
          readOnly: true
    FieldError:
      type: object
      properties:
        index:
          type:
            - integer
            - 'null'
          description: >-
            For a JSON body, the 0-based position of the failing record in the
            list. For a CSV, the 1-based data row (the header row is not
            counted). `null` for a file-level error.
        field:
          type:
            - string
            - 'null'
        msg:
          type: string
        value:
          description: The rejected value.
    ShrinkGuardError:
      type: object
      properties:
        code:
          type: string
          const: shrink_guard
        active_before:
          type: integer
        would_deactivate:
          type: integer
  responses:
    BadRequest:
      description: Invalid request, for example a missing or unknown `type`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            message: >-
              type must be one of 'medication', 'lab_test', 'symptom',
              'diagnosis'
    Unauthorized:
      description: The access token is missing, invalid or expired.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Access token for your workspace.

````