TTTech EMQX API
The operations to manage authentication and authorization of MQTT clients
The operations to manage authentication and authorization of MQTT clients
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-emqx-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 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