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

# List templates

> Paginated list of the note templates your organization can generate with: HealOS built-in templates plus custom templates shared with your organization. A template's `id` is what POST /sessions/{sessionId}/notes/regenerate takes as `template_id`. Private templates (visible to a single clinician) are not listed. Requires the notes:read scope.



## OpenAPI

````yaml /openapi/ext-api-v1.json get /templates
openapi: 3.0.0
info:
  title: Healos External API
  version: 1.0.0
  description: >-
    External API for managing patients, documents, and appointments, listing
    providers and note templates, pulling clinical notes (with transcript and
    patient context), and running insurance eligibility checks.
servers:
  - url: https://api.healos.ai/ext-api/v1
    description: Production
  - url: http://localhost:8787/ext-api/v1
    description: Local development
security:
  - ApiKeyAuth: []
paths:
  /templates:
    get:
      tags:
        - Templates
      summary: List templates
      description: >-
        Paginated list of the note templates your organization can generate
        with: HealOS built-in templates plus custom templates shared with your
        organization. A template's `id` is what POST
        /sessions/{sessionId}/notes/regenerate takes as `template_id`. Private
        templates (visible to a single clinician) are not listed. Requires the
        notes:read scope.
      parameters:
        - schema:
            type: string
            default: '1'
            example: '1'
          required: false
          name: page
          in: query
        - schema:
            type: string
            default: '20'
            example: '20'
          required: false
          name: limit
          in: query
        - schema:
            type: string
            enum:
              - built_in
              - custom
            description: Only return built-in or only custom templates.
            example: custom
          required: false
          name: type
          in: query
      responses:
        '200':
          description: List of templates
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplateListResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Insufficient scope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
components:
  schemas:
    TemplateListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Template'
        meta:
          type: object
          properties:
            page:
              type: number
            limit:
              type: number
            total_pages:
              type: number
          required:
            - page
            - limit
            - total_pages
      required:
        - data
        - meta
    Error:
      type: object
      properties:
        error:
          type: string
      required:
        - error
    RateLimitError:
      type: object
      properties:
        error:
          type: string
          example: Rate limit exceeded. Please retry after the window resets.
      required:
        - error
    Template:
      type: object
      properties:
        id:
          type: string
          description: >-
            Template identifier. Pass it as `template_id` to POST
            /sessions/{sessionId}/notes/regenerate.
          example: 77777777-0000-0000-0000-000000000001
        name:
          type: string
          description: Template name as shown in HealOS
          example: SOAP Note
        type:
          type: string
          enum:
            - built_in
            - custom
          description: >-
            `built_in`: a HealOS template available to every organization.
            `custom`: a template created in your organization and shared with
            it.
          example: custom
        document_type:
          type: string
          enum:
            - note
            - document
          description: >-
            `note` for clinical note templates, `document` for document
            templates (letters, forms).
          example: note
        description:
          type: string
          nullable: true
          description: >-
            Short summary of the template: its section titles, in order. Null
            when the template has no titled sections.
          example: Subjective, Objective, Assessment, Plan
        sections:
          type: array
          items:
            type: string
          description: Section titles, in order.
          example:
            - Subjective
            - Objective
            - Assessment
            - Plan
        includes_prior_visit:
          type: boolean
          description: >-
            Whether notes generated with this template include the patient's
            previous visit by default.
          example: false
      required:
        - id
        - name
        - type
        - document_type
        - description
        - sections
        - includes_prior_visit
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key obtained from /api/v1/ext-api-keys

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.