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

# List the report families in use

> Returns every report family that has at least one live template, sorted by name, with the number of templates filed under each. This endpoint does NOT paginate and refuses page, limit and cursor: it answers with the set of families rather than with a page of the templates collection, and its consumer needs the whole set — a paginated family selector would make an operator page through it to discover that a family already exists, which is the discovery they need to make before creating a duplicate. When the answer reaches the ceiling it is cut and `truncated` says so.



## OpenAPI

````yaml /pt/openapi/v3-current/reporter.yaml get /v1/templates/categories
openapi: 3.1.0
info:
  contact:
    name: Discord community
    url: https://discord.gg/DnhqKwkGv3
  description: >-
    This is OpenAPI documentation for Reporter. The unified reporter binary
    serves the REST API (RUN_MODE=api) and/or the RabbitMQ report-generation
    worker (RUN_MODE=worker); RUN_MODE=all runs both in one process for local
    development. All REST endpoints documented here serve only when RUN_MODE=api
    or all (port :4005); the worker (port :4006) exposes health/readyz/version
    only.
  license:
    name: Lerian Studio General License
  title: Midaz Reporter API
  version: 4.0.0
servers:
  - url: http://localhost:4005
  - url: https://localhost:4005
security:
  - BearerAuth: []
tags:
  - description: Generated report instances and their lifecycle.
    name: Reports
  - description: Reusable report definitions.
    name: Templates
  - description: Interactive construction of report templates.
    name: Template Builder
  - description: Scheduled report due-date tracking.
    name: Deadlines
  - description: Configured inputs that feed report data.
    name: Data Sources
  - description: Aggregated reporting metrics.
    name: Metrics
  - description: Published business event catalog and delivery policies.
    name: Streaming
paths:
  /v1/templates/categories:
    get:
      tags:
        - Templates
      summary: List the report families in use
      description: >-
        Returns every report family that has at least one live template, sorted
        by name, with the number of templates filed under each. This endpoint
        does NOT paginate and refuses page, limit and cursor: it answers with
        the set of families rather than with a page of the templates collection,
        and its consumer needs the whole set — a paginated family selector would
        make an operator page through it to discover that a family already
        exists, which is the discovery they need to make before creating a
        duplicate. When the answer reaches the ceiling it is cut and `truncated`
        says so.
      operationId: listTemplateCategories
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTemplateCategoriesHumaOutputBody'
          description: OK
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Bad Request
        '401':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Unauthorized
        '403':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Forbidden
        '500':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Internal Server Error
components:
  schemas:
    ListTemplateCategoriesHumaOutputBody:
      additionalProperties: false
      properties:
        items:
          description: Families in use, sorted by name
          examples:
            - - category: cadoc
                count: 3
          items:
            $ref: '#/components/schemas/CategoryCount'
          type:
            - array
            - 'null'
        truncated:
          description: >-
            True when the answer was cut at the ceiling and some families in use
            are not listed
          examples:
            - false
          type: boolean
      required:
        - items
        - truncated
      type: object
    Detail:
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          examples:
            - - location: body.templateId
                message: expected string to match 'uuid' format
                value: not-a-uuid
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
        upstream:
          $ref: '#/components/schemas/Upstream'
          description: >-
            RFC 9457 extension member: the error a proxied third-party provider
            reported. Absent unless the emitting service explicitly surfaced
            one.
      type: object
    CategoryCount:
      additionalProperties: false
      properties:
        category:
          description: Report family
          examples:
            - cadoc
          type: string
        count:
          description: How many live templates are filed under this family
          examples:
            - 3
          format: int64
          type: integer
      required:
        - category
        - count
      type: object
    ErrorDetail:
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          examples:
            - body.templateId
          type: string
        message:
          description: Error message text
          examples:
            - expected string to match 'uuid' format
          type: string
        value:
          description: The value at the given location
          examples:
            - not-a-uuid
      type: object
    Upstream:
      additionalProperties: false
      properties:
        code:
          description: The upstream provider's own error code, verbatim.
          examples:
            - E4001
          type: string
        message:
          description: >-
            The upstream provider's own error message, verbatim (bounded, never
            its raw response body).
          examples:
            - account not found at provider
          type: string
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````