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

# List response templates

> Returns the paginated list of response templates that agents can insert into tickets. When no template matches the provided filters the API responds with HTTP 404.




## OpenAPI

````yaml https://dev.enneo.dev/api/mind/docs/open-api get /template
openapi: 3.0.0
info:
  version: '1'
  title: enneo.MIND API
  description: This describes the API of enneo Mind, the main ticketing backend
  contact:
    name: enneo GmbH
    email: richard@enneo.ai
  license:
    name: Proprietary software
    url: https://enneo.ai
servers:
  - url: https://demo.enneo.ai/api/mind
    description: Production server, demo client
  - url: https://main.enneo.dev/api/mind
    description: Development main branch
  - url: http://localhost:8005/api/mind
    description: Local development server
security:
  - bearerAuth:
      - api
  - cookieAuth:
      - api
paths:
  /template:
    get:
      tags:
        - Template
      summary: List response templates
      description: >
        Returns the paginated list of response templates that agents can insert
        into tickets. When no template matches the provided filters the API
        responds with HTTP 404.
      operationId: listTemplates
      parameters:
        - name: offset
          in: query
          description: >-
            Number of templates to skip before starting to collect the result
            set.
          required: false
          schema:
            type: integer
            default: 0
            minimum: 0
          example: 100
        - name: limit
          in: query
          description: Maximum number of templates to return.
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 100
          example: 25
        - name: q
          in: query
          description: >-
            Optional full-text search term applied to description and message
            fields.
          required: false
          schema:
            type: string
          example: Zählerstand
        - name: aiAgentId
          in: query
          description: >
            Filter templates that are linked to a specific AI Agent. Acts as a
            tag filter internally.
          required: false
          schema:
            type: integer
          example: 7
      responses:
        '200':
          description: Templates found
          content:
            application/json:
              schema:
                type: object
                properties:
                  templates:
                    type: array
                    items:
                      $ref: '#/components/schemas/Template'
                  success:
                    type: boolean
                    example: true
              examples:
                default:
                  summary: First page of filtered templates
                  value:
                    success: true
                    templates:
                      - id: 12
                        tagId: 101
                        emailTemplateId: 5
                        description: 'Reminder: please send your meter reading'
                        message: >-
                          <p>Hallo {{contract.firstName}},</p><p>bitte sende uns
                          den Stand.</p>
                        subject: Wir benötigen deinen Zählerstand
                        exampleTicketIds:
                          - 8812
                          - 9100
                        attachments: []
                      - id: 13
                        tagId: null
                        emailTemplateId: 5
                        description: Default closing
                        message: <p>Vielen Dank für deine Nachricht.</p>
                        subject: null
                        exampleTicketIds: []
                        attachments:
                          - name: instructions.pdf
                            url: https://cdn.example.com/template/instructions.pdf
        '403':
          description: Unauthorized
        '404':
          description: No templates match the provided filters
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Template:
      type: object
      properties:
        id:
          type: integer
          description: The id of the template
          example: 1
        tagId:
          type: integer
          description: The id of the tag that the template belongs to
          example: 1
        emailTemplateId:
          type: integer
          description: The id of the email template that is used for wrapping
          example: 1
        description:
          type: string
          description: The description of the intent template
          example: Zählerstand erfolgreich hinterlegt
        message:
          type: string
          description: The template itself
          example: >-
            <p>Wir haben den Zählerstand von {{intent.data.reading}} kWh für den
            {{formatDateDE intent.data.date}} erfasst und im System
            hinterlegt.</p>
        subject:
          type: string
          description: The subject of the email for outgoing emails
          example: Wir brauchen Deine Unterstützung
        exampleTicketIds:
          type: array
          description: >-
            The ids of the tickets that are used as examples for the intent
            template
          items:
            type: integer
            example: 1
        mergedTemplate:
          type: string
          description: The merged template
          example: >-
            Wir haben den Zählerstand von 123 kWh für den 01.01.2022 erfasst und
            im System hinterlegt.
        template:
          type: string
          description: The template itself
          example: >-
            <p>Wir haben den Zählerstand von 123 kWh für den 01.01.2022 erfasst
            und im System hinterlegt.</p>
        success:
          type: boolean
          description: If true, the template is successful
          example: true
    Error:
      type: object
      description: Data format of Enneo error messages
      properties:
        error:
          type: string
          example: Contract 121 could not be processed
          description: Readable error message that should be shown to the user
        details:
          type: string
          example: >-
            Uncatched null point exception in testFunction() in
            /app/src/file:212
          description: Not easily readable error message that is for the developer
        txId:
          type: string
          example: c916167c94
          description: >-
            Internal transaction id. Useful for debugging. Corresponds to the
            OpenTelemetry trace ID.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT-based authentication
      x-scopes:
        api: Full access to the API
    cookieAuth:
      type: apiKey
      in: cookie
      name: connect.sid
      description: Cookie-based authentication
      x-scopes:
        api: Full access to the API

````