TTTech NERVE DOCKER REGISTRY API

The operations to manage Docker registry

Operations 6

POST /nerve/registry/images List images #
POST /nerve/registry/image-tags List tags for a specific image #
POST /nerve/registry/events Receive Docker Registry Notifications #
GET /nerve/registry/auth Authenticate Docker Registry #
POST /nerve/registry/check-images-status List of images with their statuses #
POST /nerve/registry/delete-image-tag Delete image tag from the registry #

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-nerve-docker-registry-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-nerve-docker-registry-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 NERVE DOCKER REGISTRY API
  contact:
    name: Nerve support
    email: support@tttech-industrial.com
servers:
- url: https://trynerve1.nerve.cloud
security:
- sessionId: []
tags:
- name: NERVE_DOCKER_REGISTRY
  description: The operations to manage Docker registry
paths:
  /nerve/registry/images:
    post:
      summary: List images
      description: List all images available on the nerve registry
      operationId: nerve_registry_image_list
      tags:
      - NERVE_DOCKER_REGISTRY
      requestBody:
        description: '[GET with body payload] - Information about the image name, limit, and last image name (for pagination) is sent in the body of the POST request to avoid exceeding URL parameter limits in a GET request. The limit defines the maximum number of results to return, while the last parameter is used for pagination, indicating the last image name from the previous response to fetch the next set of results.'
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              description: Object containing the limit and last image name used as pagination query params on the registry API
              properties:
                limit:
                  type: integer
                  format: int32
                  description: Limit the number of results
                  minimum: 1
                  maximum: 1000
                  example: 10
                last:
                  type: string
                  description: Last result from which all other results will be fetched, Image name when fetching catalog or tag name when fetching tags
                  minLength: 1
                  maxLength: 255
                  pattern: ^.*$
      x-permissions:
      - REGISTRY:PULL
      responses:
        '200':
          description: A list of images
          content:
            application/json:
              schema:
                type: object
                description: Object containing a list of docker images
                required:
                - images
                properties:
                  images:
                    type: array
                    description: A list of docker images
                    minItems: 0
                    maxItems: 10000
                    items:
                      type: string
                      description: Docker image name and tag
                      minLength: 1
                      maxLength: 384
                      pattern: ^(?=.{1,255}(?::|$))[a-z0-9]+(?:[._-][a-z0-9]+)*(?:/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?$
              example:
                images:
                - registry/alpine
                - registry/ubuntu
                - registry/centos
        '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: 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_docker_registry_001
                message: Failed to finalize request, unexpected error occurred.
  /nerve/registry/image-tags:
    post:
      summary: List tags for a specific image
      description: List all tags available for a specific image on the nerve registry
      operationId: nerve_registry_image_tags
      tags:
      - NERVE_DOCKER_REGISTRY
      requestBody:
        description: '[GET with body payload] - Information about the image name, limit, and last image name (for pagination) is sent in the body of the POST request to avoid exceeding URL parameter limits in a GET request. The limit defines the maximum number of results to return, while the last parameter is used for pagination, indicating the last image name from the previous response to fetch the next set of results.'
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              description: Object containing image name for which tags will be fetched, also limit and last image name used as pagination query params on the registry API
              required:
              - image
              properties:
                image:
                  type: string
                  description: Docker image name
                  minLength: 1
                  maxLength: 255
                  pattern: ^(?:[a-z0-9]+(?:[._-][a-z0-9]+)*(?:/[a-z0-9]+(?:[._-][a-z0-9]+)*)*)$
                limit:
                  type: integer
                  format: int32
                  description: Limit the number of results
                  minimum: 1
                  maximum: 1000
                  example: 10
                last:
                  type: string
                  description: Last result from which all other results will be fetched, Image name when fetching catalog or tag name when fetching tags
                  minLength: 1
                  maxLength: 255
                  pattern: ^.*$
      x-permissions:
      - REGISTRY:PULL
      responses:
        '200':
          description: A list of image tags
          content:
            application/json:
              schema:
                type: object
                description: Object containing a list of tags for a specific docker image
                required:
                - tags
                properties:
                  tags:
                    type: array
                    description: A list of tags and their digest value for a specific docker image
                    minItems: 0
                    maxItems: 100
                    items:
                      type: object
                      additionalProperties: false
                      description: Object containing docker image tag and its digest value
                      required:
                      - tag
                      - digest
                      - usedByReleasedVersion
                      properties:
                        tag:
                          type: string
                          description: A docker image tag
                          minLength: 1
                          maxLength: 128
                          pattern: ^[a-zA-Z0-9\.\-_]+$
                        digest:
                          type: string
                          minLength: 71
                          maxLength: 71
                          description: 'A Docker image digest is a SHA-256 hash of the image manifest in the format `sha256:<hash>`.

                            '
                          pattern: ^sha256:[a-f0-9]{64}$
                        usedByReleasedVersion:
                          type: boolean
                          description: 'Indicates whether the image is used by a released workload.

                            '
              example:
                tags:
                - tag: latest
                  digest: sha256:4d5e6a98c0b60c8b9af8e937a739cd818eb9249d34f1e4b4ac7e8b0c4a883f67
                  usedByReleasedVersion: false
                - tag: '1.0'
                  digest: sha256:4cdb6012a4a871330a7122659a8d40e6e69abadb9a1d4c3fdabf5481cda312c2
                  usedByReleasedVersion: false
                - tag: '1.1'
                  digest: sha256:9f1619aaee18137aa1ac1554467e922b16297043eae14f9f63936b8e038a34fa
                  usedByReleasedVersion: true
        '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 the requested image was 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]*$
              example:
                httpCode: '404'
                errorCode: nerve_docker_registry_002
                message: Image not found on the registry.
        '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_docker_registry_001
                message: Failed to finalize request, unexpected error occurred.
  /nerve/registry/events:
    post:
      summary: Receive Docker Registry Notifications
      description: This route receives notifications from the Docker registry and does not require authentication.
      security: []
      operationId: nerve_registry_notify
      tags:
      - NERVE_DOCKER_REGISTRY
      x-internal: true
      responses:
        '204':
          description: Success
  /nerve/registry/auth:
    get:
      summary: Authenticate Docker Registry
      description: This endpoint is used to authenticate Docker registry requests.
      security: []
      operationId: nerve_registry_auth
      tags:
      - NERVE_DOCKER_REGISTRY
      x-internal: true
      parameters:
      - name: service
        in: query
        description: The service requesting authentication (e.g., "Nerve Docker registry").
        required: true
        schema:
          type: string
          minLength: 1
          maxLength: 21
          pattern: ^[A-Za-z_]+$
          enum:
          - Nerve_Docker_registry
      - name: scope
        in: query
        description: The scope of the authentication request (e.g., "repository:your-repo:push,pull").
        schema:
          type: string
          minLength: 1
          maxLength: 500
          pattern: ^.*$
      - name: client_id
        in: query
        description: The client ID of the service requesting authentication.
        schema:
          type: string
          minLength: 1
          maxLength: 6
          pattern: ^[A-Za-z_]+$
          enum:
          - docker
      - name: account
        in: query
        description: The account requesting authentication.
        schema:
          type: string
          minLength: 1
          maxLength: 500
          pattern: ^.*$
      x-permissions:
      - GLOBAL:PUBLIC
      responses:
        '200':
          description: Successful authentication
          content:
            application/json:
              schema:
                type: object
                description: Object containing the authentication token
                properties:
                  token:
                    type: string
                    description: The authentication token.
                    pattern: ^[A-Za-z0-9-_]+(\.[A-Za-z0-9-_]+){2}$
                    minLength: 1
                    maxLength: 2000
              example:
                token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                description: Object containing the error details
                additionalProperties: false
                required:
                - errors
                properties:
                  errors:
                    type: array
                    description: A list of errors
                    minItems: 1
                    maxItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: The error code
                          minLength: 1
                          maxLength: 100
                          pattern: ^[A-Za-z_]+$
                          example: INTERNAL_SERVER_ERROR
                        message:
                          type: string
                          description: The error message
                          minLength: 1
                          maxLength: 150
                          pattern: ^.*$
                          example: Internal server error
        '429':
          description: Too many requests - brute force protection triggered
          content:
            application/json:
              schema:
                type: object
                description: Object containing the error details
                additionalProperties: false
                required:
                - errors
                properties:
                  errors:
                    type: array
                    description: A list of errors
                    minItems: 1
                    maxItems: 1
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: The error code
                          minLength: 1
                          maxLength: 100
                          pattern: ^[A-Za-z_]+$
                          example: INTERNAL_SERVER_ERROR
                        message:
                          type: string
                          description: The error message
                          minLength: 1
                          maxLength: 150
                          pattern: ^.*$
                          example: Internal server error
  /nerve/registry/check-images-status:
    post:
      summary: List of images with their statuses
      description: List of provided images and their availability status on the nerve registry
      operationId: nerve_registry_image_list_with_status
      tags:
      - NERVE_DOCKER_REGISTRY
      requestBody:
        description: List of images that are sent to check the availability on the registry
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Object containing a list of docker images
              required:
              - images
              properties:
                images:
                  type: array
                  description: A list of docker images
                  minItems: 0
                  maxItems: 10000
                  items:
                    type: string
                    description: Docker image name and tag
                    minLength: 1
                    maxLength: 384
                    pattern: ^(?=.{1,255}(?::|$))[a-z0-9]+(?:[._-][a-z0-9]+)*(?:/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?$
      x-permissions:
      - REGISTRY:PULL
      responses:
        '200':
          description: A list of images with their availability status
          content:
            application/json:
              schema:
                type: object
                description: Object containing a list of docker images and their availability status
                properties:
                  listOfImagesWithStatus:
                    type: array
                    description: A list of docker images and their availability status
                    minItems: 0
                    maxItems: 50
                    items:
                      type: object
                      description: Contains the image and its availability status
                      properties:
                        images:
                          type: array
                          description: A list of docker images
                          minItems: 0
                          maxItems: 10000
                          items:
                            type: string
                            description: Docker image name and tag
                            minLength: 1
                            maxLength: 384
                            pattern: ^(?=.{1,255}(?::|$))[a-z0-9]+(?:[._-][a-z0-9]+)*(?:/[a-z0-9]+(?:[._-][a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?$
                        available:
                          type: boolean
                          description: Flag indicating if the images are available on the registry
              example:
                listOfImagesWithStatus:
                - image: registry/alpine:latest
                  available: true
                - image: registry/nginx:latest
                  available: false
        '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: 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_docker_registry_001
                message: Failed to finalize request, unexpected error occurred.
  /nerve/registry/delete-image-tag:
    post:
      summary: Delete image tag from the registry
      description: This endpoint is used to delete an image tag from the registry. The deletion process is based on the digest associated with the specified tag. If multiple tags share the same digest, all tags linked to that digest will be deleted as part of the operation.
      operationId: nerve_registry_delete_image_tag
      tags:
      - NERVE_DOCKER_REGISTRY
      requestBody:
        description: Information about image name and tag
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Object containing the image name and tag
              required:
              - image
              - tag
              properties:
                image:
                  type: string
                  description: Docker image name
                  minLength: 1
                  maxLength: 255
                  pattern: ^(?:[a-z0-9]+(?:[._-][a-z0-9]+)*(?:/[a-z0-9]+(?:[._-][a-z0-9]+)*)*)$
                tag:
                  type: string
                  description: Docker image tag
                  minLength: 1
                  maxLength: 128
                  pattern: ^(?:[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})$
      x-permissions:
      - REGISTRY:DELETE
      responses:
        '200':
          description: Success response
          content:
            application/json:
              schema:
                type: object
                description: Object containing the success message
                required:
                - success
                properties:
                  success:
                    type: boolean
                    description: The success status
              example:
                success: true
        '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 the requested image was 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]*$
              example:
                httpCode: '404'
                errorCode: nerve_docker_registry_002
                message: Image not found on the registry.
        '405':
          description: Request failed, this is the response received when image deletion is not allowed because it is used by a released version
          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: '405'
                errorCode: nerve_docker_registry_003
                message: Image is used by a released version, delete action is not possible.
        '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_docker_registry_001
                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