Litmus Unify/Integrations - LE, LEM, LUNS API Docs
Applies to: Litmus Unify 2.0.x (current). The version map shows which operations also exist in <v2.0.0 and how they differ. Full
<v2.0.0request bodies are in collections.json.
Version map
| 2.0.x operation | In <v2.0.0? | Difference |
|---|---|---|
Kafka (kafka) |
Yes -- "Get Kafka Integrations" (and UNS/"Kafka") | None |
Kafka Update And Reconnect (kafkaUpdateAndReconnect) |
Yes -- "Kafka Update and (re)Connect" | Removed from the live 2.0.1 schema (Mutation introspection lists no kafka* mutations; only the kafka query remains) |
Kafka Update Pub Filters (kafkaUpdatePubFilters) |
No | Not in the live 2.0.1 schema (no kafka* mutations exist) |
Connectors -- all Connector* operations (connectorCreate, connectorUpdate, connectorEnable, etc.) |
No | New in 2.0.x. The entire connectors framework (typed, JSON-Schema-validated outflow connectors) was added in 2.0.x |
Table of Contents
- Kafka
- Kafka Update And Reconnect
- Kafka Update Pub Filters
- Connectors
- Connector
- Connector Types
- Connector Create
- Connector Update
- Connector Update Topics
- Connector Enable
- Connector Disable
- Connector Restart
- Connector Delete
- Connector Status Changed
Kafka
POST {{uns_url}}/mqtt/gql
Kafka
Read the Kafka bridge configuration and status. Takes no arguments.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Response
Returns Kafka!: currentCfg and defaultCfg (both KafkaCfg: brokers, balancer, auth method, compression, topic mappings, ...), the active pubFilters, and status ({ active, pubStats }).
Naming inconsistency: the Kafka types use PascalCase field names (
ID,Name,Enabled,Brokers,Balancer,TopicsMapping, ...), unlike the camelCase used across the rest of the Unify schema. Send and select Kafka config fields exactly as the PascalCase names shown.
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
query Kafka {
kafka {
currentCfg {
ID
Name
Enabled
Brokers
Balancer
Topic
TopicsMapping {
InTopic
OutTopic
}
Username
Password
AuthMethod
RequireSsl
TrustedCaChain
Compression
RequiredAcks
WriteTimeoutSec
}
defaultCfg {
ID
Name
Enabled
Brokers
Balancer
Topic
TopicsMapping {
InTopic
OutTopic
}
Username
Password
AuthMethod
RequireSsl
TrustedCaChain
Compression
RequiredAcks
WriteTimeoutSec
}
pubFilters
status {
active
pubStats {
ConnAttempts
Writes
Messages
Bytes
Errors
Retries
}
}
}
}
Response
Status: 200 OK
{
"data": {
"kafka": {
"currentCfg": {
"ID": "00000000-0000-0000-0000-000000000000",
"Name": "default",
"Enabled": false,
"Brokers": [
"localhost:9092"
],
"Balancer": "RoundRobin",
"Topic": null,
"TopicsMapping": [
{
"InTopic": "#",
"OutTopic": "litmus"
}
],
"Username": "",
"Password": "",
"AuthMethod": "Plain",
"RequireSsl": false,
"TrustedCaChain": null,
"Compression": "Zstd",
"RequiredAcks": "Leader",
"WriteTimeoutSec": 10
},
"defaultCfg": {
"ID": "C108AB28-482E-489F-8FB5-033D4DB1C889",
"Name": "conn-RjDeFa",
"Enabled": false,
"Brokers": [
"localhost:9092"
],
"Balancer": "RoundRobin",
"Topic": null,
"TopicsMapping": [
{
"InTopic": "#",
"OutTopic": "litmus"
}
],
"Username": "",
"Password": "",
"AuthMethod": "Plain",
"RequireSsl": false,
"TrustedCaChain": null,
"Compression": "Zstd",
"RequiredAcks": "Leader",
"WriteTimeoutSec": 10
},
"pubFilters": null,
"status": {
"active": false,
"pubStats": null
}
}
}
}
Kafka Update And Reconnect
POST {{uns_url}}/mqtt/gql
Kafka Update And Reconnect
Replace the Kafka bridge configuration and reconnect to the brokers.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Arguments
Field (kafkaUpdateAndReconnectInput) |
Type | Required | Notes |
|---|---|---|---|
Enabled |
Boolean! |
yes | Turn the bridge on/off. |
Brokers |
[String!]! |
yes | Kafka broker addresses, e.g. localhost:9092. |
Balancer |
Balancer! |
yes | LeastBytes, RoundRobin, Hash, Crc32. |
Topic / TopicsMapping |
String / [KafkaMappingItemReq!] |
no | Single target topic, or per-topic { InTopic, OutTopic } mappings. |
Username / Password |
String! |
yes | SASL credentials (empty when AuthMethod = None). |
AuthMethod |
AuthMethod! |
yes | None, Plain, ScramSha256, ScramSha512. |
RequireSsl / TrustedCaChain |
Boolean! / String |
yes / no | TLS to the brokers. |
Compression |
Compression! |
yes | None, Gzip, Snappy, Lz4, Zstd. |
RequiredAcks |
RequiredAcks! |
yes | None, Leader, All. |
WriteTimeoutSec |
Int! |
yes | Producer write timeout. |
Response
Returns kafkaUpdateAndReconnectPayload.
Removed in 2.0.1:
kafkaUpdateAndReconnectis absent from the live 2.0.1 schema (introspecting the Mutation type lists nokafka*mutations; only thekafkaquery remains). Calling it fails GraphQL validation. Retained below for historical reference.
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
mutation KafkaUpdateAndReconnect {
kafkaUpdateAndReconnect {
cfg {
ID
Name
Enabled
Brokers
Balancer
Topic
TopicsMapping {
InTopic
OutTopic
}
Username
Password
AuthMethod
RequireSsl
TrustedCaChain
Compression
RequiredAcks
WriteTimeoutSec
}
}
}
Variables
{
"input": {
"Enabled": false,
"Brokers": [
"localhost:9092"
],
"Balancer": "LeastBytes",
"Username": "",
"Password": "",
"AuthMethod": "None",
"RequireSsl": false,
"Compression": "None",
"RequiredAcks": "Leader",
"WriteTimeoutSec": 10
}
}
Response
Status: 422 Unprocessable Entity
{
"errors": [
{
"message": "masked error",
"extensions": {
"code": "GRAPHQL_VALIDATION_FAILED"
}
}
],
"data": null
}
Kafka Update Pub Filters
POST {{uns_url}}/mqtt/gql
Kafka Update Pub Filters
Set the MQTT topic filters whose messages are published to Kafka.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Arguments
Field (kafkaUpdatePubFiltersInput) |
Type | Required | Notes |
|---|---|---|---|
filters |
[String!]! |
yes | MQTT filter expressions, e.g. enterprise/#. |
Response
Returns kafkaUpdatePubFiltersPayload with the active filters.
Removed in 2.0.1:
kafkaUpdatePubFiltersis absent from the live 2.0.1 schema (nokafka*mutations exist; only thekafkaquery remains). Calling it fails GraphQL validation. Retained below for historical reference.
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
mutation KafkaUpdatePubFilters($input: kafkaUpdatePubFiltersInput) {
kafkaUpdatePubFilters(input: $input) {
filters
}
}
Variables
{
"input": {
"filters": [
"enterprise/#"
]
}
}
Response
Status: 422 Unprocessable Entity
{
"errors": [
{
"message": "masked error",
"extensions": {
"code": "GRAPHQL_VALIDATION_FAILED"
}
}
],
"data": null
}
Connectors
POST {{uns_url}}/mqtt/gql
Connectors
List every configured connector instance. Takes no arguments.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Response
Returns [Connector!]! (each { id, name, type, config, topics, enabled, status, schema }). status is a ConnectorStatus { state, stats, error, errorAt } where state (ConnectorState) is one of UNKNOWN, PROVISIONING, CONNECTING, CONNECTED, DISCONNECTED, ERROR, RECONNECTING, and stats (ConnectorStats) carries messagesIn/messagesOut, bytesIn/bytesOut, errors, messagesDropped, queueDepth, reconnectCount, uptimeSeconds, extraStats.
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
query Connectors {
connectors {
id
name
type
config
topics {
originTopic
targetTopic
direction
originPrefix
targetPrefix
order
config
consumerGroup
}
enabled
status {
state
error
errorAt
}
schema
}
}
Response
Status: 200 OK
{
"errors": [
{
"message": "masked error",
"path": [
"connectors"
]
}
],
"data": null
}
Connector
POST {{uns_url}}/mqtt/gql
Connector
Fetch a single connector instance by id.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
id |
ID! |
yes | Connector id. |
Response
Returns Connector (or null if not found).
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
query Connector($id: ID!) {
connector(id: $id) {
id
name
type
config
topics {
originTopic
targetTopic
direction
originPrefix
targetPrefix
order
config
consumerGroup
}
enabled
status {
state
stats {
messagesIn
messagesOut
bytesIn
bytesOut
errors
messagesDropped
queueDepth
reconnectCount
uptimeSeconds
extraStats
}
error
errorAt
}
schema
}
}
Variables
{
"id": "00000000-0000-0000-0000-000000000000"
}
Response
Status: 200 OK
{
"errors": [
{
"message": "masked error",
"path": [
"connector"
]
}
],
"data": {
"connector": null
}
}
Connector Types
POST {{uns_url}}/mqtt/gql
Connector Types
List the connector types available on this installation, each with the JSON Schema describing its config.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Response
Returns [ConnectorTypeInfo!]! (each { type, schema }, where schema is a JSON Schema).
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
query ConnectorTypes {
connectorTypes {
type
schema
}
}
Response
Status: 200 OK
{
"errors": [
{
"message": "masked error",
"path": [
"connectorTypes"
]
}
],
"data": null
}
Connector Create
POST {{uns_url}}/mqtt/gql
Connector Create
Create a connector instance of a given type.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Arguments
Field (ConnectorCreateInput) |
Type | Required | Notes |
|---|---|---|---|
type |
String! |
yes | A type from Connector Types. |
name |
String! |
yes | Display name. |
config |
JSON! |
yes | Config object validated against the type's JSON Schema. |
topics |
[TopicMappingInput!] |
no | Topic mappings (see Connector Update Topics). |
enabled |
Boolean |
no | Defaults to true. |
Response
Returns the created Connector!.
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
mutation ConnectorCreate($input: ConnectorCreateInput!) {
connectorCreate(input: $input) {
id
name
type
config
topics {
originTopic
targetTopic
direction
originPrefix
targetPrefix
order
config
consumerGroup
}
enabled
status {
state
stats {
messagesIn
messagesOut
bytesIn
bytesOut
errors
messagesDropped
queueDepth
reconnectCount
uptimeSeconds
extraStats
}
error
errorAt
}
schema
}
}
Variables
{
"input": {
"type": "mqtt",
"name": "docs-connector",
"config": {},
"enabled": false
}
}
Response
Status: 200 OK
{
"errors": [
{
"message": "masked error",
"path": [
"connectorCreate"
]
}
],
"data": null
}
Connector Update
POST {{uns_url}}/mqtt/gql
Connector Update
Update a connector's name and/or config.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Arguments
Field (ConnectorUpdateInput) |
Type | Required | Notes |
|---|---|---|---|
id |
ID! |
yes | Connector id. |
name |
String |
no | New display name. |
config |
JSON |
no | New config object. |
Response
Returns the updated Connector!.
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
mutation ConnectorUpdate($input: ConnectorUpdateInput!) {
connectorUpdate(input: $input) {
id
name
type
config
topics {
originTopic
targetTopic
direction
originPrefix
targetPrefix
order
config
consumerGroup
}
enabled
status {
state
stats {
messagesIn
messagesOut
bytesIn
bytesOut
errors
messagesDropped
queueDepth
reconnectCount
uptimeSeconds
extraStats
}
error
errorAt
}
schema
}
}
Variables
{
"input": {
"id": "docs-connector",
"name": "docs-connector-2"
}
}
Response
Status: 200 OK
{
"errors": [
{
"message": "masked error",
"path": [
"connectorUpdate"
]
}
],
"data": null
}
Connector Update Topics
POST {{uns_url}}/mqtt/gql
Connector Update Topics
Replace a connector's topic mappings.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Arguments
Field (ConnectorUpdateTopicsInput) |
Type | Required | Notes |
|---|---|---|---|
id |
ID! |
yes | Connector id. |
topics |
[TopicMappingInput!]! |
yes | Each { originTopic, targetTopic, direction, order, originPrefix, targetPrefix, config, consumerGroup }. |
TopicMappingInput (and the TopicMapping output) carries originTopic, targetTopic, direction, order, plus originPrefix, targetPrefix, config (String), and consumerGroup. direction (TopicDirection) is BOTH, OUTBOUND, or INBOUND.
Response
Returns the updated Connector!.
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
mutation ConnectorUpdateTopics($input: ConnectorUpdateTopicsInput!) {
connectorUpdateTopics(input: $input) {
id
name
type
config
topics {
originTopic
targetTopic
direction
originPrefix
targetPrefix
order
config
consumerGroup
}
enabled
status {
state
stats {
messagesIn
messagesOut
bytesIn
bytesOut
errors
messagesDropped
queueDepth
reconnectCount
uptimeSeconds
extraStats
}
error
errorAt
}
schema
}
}
Variables
{
"input": {
"id": "docs-connector",
"topics": [
{
"originTopic": "a/b",
"targetTopic": "c/d",
"direction": "BOTH",
"order": 0
}
]
}
}
Response
Status: 200 OK
{
"errors": [
{
"message": "masked error",
"path": [
"connectorUpdateTopics"
]
}
],
"data": null
}
Connector Enable
POST {{uns_url}}/mqtt/gql
Connector Enable
Enable a connector instance.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
id |
ID! |
yes | Connector id. |
Response
Returns the updated Connector!.
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
mutation ConnectorEnable($id: ID!) {
connectorEnable(id: $id) {
id
name
type
config
topics {
originTopic
targetTopic
direction
originPrefix
targetPrefix
order
config
consumerGroup
}
enabled
status {
state
stats {
messagesIn
messagesOut
bytesIn
bytesOut
errors
messagesDropped
queueDepth
reconnectCount
uptimeSeconds
extraStats
}
error
errorAt
}
schema
}
}
Variables
{
"id": "docs-connector"
}
Response
Status: 200 OK
{
"errors": [
{
"message": "masked error",
"path": [
"connectorEnable"
]
}
],
"data": null
}
Connector Disable
POST {{uns_url}}/mqtt/gql
Connector Disable
Disable a connector instance without deleting it.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
id |
ID! |
yes | Connector id. |
Response
Returns the updated Connector!.
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
mutation ConnectorDisable($id: ID!) {
connectorDisable(id: $id) {
id
name
type
config
topics {
originTopic
targetTopic
direction
originPrefix
targetPrefix
order
config
consumerGroup
}
enabled
status {
state
stats {
messagesIn
messagesOut
bytesIn
bytesOut
errors
messagesDropped
queueDepth
reconnectCount
uptimeSeconds
extraStats
}
error
errorAt
}
schema
}
}
Variables
{
"id": "docs-connector"
}
Response
Status: 200 OK
{
"errors": [
{
"message": "masked error",
"path": [
"connectorDisable"
]
}
],
"data": null
}
Connector Restart
POST {{uns_url}}/mqtt/gql
Connector Restart
Restart a connector instance (re-establishes its external connection).
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
id |
ID! |
yes | Connector id. |
Response
Returns the updated Connector!.
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
mutation ConnectorRestart($id: ID!) {
connectorRestart(id: $id) {
id
name
type
config
topics {
originTopic
targetTopic
direction
originPrefix
targetPrefix
order
config
consumerGroup
}
enabled
status {
state
stats {
messagesIn
messagesOut
bytesIn
bytesOut
errors
messagesDropped
queueDepth
reconnectCount
uptimeSeconds
extraStats
}
error
errorAt
}
schema
}
}
Variables
{
"id": "docs-connector"
}
Response
Status: 200 OK
{
"errors": [
{
"message": "masked error",
"path": [
"connectorRestart"
]
}
],
"data": null
}
Connector Delete
POST {{uns_url}}/mqtt/gql
Connector Delete
Delete a connector instance.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
id |
ID! |
yes | Connector id. |
Response
Returns Boolean! (true on success).
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
mutation ConnectorDelete($id: ID!) {
connectorDelete(id: $id)
}
Variables
{
"id": "docs-connector"
}
Response
Status: 200 OK
{
"errors": [
{
"message": "masked error",
"path": [
"connectorDelete"
]
}
],
"data": null
}
Connector Status Changed
POST {{uns_url}}/mqtt/gql
Connector Status Changed
Subscription that pushes connector state transitions in real time. Pair it with Connector for the initial snapshot.
Endpoint
POST {{uns_url}}/mqtt/gql
Authentication
OAuth2 Bearer token (Keycloak password grant). In Postman the token is inherited from the collection auth; see the collection overview for the raw token request.
Arguments
| Argument | Type | Required | Notes |
|---|---|---|---|
id |
ID! |
yes | Connector id to watch. |
Response
Streams ConnectorStatus ({ state, stats, error, errorAt }).
GraphQL subscription, delivered over WebSocket; it cannot be exercised with a plain HTTP POST.
Errors
GraphQL operations return 200 OK even on logical errors. Inspect the errors array in the response body:
{ "errors": [ { "message": "...", "path": ["..."], "extensions": { "code": "..." } } ] }
Masked errors: Litmus Unify masks error detail by default, most failures surface as
{"message": "masked error"}withdata: null. Thepathidentifies which field failed. Validation failures additionally carryextensions.code = GRAPHQL_VALIDATION_FAILEDand return HTTP422.
A missing or expired Bearer token returns HTTP 401 with the body bad token.
Request Body
GraphQL Query
subscription ConnectorStatusChanged($id: ID!) {
connectorStatusChanged(id: $id) {
state
stats {
messagesIn
messagesOut
bytesIn
bytesOut
errors
messagesDropped
queueDepth
reconnectCount
uptimeSeconds
extraStats
}
error
errorAt
}
}
Variables
{
"id": "id"
}