---
title: "List templates"
url: "https://nexora.apim.eu/apis/agent-catalog/versions/fa44b0ce-8be5-4345-b3ca-97adeccf8c16/operations/listTemplates"
---

> Full API specification: https://nexora.apim.eu/apis/agent-catalog/versions/fa44b0ce-8be5-4345-b3ca-97adeccf8c16.md

# List templates

`GET` `/templates`

Operation ID: `listTemplates`

The catalog's design templates, each with the sections it supports.

## Responses

- `200` - Templates
- `401` - Key is missing, revoked or invalid

## OpenAPI definition

```yaml
openapi: 3.0.3
info:
  title: Agent Catalog
  version: 1.0.0
servers:
  - url: https://api.nexora.example/v1
    description: Production
  - url: https://sandbox.api.nexora.example/v1
    description: Sandbox
paths:
  /templates:
    get:
      tags:
        - Templates
      summary: List templates
      description: The catalog's design templates, each with the sections it supports.
      operationId: listTemplates
      responses:
        "200":
          description: Templates
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: "#/components/schemas/Template"
              example:
                data:
                  - id: tpl_standard
                    name: Standard
                    description: Balanced layout covering capabilities, data scope, integrations and
                      compliance.
                    sections:
                      - capabilities
                      - data_scope
                      - integrations
                      - compliance
                  - id: tpl_governance
                    name: Governance
                    description: Compliance-first layout for legal and governance review.
                    sections:
                      - capabilities
                      - compliance
                      - data_scope
        "401":
          $ref: "#/components/responses/NotAuthenticated"
security:
  - apiKey: []
components:
  schemas:
    Template:
      type: object
      properties:
        id:
          type: string
          example: tpl_standard
        name:
          type: string
          example: Standard
        description:
          type: string
          example: Balanced layout covering capabilities, data scope, integrations and
            compliance.
        sections:
          type: array
          items:
            $ref: "#/components/schemas/Section"
    Section:
      type: string
      description: Content block of the catalog entry.
      enum:
        - capabilities
        - data_scope
        - integrations
        - compliance
        - target_teams
        - rollout_history
    Error:
      type: object
      description: Uniform error format across all Nexora AI APIs.
      required:
        - code
        - message
      properties:
        code:
          type: string
          example: compliance_disclosure_missing
        message:
          type: string
          example: Compliance disclosures from the certification are missing for
            publication.
        details:
          type: array
          items:
            $ref: "#/components/schemas/ErrorDetail"
    ErrorDetail:
      type: object
      properties:
        field:
          type: string
          example: compliance_certification.valid_until
        reason:
          type: string
          example: missing
  responses:
    NotAuthenticated:
      description: Key is missing, revoked or invalid
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/Error"
          example:
            code: not_authenticated
            message: The API key is invalid or has been revoked.
            details: []
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: apikey
      description: |
        Every call carries an API key in the `apikey` header. You generate the
        key in the Nexora AI portal under "My Apps"; it's shown exactly once.

        Each key has the scopes it's allowed to use attached to it. If one is
        missing, the API responds with `403` and `code: "scope_missing"`; the
        missing scope is in `details[].field`.
```
