TTTech DATA EXCHANGE API

The operations to manage node data exchange.

Operations 5

POST /nerve/data-exchange/cached-data Retrieve cached data from the Cloud server #
POST /nerve/data-exchange/node-data Retrieve node data from the Cloud server #
POST /nerve/data-exchange/set-node-data Update node data from the Cloud server #
POST /nerve/data-exchange/keep-emitting-updates Instruct the node to resume emitting updates #
POST /nerve/data-exchange/start-emitting-updates Instruct the node to begin emitting updates #

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-data-exchange-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-data-exchange-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 DATA EXCHANGE API
  contact:
    name: Nerve support
    email: support@tttech-industrial.com
servers:
- url: https://trynerve1.nerve.cloud
security:
- sessionId: []
tags:
- name: DATA EXCHANGE
  description: The operations to manage node data exchange.
paths:
  /nerve/data-exchange/cached-data:
    post:
      summary: Retrieve cached data from the Cloud server
      operationId: get_cached_data
      description: Returns the retrieved node data values
      tags:
      - DATA EXCHANGE
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Data parameters to retrieve cached data
              required:
              - dataId
              - serialNumber
              - fromNodeIfCacheEmpty
              additionalProperties: false
              properties:
                dataId:
                  example: wan_ip_address
                  type: string
                  description: Unique string that identifies data that we want to listen to
                  minLength: 2
                  maxLength: 129
                  pattern: ^[a-zA-Z0-9_-]+$
                serialNumber:
                  description: The serial number of the node
                  type: string
                  maxLength: 12
                  minLength: 12
                  pattern: ([A-Z0-9]){12}
                fromNodeIfCacheEmpty:
                  type: boolean
                  description: If there is no such data in cache, get it from Node, refresh cache and return it
                  example: true
      x-permissions:
      - NODE:VIEW
      responses:
        '200':
          description: Successfully retrieved node data
          content:
            application/json:
              schema:
                type: object
                description: Data retrieved from the node
                additionalProperties: false
                properties:
                  values:
                    type: object
                    description: Object containing the retrieved values
                    properties:
                      ip_address:
                        type: string
                        description: The IP address value
                        minLength: 0
                        maxLength: 255
                        pattern: (\b25[0-5]|\b2[0-4][0-9]|\b[01]?[0-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}
                  serial:
                    description: The serial number of the node
                    type: string
                    maxLength: 12
                    minLength: 12
                    pattern: ([A-Z0-9]){12}
                  fromCache:
                    type: boolean
                    description: Whether the data was retrieved from the cache
                  dataId:
                    type: string
                    description: Unique string that identifies data that we want to listen to
                    minLength: 2
                    maxLength: 129
                    pattern: ^[a-zA-Z0-9_-]+$
                  timestamp:
                    type: integer
                    format: int64
                    description: Timestamp when the data was retrieved
                    minimum: 0
                    maximum: 4102444800000
              example:
                dataId: wan_ip_address
                values:
                  ip_address: 10.85.10.63
                serial: NB1000000011
                timestamp: 1719998925413
                fromCache: true
        '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
        '404':
          description: Node with this serial number does not exist
          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: nerve_exchange_000850
                httpCode: '404'
                message: Node with this serial number does not exist
        '409':
          description: Node can not provide data
          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: nerve_exchange_000853
                httpCode: '409'
                message: Node can not provide data
  /nerve/data-exchange/node-data:
    post:
      summary: Retrieve node data from the Cloud server
      operationId: get_node_data
      description: Fetches node data values from the Cloud server, providing details about the workloads deployed on the node.
      tags:
      - DATA EXCHANGE
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Data parameters to retrieve node data
              required:
              - dataId
              - data
              - serialNumber
              - requestConfig
              additionalProperties: false
              properties:
                data:
                  oneOf:
                  - type: integer
                    format: int32
                    description: Id of the deployed workload
                    minimum: 100
                    maximum: 1000
                  - type: object
                    description: Object containing the container name
                    properties:
                      containerName:
                        type: string
                        description: Docker container name
                        minLength: 2
                        maxLength: 100
                        pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]+$
                dataId:
                  type: string
                  description: Unique string that identifies data that we want to listen to
                  minLength: 2
                  maxLength: 129
                  pattern: ^[a-zA-Z0-9_-]+$
                  example: workloads
                serialNumber:
                  description: The serial number of the node
                  type: string
                  maxLength: 12
                  minLength: 12
                  pattern: ([A-Z0-9]){12}
                requestConfig:
                  type: object
                  description: Configuration parameters for the request
                  required:
                  - forceRequest
                  - timeout
                  properties:
                    forceRequest:
                      type: boolean
                      description: Whether to force the request to the node
                      example: false
                    timeout:
                      type: integer
                      format: int32
                      description: How long to wait for data from Node before returning cached data
                      minimum: 0
                      example: 2000
                      maximum: 86400000
                    forceRequestNoCacheUpdate:
                      type: boolean
                      description: Whether to force the request without updating the cache
                      example: false
      x-permissions:
      - NODE:VIEW
      responses:
        '200':
          description: Successfully retrieved node data
          content:
            application/json:
              schema:
                description: Data retrieved from the node
                anyOf:
                - type: object
                  properties:
                    values:
                      type: object
                      description: Object containing the retrieved values
                      anyOf:
                      - description: Payload of the docker workload
                        allOf:
                        - type: object
                          description: Basic payload of the workload
                          required:
                          - workloadId
                          - status
                          - name
                          - type
                          - statusChangedTimestamp
                          - workloadVersionName
                          properties:
                            workloadId:
                              description: ID (from Management System) of the entry
                              type: string
                              pattern: ^[0-9a-fA-F]{24}$
                              minLength: 24
                              maxLength: 24
                            versionId:
                              description: ID (from Management System) of the entry
                              type: string
                              pattern: ^[0-9a-fA-F]{24}$
                              minLength: 24
                              maxLength: 24
                            status:
                              type: string
                              description: Status of workload in queue
                              enum:
                              - New
                              - Reserved
                              - Queued
                              - Downloading
                              - Downloaded
                              - Installed
                              - Removing
                              - Removing_failed
                            name:
                              type: string
                              description: Workload name
                              minLength: 1
                              maxLength: 40
                              pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$))
                            type:
                              description: Workload type
                              type: string
                              enum:
                              - docker
                              - vm
                              - codesys
                              - docker-compose
                            statusChangedTimestamp:
                              type: integer
                              format: int64
                              description: Time when state of the workload has changed in milliseconds.
                              minimum: 0
                              maximum: 4102444800000
                            workloadVersionName:
                              type: string
                              description: Version name
                              minLength: 1
                              maxLength: 40
                              pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$))
                            deployTime:
                              type: integer
                              format: int64
                              description: Time when workload has been deployed in milliseconds.
                              minimum: 0
                              maximum: 4102444800000
                            wiseDeviceStatus:
                              type: integer
                              format: int32
                              description: 'Status of deployed workload

                                - 0 *IDLE*

                                - 1 *CREATING*

                                - 2 *REMOVING*

                                - 3 *SUSPENDING*

                                - 4 *SUSPENDED*

                                - 5 *STARTING*

                                - 6 *RESTARTING*

                                - 7 *RESUMING*

                                - 8 *STARTED*

                                - 9 *STOPPING*

                                - 10 *STOPPED*

                                - 11 *ERROR*

                                - 12 *REMOVING_FAILED*

                                - 13 *PARTIALLY_RUNNING*

                                '
                              minimum: 0
                              maximum: 13
                            deviceId:
                              type: integer
                              format: int32
                              description: Id of the deployed workload
                              minimum: 100
                              maximum: 1000
                        - type: object
                          required:
                          - envVars
                          - ports
                          properties:
                            envVars:
                              description: List of docker environment variables
                              type: array
                              minItems: 0
                              maxItems: 1001
                              items:
                                type: string
                                pattern: ^[a-zA-Z_][a-zA-Z0-9_]+=
                                minLength: 1
                                maxLength: 1000
                            ports:
                              type: array
                              description: A list of port mappings
                              minItems: 0
                              maxItems: 1001
                              items:
                                type: object
                                description: Mapping a container port to a port on the Docker host to the outside world.
                                required:
                                - protocol
                                - hostPort
                                - containerPort
                                additionalProperties: false
                                properties:
                                  protocol:
                                    type: string
                                    description: The protocol used for the port mapping, either TCP or UDP
                                    enum:
                                    - tcp
                                    - udp
                                  hostPort:
                                    type: string
                                    pattern: ^\d+$
                                    minLength: 1
                                    maxLength: 5
                                    description: The port number on the host machine that is mapped to the container's port
                                  containerPort:
                                    type: string
                                    pattern: ^\d+$
                                    minLength: 1
                                    maxLength: 5
                                    description: The port number inside the Docker container that is being exposed
                            resources:
                              type: object
                              description: Current and original values of defined cpu and memory limits
                              additionalProperties: false
                              properties:
                                cpu:
                                  type: object
                                  description: Object containing the current and original values of defined CPU
                                  properties:
                                    current:
                                      description: Current values of defined CPU
                                      anyOf:
                                      - type: integer
                                        format: int64
                                        minimum: 1
                                        maximum: 1000
                                      - type: integer
                                        description: Number of CPUs for VM
                                        format: int32
                                        minimum: 1
                                        maximum: 1000
                                    originally:
                                      description: Original values of defined CPU
                                      anyOf:
                                      - type: integer
                                        format: int64
                                        minimum: 1
                                        maximum: 1000
                                      - type: integer
                                        description: Number of CPUs for VM
                                        format: int32
                                        minimum: 1
                                        maximum: 1000
                                memory:
                                  type: object
                                  description: Object containing the current and original values of defined memory
                                  properties:
                                    current:
                                      description: Current values of defined memory
                                      type: integer
                                      format: int64
                                      minimum: 100000000
                                      maximum: 20000000000
                                    originally:
                                      description: Original values of defined memory
                                      type: integer
                                      format: int64
                                      minimum: 100000000
                                      maximum: 20000000000
                      - description: Payload of the codesys workload
                        type: object
                        required:
                        - workloadId
                        - status
                        - name
                        - type
                        - statusChangedTimestamp
                        - workloadVersionName
                        properties:
                          workloadId:
                            description: ID (from Management System) of the entry
                            type: string
                            pattern: ^[0-9a-fA-F]{24}$
                            minLength: 24
                            maxLength: 24
                          versionId:
                            description: ID (from Management System) of the entry
                            type: string
                            pattern: ^[0-9a-fA-F]{24}$
                            minLength: 24
                            maxLength: 24
                          status:
                            type: string
                            description: Status of workload in queue
                            enum:
                            - New
                            - Reserved
                            - Queued
                            - Downloading
                            - Downloaded
                            - Installed
                            - Removing
                            - Removing_failed
                          name:
                            type: string
                            description: Workload name
                            minLength: 1
                            maxLength: 40
                            pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$))
                          type:
                            description: Workload type
                            type: string
                            enum:
                            - docker
                            - vm
                            - codesys
                            - docker-compose
                          statusChangedTimestamp:
                            type: integer
                            format: int64
                            description: Time when state of the workload has changed in milliseconds.
                            minimum: 0
                            maximum: 4102444800000
                          workloadVersionName:
                            type: string
                            description: Version name
                            minLength: 1
                            maxLength: 40
                            pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$))
                          deployTime:
                            type: integer
                            format: int64
                            description: Time when workload has been deployed in milliseconds.
                            minimum: 0
                            maximum: 4102444800000
                          wiseDeviceStatus:
                            type: integer
                            format: int32
                            description: 'Status of deployed workload

                              - 0 *IDLE*

                              - 1 *CREATING*

                              - 2 *REMOVING*

                              - 3 *SUSPENDING*

                              - 4 *SUSPENDED*

                              - 5 *STARTING*

                              - 6 *RESTARTING*

                              - 7 *RESUMING*

                              - 8 *STARTED*

                              - 9 *STOPPING*

                              - 10 *STOPPED*

                              - 11 *ERROR*

                              - 12 *REMOVING_FAILED*

                              - 13 *PARTIALLY_RUNNING*

                              '
                            minimum: 0
                            maximum: 13
                          deviceId:
                            type: integer
                            format: int32
                            description: Id of the deployed workload
                            minimum: 100
                            maximum: 1000
                      - description: Payload of the vm workload
                        allOf:
                        - type: object
                          description: Basic payload of the workload
                          required:
                          - workloadId
                          - status
                          - name
                          - type
                          - statusChangedTimestamp
                          - workloadVersionName
                          properties:
                            workloadId:
                              description: ID (from Management System) of the entry
                              type: string
                              pattern: ^[0-9a-fA-F]{24}$
                              minLength: 24
                              maxLength: 24
                            versionId:
                              description: ID (from Management System) of the entry
                              type: string
                              pattern: ^[0-9a-fA-F]{24}$
                              minLength: 24
                              maxLength: 24
                            status:
                              type: string
                              description: Status of workload in queue
                              enum:
                              - New
                              - Reserved
                              - Queued
                              - Downloading
                              - Downloaded
                              - Installed
                              - Removing
                              - Removing_failed
                            name:
                              type: string
                              description: Workload name
                              minLength: 1
                              maxLength: 40
                              pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$))
                            type:
                              description: Workload type
                              type: string
                              enum:
                              - docker
                              - vm
                              - codesys
                              - docker-compose
                            statusChangedTimestamp:
                              type: integer
                              format: int64
                              description: Time when state of the workload has changed in milliseconds.
                              minimum: 0
                              maximum: 4102444800000
                            workloadVersionName:
                              type: string
                              description: Version name
                              minLength: 1
                              maxLength: 40
                              pattern: (?=.*[^ ].*)(?=(^[^\u0000-\u001f\u007f-\u009f]*$))
                            deployTime:
                              type: integer
                              format: int64
                              description: Time when workload has been deployed in milliseconds.
                              minimum: 0
                              maximum: 4102444800000
                            wiseDeviceStatus:
                              type: integer
                              format: int32
                              description: 'Status of deployed workload

                                - 0 *IDLE*

                                - 1 *CREATING*

                                - 2 *REMOVING*

                                - 3 *SUSPENDING*

                                - 4 *SUSPENDED*

                                - 5 *STARTING*

                                - 6 *RESTARTING*

                                - 7 *RESUMING*

                                - 8 *STARTED*

                                - 9 *STOPPING*

                                - 10 *STOPPED*

                                - 11 *ERROR*

                                - 12 *REMOVING_FAILED*

                                - 13 *PARTIALLY_RUNNING*

                                '
                              minimum: 0
                              maximum: 13
                            deviceId:
                              type: integer
                              format: int32
                              description: Id of the deployed workload
                              minimum: 100
                              maximum: 1000
                        - type: object
                          required:
                          - resources
                          properties:
                            resources:
                              type: object
                              description: Current and original values of defined cpu and memory limits
                              additionalProperties: false
                              properties:
                                cpu:
                                  type: object
                                  description: Object containing the current and original values of defined CPU
                                  properties:
                                    current:
                                      description: Current values of defined CPU
                                      anyOf:
                                      - type: integer
                                        format: int64
                                        minimum: 1
                                        maximum: 1000
                                      - type: integer
                                        description: Number of CPUs for VM
                                        format: int32
                                        minimum: 1
                                        maximum: 1000
                                    originally:
                                      description: Original values of defined CPU
                                      anyOf:
                                      - type: integer
                                        format: int64
                                        minimum: 1
                                        maximum: 1000
                                      - type: integer
                                        description: Number of CPUs for VM
                                        format: int32
                                        minimum: 1
                                        maximum: 1000
                                memory:


# --- truncated at 32 KB (73 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tttech/refs/heads/main/openapi/tttech-data-exchange-api-openapi.yml