Validere reports API

Reports

Operations 25

POST /app/v2/reports/search Search and list generated reports #
GET /app/v2/reports/{report_id} Get report with download URL #
DELETE /app/v2/reports/{report_id} Delete report #
POST /app/v2/reports Trigger report generation #
POST /app/v3/reports Trigger report generation #
POST /app/v3/reports/search Search reports with latest version #
GET /app/v3/reports/inputs Get existing report inputs for a templated report #
GET /app/v3/reports/{report_id} Get Report with latest version #
PUT /app/v3/reports/{report_id} Update report status #
DELETE /app/v3/reports/{report_id} Delete report #
POST /app/v3/reports/{report_id}/versions Trigger next version report generation #
GET /app/v3/reports/{report_id}/versions Get report with list of versions #
GET /app/v3/reports/{report_id}/versions/{version} Get report version #
GET /app/v3/reports/{report_id}/versions/{version}/embedded/sheets Get and list embedded report sheets #
POST /app/v3/reports/{report_id}/embedded/search Search and list embedded report rows #
POST /app/v1/templated_reports/search Search templated reports [System Admin] #
POST /app/v1/templated_reports/search_company Search a company's templated reports #
GET /app/v1/templated_reports/{templated_report_name} Get templated report #
PUT /app/v1/templated_reports/{templated_report_name}/company/{company_id} Make templated report available to a company [System Admin] #
DELETE /app/v1/templated_reports/{templated_report_name}/company/{company_id} Remove a templated report from a company [System Admin] #
POST /app/v2/templated_report_categories Must be Company Admin - Create templated report category #
GET /app/v2/templated_report_categories/{templated_report_category_id} Get templated report category #
PUT /app/v2/templated_report_categories/{templated_report_category_id} Must be Company Admin - Update templated report category #
DELETE /app/v2/templated_report_categories/{templated_report_category_id} Must be Company Admin - Delete templated report category #
POST /app/v2/templated_report_categories/search Search templated report categories #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/validere-reports-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

validere-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Activity Log
  title: CarbonHub activities Reports API
  version: 1.0.0
servers:
- url: https://api.validere.io
security:
- Staging: []
- Integration: []
- Local: []
tags:
- description: Reports
  name: reports
paths:
  /app/v2/reports/search:
    post:
      operationId: search_reports
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/Paginated'
              - $ref: '#/components/schemas/ReportSort'
              - $ref: '#/components/schemas/ReportFilter'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedReportList'
          description: List of generated reports
      summary: Search and list generated reports
      tags:
      - reports
  /app/v2/reports/{report_id}:
    get:
      operationId: get_report_v2
      deprecated: true
      parameters:
      - $ref: '#/components/parameters/ReportId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportWithTemplatedReportResponse'
          description: Report object plus link
      summary: Get report with download URL
      tags:
      - reports
    delete:
      operationId: delete_report
      deprecated: true
      parameters:
      - $ref: '#/components/parameters/ReportId'
      responses:
        '200':
          description: A successful operation
      summary: Delete report
      tags:
      - reports
  /app/v2/reports:
    post:
      operationId: trigger_report_v2
      deprecated: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TriggerReportRequestBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportWithTemplatedReportResponse'
          description: Report
      summary: Trigger report generation
      tags:
      - reports
  /app/v3/reports:
    post:
      operationId: trigger_report_v3
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TriggerReportRequestBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportWithTemplatedReportAndLatestVersionResponse'
          description: Report
      summary: Trigger report generation
      tags:
      - reports
  /app/v3/reports/search:
    post:
      operationId: search_reports_v3
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/Paginated'
              - $ref: '#/components/schemas/ReportSort'
              - $ref: '#/components/schemas/ReportFilterV2'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedReportsLatestVersionList'
          description: successful operation
      summary: Search reports with latest version
      tags:
      - reports
  /app/v3/reports/inputs:
    get:
      operationId: get_existing_report_inputs
      parameters:
      - $ref: '#/components/parameters/TemplatedReportNameQuery'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetExistingReportInputsResponse'
          description: A successful operation
      summary: Get existing report inputs for a templated report
      tags:
      - reports
  /app/v3/reports/{report_id}:
    get:
      operationId: get_report_with_latest_version_v3
      parameters:
      - $ref: '#/components/parameters/ReportId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportWithTemplatedReportAndLatestVersionResponse'
          description: Report with latest version
      summary: Get Report with latest version
      tags:
      - reports
    put:
      operationId: update_report
      parameters:
      - $ref: '#/components/parameters/ReportId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportWithTemplatedReportAndLatestVersionResponse'
          description: Report with Templated Report
      summary: Update report status
      tags:
      - reports
    delete:
      operationId: delete_report
      parameters:
      - $ref: '#/components/parameters/ReportId'
      responses:
        '200':
          description: A successful operation
      summary: Delete report
      tags:
      - reports
  /app/v3/reports/{report_id}/versions:
    post:
      operationId: trigger_report_next_version_v3
      parameters:
      - $ref: '#/components/parameters/ReportId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportWithTemplatedReportAndLatestVersionResponse'
          description: Report
      summary: Trigger next version report generation
      tags:
      - reports
    get:
      operationId: get_report_versions_v3
      parameters:
      - $ref: '#/components/parameters/ReportId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportWithTemplatedReportAndVersionsResponse'
          description: Report with list of versions
      summary: Get report with list of versions
      tags:
      - reports
  /app/v3/reports/{report_id}/versions/{version}:
    get:
      operationId: get_report_version_v3
      parameters:
      - $ref: '#/components/parameters/ReportId'
      - $ref: '#/components/parameters/ReportVersion'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportWithTemplatedReportAndVersionResponse'
          description: Report with version
      summary: Get report version
      tags:
      - reports
  /app/v3/reports/{report_id}/versions/{version}/embedded/sheets:
    get:
      operationId: get_embedded_report_sheets
      parameters:
      - $ref: '#/components/parameters/ReportId'
      - $ref: '#/components/parameters/ReportVersion'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedEmbeddedReportSheetList'
          description: List of embedded report sheets
      summary: Get and list embedded report sheets
      tags:
      - reports
  /app/v3/reports/{report_id}/embedded/search:
    post:
      operationId: search_embedded_report_rows
      parameters:
      - $ref: '#/components/parameters/ReportId'
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - type: object
                properties:
                  filter:
                    allOf:
                    - $ref: '#/components/schemas/SearchEmbeddedReportRowsRequestFilter'
              - $ref: '#/components/schemas/Paginated'
              - $ref: '#/components/schemas/EmbeddedReportSort'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedEmbeddedReportRowList'
          description: List of embedded report rows
      summary: Search and list embedded report rows
      tags:
      - reports
  /app/v1/templated_reports/search:
    post:
      operationId: search_templated_report
      parameters:
      - $ref: '#/components/parameters/TenantId'
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/Paginated'
              - $ref: '#/components/schemas/TemplatedReportSort'
              - $ref: '#/components/schemas/TemplatedReportFilter'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedTemplatedReportList'
          description: successful operation
      summary: Search templated reports [System Admin]
      tags:
      - reports
  /app/v1/templated_reports/search_company:
    post:
      operationId: search_company_templated_report
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/Paginated'
              - $ref: '#/components/schemas/TemplatedReportSort'
              - type: object
                properties:
                  filter:
                    allOf:
                    - $ref: '#/components/schemas/TemplatedReportFilterFields'
                    - $ref: '#/components/schemas/TemplatedReportCategoryFilterFieldsWithPrefix'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedTemplatedReportWithCategoryList'
          description: successful operation
      summary: Search a company's templated reports
      description: This is scoped to what is enabled to the company and automatically filters only active reports
      tags:
      - reports
  /app/v1/templated_reports/{templated_report_name}:
    get:
      operationId: get_templated_report
      parameters:
      - $ref: '#/components/parameters/parameters-TemplatedReportName'
      - $ref: '#/components/parameters/TenantId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplatedReportWithCategoryResponse'
          description: A successful operation
      summary: Get templated report
      tags:
      - reports
  /app/v1/templated_reports/{templated_report_name}/company/{company_id}:
    put:
      operationId: add_templated_report_to_company
      parameters:
      - $ref: '#/components/parameters/parameters-TemplatedReportName'
      - $ref: '#/components/parameters/CompanyId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddTemplatedReportCompanyRequestBody'
        required: true
      responses:
        '200':
          description: A successful operation
      summary: Make templated report available to a company [System Admin]
      tags:
      - reports
    delete:
      operationId: remove_templated_report_from_company
      parameters:
      - $ref: '#/components/parameters/parameters-TemplatedReportName'
      - $ref: '#/components/parameters/CompanyId'
      responses:
        '200':
          description: A successful operation
      summary: Remove a templated report from a company [System Admin]
      tags:
      - reports
  /app/v2/templated_report_categories:
    post:
      operationId: create_templated_report_category
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTemplatedReportCategoryRequestBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplatedReportCategoryResponse'
          description: A successful operation
      summary: Must be Company Admin - Create templated report category
      tags:
      - reports
  /app/v2/templated_report_categories/{templated_report_category_id}:
    get:
      operationId: get_templated_report_category
      parameters:
      - $ref: '#/components/parameters/parameters-TemplatedReportCategoryId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplatedReportCategoryResponse'
          description: A successful operation
      summary: Get templated report category
      tags:
      - reports
    put:
      operationId: update_templated_report_category
      parameters:
      - $ref: '#/components/parameters/parameters-TemplatedReportCategoryId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTemplatedReportCategoryRequestBody'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TemplatedReportCategoryResponse'
          description: A successful operation
      summary: Must be Company Admin - Update templated report category
      tags:
      - reports
    delete:
      operationId: delete_templated_report_category
      parameters:
      - $ref: '#/components/parameters/parameters-TemplatedReportCategoryId'
      responses:
        '200':
          description: A successful operation
      summary: Must be Company Admin - Delete templated report category
      tags:
      - reports
  /app/v2/templated_report_categories/search:
    post:
      operationId: search_company_templated_report_categories
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/Paginated'
              - $ref: '#/components/schemas/TemplatedReportCategorySort'
              - $ref: '#/components/schemas/TemplatedReportCategoryFilter'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedTemplatedReportCategoryList'
          description: successful operation
      summary: Search templated report categories
      tags:
      - reports
components:
  schemas:
    TemplatedReportStatus:
      type: string
      enum:
      - active
      - archived
    TemplatedReportCategoryFilterFieldsWithPrefix:
      properties:
        category.id:
          type: string
        category.name:
          type: string
        category.description:
          type: string
        category.company_id:
          type: string
        category.created_by:
          type: string
        category.created_at:
          type: string
        category.updated_by:
          type: string
        category.updated_at:
          type: string
      type: object
    AddTemplatedReportCompanyRequestBody:
      type: object
      properties:
        category_id:
          type: string
          format: uuid
      required:
      - category_id
      additionalProperties: false
    PagedEmbeddedReportSheetList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          data:
            type: array
            items:
              $ref: '#/components/schemas/EmbeddedReportSheetResponse'
        type: object
    ReportWithTemplatedReportAndLatestVersionResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          minLength: 3
          maxLength: 128
        company_id:
          type: string
          format: uuid
        status:
          type: string
          enum:
          - locked
          - unlocked
          - archived
        templated_report_name:
          type: string
          minLength: 3
          maxLength: 64
          pattern: ^\w+$
        input:
          type: object
          additionalProperties: {}
          description: User input for a templated report based on the input schema for the desired templated report.
          example:
            year_month: 202201
            reporting_group_id: bc37cb31-08ce-4b22-8f4c-7d44692a4ef2
            asset_id: 89c100dc-0401-447f-a9f5-72ae124f3244
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type:
            - string
            - 'null'
          - {}
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type:
            - string
            - 'null'
          - {}
        created_by:
          type: string
          format: uuid
        updated_by:
          type: string
          format: uuid
        templated_report:
          type: object
          properties:
            name:
              type: string
              minLength: 3
              maxLength: 64
              pattern: ^\w+$
            display_name:
              type: string
              minLength: 3
              maxLength: 64
            status:
              type: string
              enum:
              - active
              - archived
              default: active
            input_schema:
              type: object
              additionalProperties:
                type: object
                properties:
                  display_name:
                    type: string
                    minLength: 3
                    maxLength: 64
                  data_type:
                    type: string
                    enum:
                    - boolean
                    - number
                    - integer
                    - pick-list
                    - multi-pick-list
                    - string
                    - geo_point
                    - number-array
                    - lookup
                    - date
                    - date-time
                    - date-time-range
                    - file
                  description:
                    type: string
                    maxLength: 256
                  is_required:
                    type: boolean
                  lookup_entity_type:
                    type: string
                    enum:
                    - equipment
                    - device
                    - facility
                    - flow
                    - asset_group
                    - form_schema
                  lookup_entity_attribute:
                    type: string
                  pick_list_values:
                    type: array
                    items:
                      type: string
                  order:
                    type: integer
                required:
                - display_name
                - data_type
                - description
                - is_required
                additionalProperties: false
              default: {}
            is_embedded:
              type: boolean
              default: false
            use_data_layer_v2:
              type: boolean
              default: false
            description:
              type: string
              maxLength: 256
            deduplication_columns:
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
                  minLength: 3
                  maxLength: 64
                  pattern: ^[A-Za-z0-9_]+$
                maxItems: 20
            row_styling_headers:
              type: object
              additionalProperties:
                type: string
                minLength: 3
                maxLength: 64
                pattern: ^[A-Za-z0-9_]+$
            created_at:
              anyOf:
              - type: string
                format: date-time
              - type:
                - string
                - 'null'
              - {}
            updated_at:
              anyOf:
              - type: string
                format: date-time
              - type:
                - string
                - 'null'
              - {}
          required:
          - name
          - display_name
          - created_at
          - updated_at
        latest_version:
          type: object
          properties:
            version:
              type: integer
            status:
              type: string
              enum:
              - exporting
              - failed
              - success
            row_styling_headers:
              type: object
              additionalProperties:
                type: string
                minLength: 3
                maxLength: 64
                pattern: ^[A-Za-z0-9_]+$
            created_at:
              anyOf:
              - type: string
                format: date-time
              - type:
                - string
                - 'null'
              - {}
            created_by:
              type: string
              format: uuid
          required:
          - version
          - status
          - created_at
          - created_by
        s3_download_link:
          type: string
      required:
      - id
      - name
      - company_id
      - status
      - created_at
      - updated_at
      - created_by
      - updated_by
      - latest_version
      additionalProperties: false
    SearchEmbeddedReportRowsRequestFilter:
      type: object
      properties:
        report_version:
          type: integer
        sheet_name:
          type: string
      additionalProperties: false
    ReportWithTemplatedReportAndVersionResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
          minLength: 3
          maxLength: 128
        company_id:
          type: string
          format: uuid
        status:
          type: string
          enum:
          - locked
          - unlocked
          - archived
        templated_report_name:
          type: string
          minLength: 3
          maxLength: 64
          pattern: ^\w+$
        input:
          type: object
          additionalProperties: {}
          description: User input for a templated report based on the input schema for the desired templated report.
          example:
            year_month: 202201
            reporting_group_id: bc37cb31-08ce-4b22-8f4c-7d44692a4ef2
            asset_id: 89c100dc-0401-447f-a9f5-72ae124f3244
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type:
            - string
            - 'null'
          - {}
        updated_at:
          anyOf:
          - type: string
            format: date-time
          - type:
            - string
            - 'null'
          - {}
        created_by:
          type: string
          format: uuid
        updated_by:
          type: string
          format: uuid
        templated_report:
          type: object
          properties:
            name:
              type: string
              minLength: 3
              maxLength: 64
              pattern: ^\w+$
            display_name:
              type: string
              minLength: 3
              maxLength: 64
            status:
              type: string
              enum:
              - active
              - archived
              default: active
            input_schema:
              type: object
              additionalProperties:
                type: object
                properties:
                  display_name:
                    type: string
                    minLength: 3
                    maxLength: 64
                  data_type:
                    type: string
                    enum:
                    - boolean
                    - number
                    - integer
                    - pick-list
                    - multi-pick-list
                    - string
                    - geo_point
                    - number-array
                    - lookup
                    - date
                    - date-time
                    - date-time-range
                    - file
                  description:
                    type: string
                    maxLength: 256
                  is_required:
                    type: boolean
                  lookup_entity_type:
                    type: string
                    enum:
                    - equipment
                    - device
                    - facility
                    - flow
                    - asset_group
                    - form_schema
                  lookup_entity_attribute:
                    type: string
                  pick_list_values:
                    type: array
                    items:
                      type: string
                  order:
                    type: integer
                required:
                - display_name
                - data_type
                - description
                - is_required
                additionalProperties: false
              default: {}
            is_embedded:
              type: boolean
              default: false
            use_data_layer_v2:
              type: boolean
              default: false
            description:
              type: string
              maxLength: 256
            deduplication_columns:
              type: object
              additionalProperties:
                type: array
                items:
                  type: string
                  minLength: 3
                  maxLength: 64
                  pattern: ^[A-Za-z0-9_]+$
                maxItems: 20
            row_styling_headers:
              type: object
              additionalProperties:
                type: string
                minLength: 3
                maxLength: 64
                pattern: ^[A-Za-z0-9_]+$
            created_at:
              anyOf:
              - type: string
                format: date-time
              - type:
                - string
                - 'null'
              - {}
            updated_at:
              anyOf:
              - type: string
                format: date-time
              - type:
                - string
                - 'null'
              - {}
          required:
          - name
          - display_name
          - created_at
          - updated_at
        version:
          type: object
          properties:
            report_id:
              type: string
              format: uuid
            version:
              type: integer
            is_current:
              type: boolean
            s3_object_id:
              type: string
            definition_version:
              type: string
            status:
              type: string
              enum:
              - exporting
              - failed
              - success
            row_styling_headers:
              type: object
              additionalProperties:
                type: string
                minLength: 3
                maxLength: 64
                pattern: ^[A-Za-z0-9_]+$
            created_at:
              anyOf:
              - type: string
                format: date-time
              - type:
                - string
                - 'null'
              - {}
            created_by:
              type: string
              format: uuid
          required:
          - report_id
          - version
          - is_current
          - status
          - created_at
          - created_by
        s3_download_link:
          type: string
      required:
      - id
      - name
      - company_id
      - status
      - created_at
      - updated_at
      - created_by
      - updated_by
      - version
      additionalProperties: false
    ReportId:
      type: string
      format: uuid
    GetExistingReportInputsResponse:
      type: object
      additionalProperties:
        type: array
        items:
          type: string
      example:
        input_1:
        - value 1
        - value 2
        input_2:
        - value 3
        - value 4
    PagedTemplatedReportCategoryList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          data:
            items:
              $ref: '#/components/schemas/TemplatedReportCategoryResponse'
        type: object
    EmbeddedReportSheetResponse:
      type: object
      properties:
        name:
          type: string
        display_name:
          type: string
        position:
          type: integer
        headers:
          type: object
          additionalProperties:
            type: object
            properties:
              display_name:
                type: string
              position:
                type: integer
              measurement_type:
                type: string
              measurement_unit:
                type: string
            required:
            - position
      required:
      - name
      - display_name
      - position
      - headers
      additionalProperties: false
    TemplatedReportFilterFields:
      properties:
        display_name:
          type: string
        name:
          type: string
        status:
          $ref: '#/components/schemas/TemplatedReportStatus'
      type: object
    Paginated:
      properties:
        page:
          default: 0
          description: Which page to return
          example: 0
          type: number
        page_size:
          default: 10
          description: How many items to list in a page
          example: 20
          type: number
    EmbeddedReportRowResponse:
      type: object
      properties:
        row_id:
          type: string
          format: uuid
        cells:
          type: object
          additionalProperties:
            type: object
            properties:
              value:
                type: string
              style:
                type: string
            required:
            - value
            additionalProperties: false
          example:
            header_a:
              value: '1'
              style: success
            header_b:
              value: '2'
              style: error
      required:
      - row_id
      - cells
      additionalProperties: false
    UpdateTemplatedReportCategoryRequestBody:
      type: object
      properties:
        name:
          type: string
          minLength: 3
          maxLength: 64
          pattern: ^[a-zA-Z0-9 \-_]*$
        description:
          type: string
          maxLength: 256
      additionalProperties: false
    ReportSort:
      properties:
        sort_by:
          enum:
          - display_name
          - created_at
          - updated_at
          example: name
          type: string
        sort_direction:
          default: desc
          description: Sort direction
          enum:
          - asc
          - desc
          example: desc
          type: string
    TemplatedReportCategorySort:
      properties:
        sort_by:
          enum:
          - name
          - description
          example: name
          type: string
        sort_direction:
          default: desc
          description: Sort direction
          enum:
          - asc
          - desc
          example: desc
          type: string
    PagedEmbeddedReportRowList:
      allOf:
      - $ref: '#/components/schemas/Pagination'
      - properties:
          data:
            type: array
            items:
              $ref: '#/components/schemas/EmbeddedReportRowResponse'
        type: object
    ReportVersion:
      type: object
      properties:
        report_id:
          type: string
          format: uuid
        version:
          type: integer
        is_current:
          type: boolean
        s3_object_id:
          type: string
        definition_version:
          type: string
        status:
          type: string
          enum:
          - exporting
          - failed
          - success
        row_styling_headers:
          type: object
          additionalProperties:
            type: string
            minLength: 3
            maxLength: 64
            pattern: ^[A-Za-z0-9_]+$
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type:
            - string
            - 'null'
          - {}
        created_by:
          type: string
          format: uuid
      required:
      - report_id
      - version
      - is_current
      - status
      - created_at
      - created_by
    ReportFilter:
      properties:
        filter:
          description: A filter object for Reports where it can filter based on any of these following fields. No fields are mandatory and the syntax is roughly the same as MongoDB querying.
          example:
            $or:
            - created_by: c

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/validere/refs/heads/main/openapi/validere-reports-api-openapi.yml