TTTech DOCKER COMPOSE FILE API

The operations to manage docker compose file

Operations 2

POST /nerve/v3/workloads/compose Upload and validate docker-compose file #
GET /nerve/v3/workloads/compose/{workloadId}/versions/{versionId}/files/{fileId} Get content of the selected docker-compose file as string #

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-docker-compose-file-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-docker-compose-file-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 DOCKER COMPOSE FILE API
  contact:
    name: Nerve support
    email: support@tttech-industrial.com
servers:
- url: https://trynerve1.nerve.cloud
security:
- sessionId: []
tags:
- name: DOCKER_COMPOSE_FILE
  description: The operations to manage docker compose file
paths:
  /nerve/v3/workloads/compose:
    post:
      summary: Upload and validate docker-compose file
      operationId: v3_process_docker_compose_file
      tags:
      - DOCKER_COMPOSE_FILE
      description: Method is used to upload the docker-compose file in order to perform a validation against the corresponding schema. As a result, the JSON representation of the uploaded docker compose file is returned if the file is valid otherwise an error is returned. Uploaded file is not stored, it is deleted after the process is completed.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              description: Schema for the request body used to upload and validate a docker-compose file
              additionalProperties: false
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: Docker-compose file to be validated. Allowed extensions are .yaml or .yml
                internalDockerRegistry:
                  description: Is workload using internal Docker Registry as an docker image source
                  type: boolean
      x-permissions:
      - WORKLOAD:EDIT
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                description: JSON representation of the uploaded docker-compose file
                required:
                - services
                properties:
                  services:
                    type: object
                    minProperties: 1
                    description: List of services defined in the docker-compose file
              example:
                version: '3.5'
                services:
                  nginx:
                    container_name: compose_nginx
                    image: docker-test.dev.nerve.cloud/registry/nginx:latest
                    networks:
                    - wan
                    ports:
                    - 8080:80
                    volumes:
                    - nginx_config:/etc/nginx/conf.d
                    - nginx_logs:/var/log/nginx
                    environment:
                    - NGINX_PORT=80
                    - NGINX_SSL_PORT=443
                    restart: always
                networks:
                  wan:
                    external: true
        '400':
          description: Request failed, this is the response received when provided file has wrong extension.
          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: '400'
                errorCode: nerve_workload_194
                message: Wrong file extension, allowed extensions are .yaml or .yml
        '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
        '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: Request failed, this is the response received when an unexpected error occurred on the server side
          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_workload_166
                message: Failed to finalize request, unexpected error occurred.
  /nerve/v3/workloads/compose/{workloadId}/versions/{versionId}/files/{fileId}:
    get:
      summary: Get content of the selected docker-compose file as string
      operationId: v3_docker_compose_file_content
      tags:
      - DOCKER_COMPOSE_FILE
      description: Get the file content of the specified Docker Compose file as a string. To upload a Compose file, please use POST /nerve/v3/workloads/{workloadId}/versions/{versionId}/files.
      parameters:
      - name: workloadId
        in: path
        required: true
        description: Workload Id
        schema:
          description: ID (from Management System) of the entry
          type: string
          pattern: ^[0-9a-fA-F]{24}$
          minLength: 24
          maxLength: 24
      - name: versionId
        in: path
        required: true
        description: Workload version Id
        schema:
          description: ID (from Management System) of the entry
          type: string
          pattern: ^[0-9a-fA-F]{24}$
          minLength: 24
          maxLength: 24
      - name: fileId
        in: path
        required: true
        description: File id from workload version
        schema:
          description: ID (from Management System) of the entry
          type: string
          pattern: ^[0-9a-fA-F]{24}$
          minLength: 24
          maxLength: 24
      x-permissions:
      - WORKLOAD:EDIT
      responses:
        '200':
          description: Successful operation
          content:
            text/plain:
              schema:
                type: string
                pattern: ^[\x20-\x7E\t\n\r]*$
                description: Name of the exported file
                minLength: 1
                maxLength: 1000
        '400':
          description: The request failed because the provided file is of an unsupported type. Only Docker Compose files are accepted.
          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: '400'
                errorCode: nerve_workload_203
                message: File is not docker-compose file.
        '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: Request failed, this is the response received when specified file 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:
                httpCode: '404'
                errorCode: nerve_workload_169
                message: There is no file with specified file id. Please check your file id in the request API.
        '500':
          description: Request failed, this is the response received when an unexpected error occurred on the server side
          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_workload_166
                message: Failed to finalize request, unexpected error occurred.
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