TTTech EMQX API

The operations to manage authentication and authorization of MQTT clients

Operations 3

POST /mqtt/auth Authentication of the MQTT client #
POST /mqtt/acl Checks if MQTT client is authorized to publish and subscribe to a specific topic #
POST /mqtt/actions API for MQTT broker to notify Management system of client subscription #

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-emqx-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-emqx-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 EMQX API
  contact:
    name: Nerve support
    email: support@tttech-industrial.com
servers:
- url: https://trynerve1.nerve.cloud
security:
- sessionId: []
tags:
- name: EMQX
  description: The operations to manage authentication and authorization of MQTT clients
paths:
  /mqtt/auth:
    post:
      summary: Authentication of the MQTT client
      operationId: mqtt_auth
      tags:
      - EMQX
      security: []
      description: Used to verify the identity of a client who attempts to connect to the MQTT broker(EMQX).
      x-internal: true
      requestBody:
        description: Required parameters to identify a client that attempts to connect to the MQTT broker (EMQX)
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              description: Request body for authenticating an MQTT client
              required:
              - clientid
              - username
              - password
              properties:
                clientid:
                  description: Unique id which identifies a client that connects to the broker
                  minLength: 1
                  maxLength: 1001
                  type: string
                  pattern: ^[\x20-\x7E\t\n\r]*$
                username:
                  description: Client username
                  minLength: 1
                  maxLength: 1001
                  type: string
                  pattern: ^[\x20-\x7E\t\n\r]*$
                password:
                  description: Client password
                  minLength: 1
                  maxLength: 1001
                  type: string
                  pattern: ^[\x20-\x7E\t\n\r]*$
                initiator:
                  description: Who made a request
                  minLength: 1
                  maxLength: 1000
                  type:
                  - string
                  - 'null'
                  pattern: ^[\x20-\x7E\t\n\r]*$
            example:
              clientid: g-LOCALNODE021
              username: LOCALNODE021
              password: 7870ceb41a91f2e916aa06f628b325029a339d77
              initiator: undefined
      x-permissions:
      - MQTT:ACCESS
      responses:
        '200':
          description: MQTT client successfully authenticated
          content:
            application/json:
              schema:
                type: object
                description: Response for successful authentication of an MQTT client
                additionalProperties: false
                required:
                - result
                - is_superuser
                properties:
                  result:
                    type: string
                    description: Authentication result
                    enum:
                    - allow
                    - deny
                  is_superuser:
                    type: boolean
                    description: Indicates if the client is marked as a superuser
                    default: false
              example:
                result: allow
                is_superuser: false
        '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
        '503':
          description: Request failed, this is the response received when the broker is not yet ready - some of resources have not been loaded.
          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: strat_emqtt_aacl_004
                httpCode: '503'
                message: Connection is not possible - EMQX broker is not yet ready.
  /mqtt/acl:
    post:
      summary: Checks if MQTT client is authorized to publish and subscribe to a specific topic
      operationId: mqtt_acl
      tags:
      - EMQX
      security: []
      description: Used to check if the client has permission to subscribe to or to publish messages on a specific topic.
      x-internal: true
      requestBody:
        description: Required parameters to verify if a MQTT client has a permission to subscribe/publish to a specific topic
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Request body for authorizing an MQTT client action on a specific topic
              required:
              - clientid
              - action
              - topic
              additionalProperties: false
              properties:
                clientid:
                  description: Unique id which identifies a client that connects to the broker
                  minLength: 1
                  maxLength: 1001
                  type: string
                  pattern: ^[\x20-\x7E\t\n\r]*$
                action:
                  type: string
                  description: The name of the action.
                  enum:
                  - subscribe
                  - publish
                topic:
                  description: The topic on which the client wants to subscribe to or to publish a message
                  minLength: 1
                  maxLength: 1000
                  type: string
                  pattern: ^[\x20-\x7E\t\n\r]*$
                initiator:
                  description: Who made a request
                  minLength: 1
                  maxLength: 1000
                  type:
                  - string
                  - 'null'
                  pattern: ^[\x20-\x7E\t\n\r]*$
            example:
              action: publish
              clientid: g-LOCALNODE000
              topic: oblo/64175da8bd0fd097b9f6997c/gtw/LOCALNODE000/ovdm/evt
              initiator: undefined
      x-permissions:
      - MQTT:ACCESS
      responses:
        '200':
          description: MQTT client is authorized to subscribe/publish to a specific topic.
          content:
            application/json:
              schema:
                type: object
                description: Response for successful authorization of an MQTT client action on a specific topic
                additionalProperties: false
                required:
                - result
                properties:
                  result:
                    type: string
                    description: Authorization result
                    enum:
                    - allow
                    - deny
              example:
                result: allow
        '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
  /mqtt/actions:
    post:
      summary: API for MQTT broker to notify Management system of client subscription
      operationId: mqtt_actions
      tags:
      - EMQX
      security: []
      description: Used by MQTT broker(EMQX) to notify Management system that a client has subscribed to a specific topic
      x-internal: true
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Request body for notifying client subscription action
              additionalProperties: false
              required:
              - clientid
              - topic
              - event
              - qos
              properties:
                clientid:
                  description: Unique id which identifies a client that connects to the broker
                  minLength: 1
                  maxLength: 1001
                  type: string
                  pattern: ^[\x20-\x7E\t\n\r]*$
                topic:
                  description: The topic on which the client wants to subscribe to or to publish a message
                  minLength: 1
                  maxLength: 1000
                  type: string
                  pattern: ^[\x20-\x7E\t\n\r]*$
                event:
                  description: Mqtt event (session.subscribed)
                  minLength: 1
                  maxLength: 1000
                  type: string
                  pattern: ^[\x20-\x7E\t\n\r]*$
                qos:
                  type: string
                  description: Quality of service (QoS) level
                  enum:
                  - '0'
                  - '1'
                  - '2'
                initiator:
                  description: Who made a request
                  minLength: 1
                  maxLength: 1000
                  type:
                  - string
                  - 'null'
                  pattern: ^[\x20-\x7E\t\n\r]*$
            example:
              clientid: g-LOCALNODE000
              event: session.subscribed
              topic: nerve/node/LOCALNODE000/ovdm/req
              qos: '0'
              initiator: undefined
      x-permissions:
      - MQTT:ACTION
      responses:
        '200':
          description: Successful operation
          content:
            text/html:
              schema:
                description: Response for successful processing of the client subscription action
                type: string
                enum:
                - Ignored
                - Ok
        '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
        '500':
          description: Request failed, this is the response received when something went wrong while processing a message.
          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: strat_emqtt_aacl_003
                httpCode: '500'
                message: Something went wrong in a action triggered by mqtt client action.
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