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.0 request 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

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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: kafkaUpdateAndReconnect is absent from the live 2.0.1 schema (introspecting the Mutation type lists no kafka* mutations; only the kafka query 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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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: kafkaUpdatePubFilters is absent from the live 2.0.1 schema (no kafka* mutations exist; only the kafka query 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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"} with data: null. The path identifies which field failed. Validation failures additionally carry extensions.code = GRAPHQL_VALIDATION_FAILED and return HTTP 422.

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"
}

View this page as Markdown