TTTech WORKLOAD CONFIGURATION API
The operations to manage workload configurations
The operations to manage workload configurations
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/tttech-workload-configuration-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
version: 3.1.0
description: 'Nerve Management System API to manage: -labels -nodes -workloads -notifications -capabilities'
title: Nerve Management System WORKLOAD CONFIGURATION API
contact:
name: Nerve support
email: support@tttech-industrial.com
servers:
- url: https://trynerve1.nerve.cloud
security:
- sessionId: []
tags:
- name: WORKLOAD_CONFIGURATION
description: The operations to manage workload configurations
paths:
/nerve/nodes/{serialNumber}/workloads/{deviceId}/configurations:
post:
summary: Apply configuration to docker workload
description: 'The method is used to apply configuration to docker workloads. Required permission: **WORKLOAD_CONFIGURATION:APPLY**'
operationId: apply_docker_workload_configuration
tags:
- WORKLOAD_CONFIGURATION
parameters:
- name: serialNumber
in: path
required: true
description: The serial number of the node which was specified during onboarding into the Nerve Management System.
schema:
description: The serial number of the node
type: string
maxLength: 12
minLength: 12
pattern: ([A-Z0-9]){12}
- name: deviceId
in: path
required: true
description: Unique identifier of the deployed workload. device is a term previously used for workloads.
schema:
type: string
description: Id of the deployed workload
pattern: ^\d+$
minLength: 3
maxLength: 4
requestBody:
description: Defines workload configuration
required: true
content:
multipart/form-data:
schema:
additionalProperties: false
type: object
description: Defines the configuration to be applied to the workload
properties:
file:
description: File containing the workload configuration to be applied
type: string
format: binary
minLength: 1
maxLength: 1000
data:
type: object
description: 'Information about workload and version(stringify JSON object). Example how to setup data field in request body: * Key: data * Value: ''{"action":"apply","volume":{"name":"config","path":"/usr/share/nginx/"},"restartOnConfigurationUpdate":false}'' Note: Before apply configuration, volume has to be created on this workload. After volume is created, workload shall be (re)deployed.'
additionalProperties: false
properties:
action:
type: string
pattern: ^[\x20-\x7E\t\n\r]*$
description: Action to perform. Value is 'apply'.
minLength: 1
maxLength: 1000
restartOnConfigurationUpdate:
description: Should workload be restarted after the configuration is applied
type: boolean
volume:
description: Volume used
type: object
properties:
name:
type: string
pattern: ^[\x20-\x7E\t\n\r]*$
description: Name of volume
minLength: 1
maxLength: 1000
path:
type: string
pattern: ^[\x20-\x7E\t\n\r]*$
description: Volume path
minLength: 1
maxLength: 1000
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
required:
- action
- volume
- restartOnConfigurationUpdate
x-permissions:
- WORKLOAD_CONFIGURATION:APPLY
responses:
'204':
description: successful operation, configuration applied
'400':
description: Bad request
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:
error_upload_config_file:
value:
httpCode: '400'
errorCode: nerve_workload_configuration_002
message: File upload failed.
payload_not_defined:
value:
httpCode: '400'
errorCode: nerve_workload_configuration_006
message: Payload not defined.
'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: Not found
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:
workload_not_found:
value:
httpCode: '404'
errorCode: nerve_workload_configuration_015
message: Workload for which configuration update is requested does not exist on the system.
'409':
description: Conflict
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:
configuration_update_unsupported:
value:
httpCode: '409'
errorCode: nerve_workload_configuration_018
message: Configuration update is only supported for docker and docker-compose workloads.
configuration_update_not_allowed:
value:
httpCode: '409'
errorCode: nerve_workload_configuration_019
message: Configuration update is not possible for workload that is in REMOVING or REMOVING_FAILED status.
'415':
description: Unsupported media type
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: '415'
message: Route params validation error
'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]*$
examples:
failed_to_generate_download_link:
value:
httpCode: '500'
errorCode: nerve_workload_configuration_013
message: Failed to generate configuration download link.
unknown_error:
value:
httpCode: '500'
errorCode: nerve_workload_configuration_003
message: Apply configuration failed with 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