TTTech USAGE REPORTS API

The operations to manage usage reports

Operations 4

GET /nerve/usage-reports/single Retrieve single usage report #
GET /nerve/usage-reports Retrieve usage reports #
GET /nerve/usage-reports/configuration Retrieve usage reports configuration #
POST /nerve/usage-reports/configuration Update Usage Reports Configuration #

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/tttech-usage-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

tttech-usage-reports-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 3.1.0
  description: 'Nerve Management System API to manage: -labels -nodes -workloads -notifications -capabilities'
  title: Nerve Management System USAGE REPORTS API
  contact:
    name: Nerve support
    email: support@tttech-industrial.com
servers:
- url: https://trynerve1.nerve.cloud
security:
- sessionId: []
tags:
- name: USAGE_REPORTS
  description: The operations to manage usage reports
paths:
  /nerve/usage-reports/single:
    get:
      summary: Retrieve single usage report
      description: Retrieve a single usage report for a specific month and year
      operationId: get_single_usage_report
      tags:
      - USAGE_REPORTS
      parameters:
      - name: month
        in: query
        required: true
        description: The month for which the usage report is requested
        example: August
        schema:
          type: string
          description: The month to which the usage report applies
          example: August
          enum:
          - January
          - February
          - March
          - April
          - May
          - June
          - July
          - August
          - September
          - October
          - November
          - December
      - name: year
        in: query
        required: true
        description: The year for which the usage report is requested
        example: '2024'
        schema:
          type: string
          pattern: ^[0-9]{4}$
          minLength: 0
          maxLength: 4
      responses:
        '200':
          description: Successful operation. Selected usage report returned.
          content:
            application/json:
              schema:
                description: Usage report object containing the report details for single month
                type: object
                additionalProperties: false
                properties:
                  name:
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
                    description: Name of the report file
                    example: August_2024_usage_report.yaml
                    minLength: 0
                    maxLength: 1001
                  relativePath:
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
                    description: The relative path where the report is stored
                    example: nerve_usage/storage/usage_reports/August_2024_usage_report.yaml
                    minLength: 0
                    maxLength: 1001
                  month:
                    type: string
                    description: The month to which the usage report applies
                    example: August
                    enum:
                    - January
                    - February
                    - March
                    - April
                    - May
                    - June
                    - July
                    - August
                    - September
                    - October
                    - November
                    - December
                  year:
                    type: string
                    description: The year to which the usage report applies
                    example: '2024'
                    pattern: ^[0-9]{4}$
                    minLength: 0
                    maxLength: 4
                  dateOfReport:
                    type: string
                    description: Date when the report was generated
                    format: date-time
                    example: '2024-08-01T00:00:00.000Z'
                    minLength: 0
                    maxLength: 24
                  isComplete:
                    type: boolean
                    description: Status indicating if the report is complete
                    example: false
                  _id:
                    description: ID (from Management System) of the entry
                    type: string
                    pattern: ^[0-9a-fA-F]{24}$
                    minLength: 24
                    maxLength: 24
                example:
                  name: September_2024_usage_report.yaml
                  relativePath: nerve_usage/storage/usage_reports/September_2024_usage_report.yaml
                  month: September
                  year: '2024'
                  dateOfReport: '2024-09-01T00:00:00.000Z'
                  isComplete: false
                  _id: 66daa628a66040a284c1b4e5
        '400':
          description: Error response when generating the usage report failed
          content:
            application/json:
              schema:
                description: Generic error response returned from the server in case of a failed operation.
                properties:
                  errorCode:
                    description: String that is used as a key for appropriate translation on the front-end application.
                    type: string
                    minLength: 4
                    maxLength: 100
                    pattern: ^[a-zA-Z0-9_-]*$
                  httpCode:
                    description: Http error code assigned to the error.
                    type: string
                    minLength: 3
                    maxLength: 3
                    pattern: ^[0-9]*$
                  message:
                    description: Error message in English.
                    minLength: 5
                    maxLength: 512
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
              example:
                errorCode: usage_report_001
                httpCode: '400'
                message: Something went wrong during usage report generation.
        '403':
          description: You are not authorized to perform this operation
          content:
            application/json:
              schema:
                description: Generic error response returned from the server in case of a failed operation.
                properties:
                  errorCode:
                    description: String that is used as a key for appropriate translation on the front-end application.
                    type: string
                    minLength: 4
                    maxLength: 100
                    pattern: ^[a-zA-Z0-9_-]*$
                  httpCode:
                    description: Http error code assigned to the error.
                    type: string
                    minLength: 3
                    maxLength: 3
                    pattern: ^[0-9]*$
                  message:
                    description: Error message in English.
                    minLength: 5
                    maxLength: 512
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
              examples:
                not_authorized:
                  value:
                    errorCode: '00003'
                    httpCode: '403'
                    message: You are not authorized
        '500':
          description: Error response when generating the usage report failed because date can not be retrieved.
          content:
            application/json:
              schema:
                description: Generic error response returned from the server in case of a failed operation.
                properties:
                  errorCode:
                    description: String that is used as a key for appropriate translation on the front-end application.
                    type: string
                    minLength: 4
                    maxLength: 100
                    pattern: ^[a-zA-Z0-9_-]*$
                  httpCode:
                    description: Http error code assigned to the error.
                    type: string
                    minLength: 3
                    maxLength: 3
                    pattern: ^[0-9]*$
                  message:
                    description: Error message in English.
                    minLength: 5
                    maxLength: 512
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
              example:
                errorCode: usage_report_007
                httpCode: '500'
                message: Can't retrieve date when instance is spawned.
  /nerve/usage-reports:
    get:
      summary: Retrieve usage reports
      description: List all available usage reports or filter them by search term or filter criteria
      operationId: get_usage_reports
      tags:
      - USAGE_REPORTS
      parameters:
      - name: search
        in: query
        required: false
        description: Search term for filtering usage reports
        schema:
          description: Number of items in result set when searching is applied
          type: string
          default: ''
          minLength: 0
          maxLength: 1000
          pattern: ^[\x20-\x7E\t\n\r]*$
      - name: filter
        in: query
        required: false
        description: JSON-encoded filter criteria for usage reports
        schema:
          type: string
          pattern: ^[\x20-\x7E\t\n\r]*$
          minLength: 0
          maxLength: 1001
          description: Search term for filtering usage reports
      responses:
        '200':
          description: Successful operation. List of usage reports returned.
          content:
            application/json:
              schema:
                description: List of usage reports returned.
                type: object
                additionalProperties: false
                properties:
                  data:
                    description: List of usage reports
                    type: array
                    minItems: 0
                    maxItems: 1001
                    items:
                      description: Usage report object containing the report details for single month
                      type: object
                      additionalProperties: false
                      properties:
                        name:
                          type: string
                          pattern: ^[\x20-\x7E\t\n\r]*$
                          description: Name of the report file
                          example: August_2024_usage_report.yaml
                          minLength: 0
                          maxLength: 1001
                        relativePath:
                          type: string
                          pattern: ^[\x20-\x7E\t\n\r]*$
                          description: The relative path where the report is stored
                          example: nerve_usage/storage/usage_reports/August_2024_usage_report.yaml
                          minLength: 0
                          maxLength: 1001
                        month:
                          type: string
                          description: The month to which the usage report applies
                          example: August
                          enum:
                          - January
                          - February
                          - March
                          - April
                          - May
                          - June
                          - July
                          - August
                          - September
                          - October
                          - November
                          - December
                        year:
                          type: string
                          description: The year to which the usage report applies
                          example: '2024'
                          pattern: ^[0-9]{4}$
                          minLength: 0
                          maxLength: 4
                        dateOfReport:
                          type: string
                          description: Date when the report was generated
                          format: date-time
                          example: '2024-08-01T00:00:00.000Z'
                          minLength: 0
                          maxLength: 24
                        isComplete:
                          type: boolean
                          description: Status indicating if the report is complete
                          example: false
                        _id:
                          description: ID (from Management System) of the entry
                          type: string
                          pattern: ^[0-9a-fA-F]{24}$
                          minLength: 24
                          maxLength: 24
                      example:
                        name: September_2024_usage_report.yaml
                        relativePath: nerve_usage/storage/usage_reports/September_2024_usage_report.yaml
                        month: September
                        year: '2024'
                        dateOfReport: '2024-09-01T00:00:00.000Z'
                        isComplete: false
                        _id: 66daa628a66040a284c1b4e5
                example:
                  data:
                  - name: August_2024_usage_report.yaml
                    relativePath: nerve_usage/storage/usage_reports/August_2024_usage_report.yaml
                    month: August
                    year: '2024'
                    dateOfReport: '2024-08-01T00:00:00.000Z'
                    isComplete: false
                    _id: 66c87a4a509470041120e137
                  - name: September_2024_usage_report.yaml
                    relativePath: nerve_usage/storage/usage_reports/September_2024_usage_report.yaml
                    month: September
                    year: '2024'
                    dateOfReport: '2024-08-01T00:00:00.000Z'
                    isComplete: false
                    _id: 66c87a4a509470041120e138
        '400':
          description: Route params validation error
          content:
            application/json:
              schema:
                description: Generic error response returned from the server in case of a failed operation.
                properties:
                  errorCode:
                    description: String that is used as a key for appropriate translation on the front-end application.
                    type: string
                    minLength: 4
                    maxLength: 100
                    pattern: ^[a-zA-Z0-9_-]*$
                  httpCode:
                    description: Http error code assigned to the error.
                    type: string
                    minLength: 3
                    maxLength: 3
                    pattern: ^[0-9]*$
                  message:
                    description: Error message in English.
                    minLength: 5
                    maxLength: 512
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
              example:
                errorCode: '00006'
                httpCode: '400'
                message: Route params validation error
        '403':
          description: You are not authorized to perform this operation
          content:
            application/json:
              schema:
                description: Generic error response returned from the server in case of a failed operation.
                properties:
                  errorCode:
                    description: String that is used as a key for appropriate translation on the front-end application.
                    type: string
                    minLength: 4
                    maxLength: 100
                    pattern: ^[a-zA-Z0-9_-]*$
                  httpCode:
                    description: Http error code assigned to the error.
                    type: string
                    minLength: 3
                    maxLength: 3
                    pattern: ^[0-9]*$
                  message:
                    description: Error message in English.
                    minLength: 5
                    maxLength: 512
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
              examples:
                not_authorized:
                  value:
                    errorCode: '00003'
                    httpCode: '403'
                    message: You are not authorized
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                description: Generic error response returned from the server in case of a failed operation.
                properties:
                  errorCode:
                    description: String that is used as a key for appropriate translation on the front-end application.
                    type: string
                    minLength: 4
                    maxLength: 100
                    pattern: ^[a-zA-Z0-9_-]*$
                  httpCode:
                    description: Http error code assigned to the error.
                    type: string
                    minLength: 3
                    maxLength: 3
                    pattern: ^[0-9]*$
                  message:
                    description: Error message in English.
                    minLength: 5
                    maxLength: 512
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
              example:
                httpCode: '500'
                errorCode: nerve_dna_006
                message: Operation failed for unknown reason.
  /nerve/usage-reports/configuration:
    get:
      summary: Retrieve usage reports configuration
      description: Get the current configuration of Usage Reports
      operationId: get_configuration
      tags:
      - USAGE_REPORTS
      responses:
        '200':
          description: Get the current configuration of Usage Reports
          content:
            application/json:
              schema:
                description: The current configuration of Usage Reports
                type: object
                properties:
                  tttechEmail:
                    description: The email address to notify TTTech
                    type: string
                    format: email
                    example: nerve-billing@tttech-industrial.com
                    pattern: ^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$
                    minLength: 4
                    maxLength: 254
                  gpgPublicKey:
                    description: The GPG public key to encrypt the email
                    type: string
                    example: '-----BEGIN PGP PUBLIC KEY BLOCK--'
                    pattern: ^[\s\S]*$
                    minLength: 0
                    maxLength: 1001
                  notifyTTTech:
                    description: Should TTTech be notified
                    type: boolean
                    example: true
                example:
                  tttechEmail: nerve-billing@tttech-industrial.com
                  gpgPublicKey: '-----BEGIN PGP PUBLIC KEY BLOCK--'
        '400':
          description: Error response when updating usage report configuration
          content:
            application/json:
              schema:
                description: Generic error response returned from the server in case of a failed operation.
                properties:
                  errorCode:
                    description: String that is used as a key for appropriate translation on the front-end application.
                    type: string
                    minLength: 4
                    maxLength: 100
                    pattern: ^[a-zA-Z0-9_-]*$
                  httpCode:
                    description: Http error code assigned to the error.
                    type: string
                    minLength: 3
                    maxLength: 3
                    pattern: ^[0-9]*$
                  message:
                    description: Error message in English.
                    minLength: 5
                    maxLength: 512
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
              example:
                errorCode: usage_report_005
                httpCode: '400'
                message: Something went wrong during configuration parameters update.
        '403':
          description: You are not authorized to perform this operation
          content:
            application/json:
              schema:
                description: Generic error response returned from the server in case of a failed operation.
                properties:
                  errorCode:
                    description: String that is used as a key for appropriate translation on the front-end application.
                    type: string
                    minLength: 4
                    maxLength: 100
                    pattern: ^[a-zA-Z0-9_-]*$
                  httpCode:
                    description: Http error code assigned to the error.
                    type: string
                    minLength: 3
                    maxLength: 3
                    pattern: ^[0-9]*$
                  message:
                    description: Error message in English.
                    minLength: 5
                    maxLength: 512
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
              examples:
                not_authorized:
                  value:
                    errorCode: '00003'
                    httpCode: '403'
                    message: You are not authorized
    post:
      summary: Update Usage Reports Configuration
      description: Update the configuration of Usage Reports
      operationId: update_configuration
      tags:
      - USAGE_REPORTS
      requestBody:
        required: true
        content:
          application/json:
            schema:
              description: The updated configuration of Usage Reports
              type: object
              additionalProperties: false
              required:
              - notifyTTTech
              properties:
                notifyTTTech:
                  description: Should TTTech be notified
                  type: boolean
                  example: true
      responses:
        '200':
          description: Update the configuration of Usage Reports
          content:
            application/json:
              schema:
                description: The updated configuration of Usage Reports
                type: object
                additionalProperties: false
                properties:
                  updated:
                    description: The configuration was updated
                    type: boolean
                    example: true
                example:
                  updated: true
        '400':
          description: Error response when updating usage report configuration
          content:
            application/json:
              schema:
                description: Generic error response returned from the server in case of a failed operation.
                properties:
                  errorCode:
                    description: String that is used as a key for appropriate translation on the front-end application.
                    type: string
                    minLength: 4
                    maxLength: 100
                    pattern: ^[a-zA-Z0-9_-]*$
                  httpCode:
                    description: Http error code assigned to the error.
                    type: string
                    minLength: 3
                    maxLength: 3
                    pattern: ^[0-9]*$
                  message:
                    description: Error message in English.
                    minLength: 5
                    maxLength: 512
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
              example:
                errorCode: usage_report_005
                httpCode: '400'
                message: Something went wrong during configuration parameters update.
        '403':
          description: You are not authorized to perform this operation
          content:
            application/json:
              schema:
                description: Generic error response returned from the server in case of a failed operation.
                properties:
                  errorCode:
                    description: String that is used as a key for appropriate translation on the front-end application.
                    type: string
                    minLength: 4
                    maxLength: 100
                    pattern: ^[a-zA-Z0-9_-]*$
                  httpCode:
                    description: Http error code assigned to the error.
                    type: string
                    minLength: 3
                    maxLength: 3
                    pattern: ^[0-9]*$
                  message:
                    description: Error message in English.
                    minLength: 5
                    maxLength: 512
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
              examples:
                not_authorized:
                  value:
                    errorCode: '00003'
                    httpCode: '403'
                    message: You are not authorized
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                description: Generic error response returned from the server in case of a failed operation.
                properties:
                  errorCode:
                    description: String that is used as a key for appropriate translation on the front-end application.
                    type: string
                    minLength: 4
                    maxLength: 100
                    pattern: ^[a-zA-Z0-9_-]*$
                  httpCode:
                    description: Http error code assigned to the error.
                    type: string
                    minLength: 3
                    maxLength: 3
                    pattern: ^[0-9]*$
                  message:
                    description: Error message in English.
                    minLength: 5
                    maxLength: 512
                    type: string
                    pattern: ^[\x20-\x7E\t\n\r]*$
              example:
                httpCode: '500'
                errorCode: nerve_dna_006
                message: Operation failed for unknown reason.
components:
  securitySchemes:
    sessionId:
      type: apiKey
      in: header
      name: sessionId
    basicAuth:
      type: http
      scheme: basic
    cookieAuth:
      type: apiKey
      in: header
      name: cookie
    bearerAuth:
      type: http
      scheme: bearer