Skip to main content

Maps Messaging Rest Server (00.00.00-SNAPSHOT)

Download OpenAPI specification:Download

Matthew Buckton: [email protected] URL: http://mapsmessaging.io License: Apache 2.0

Maps Messaging Server Rest API, provides simple Rest API to manage and interact with the server

Authentication and Authorisation Management

Provides endpoints for managing user authentication and authorisation, including login, logout, token management, and role-based access control to ensure secure interactions with the server.

Get the auth configuration

Retrieves the configuration used to setup the authentication and authorisation. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "authenticationEnabled": true,
  • "authorisationEnabled": true,
  • "authConfig": { }
}

Update the auth configuration

Updates the configuration used to setup the authentication and authorisation. Requires authentication if enabled in the configuration.

Authorizations:
basicAuth
Request Body schema: application/json
authenticationEnabled
boolean

Indicates if authentication is enabled

authorisationEnabled
boolean

Indicates if authorization is enabled

authConfig
object

Configuration properties for authentication

Responses

Request samples

Content type
application/json
{
  • "authenticationEnabled": true,
  • "authorisationEnabled": true,
  • "authConfig": { }
}

Response samples

Content type
application/json
{
  • "status": "string"
}

Get all groups

Retrieves all currently known groups. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
query Parameters
filter
string
Example: filter=name = 'admin'

Optional filter string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Add new group

Adds a new group to the group list. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
Request Body schema: */*
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Add user to group

Adds a user to a group using the UUID of the user and UUID of the group . Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
groupUuid
required
string
userUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Removes a user from group

Removes a user from a group using the users UUID and the groups UUID . Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
groupUuid
required
string
userUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Get group by UUID

Retrieve the group using the UUID of the specific group. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
groupUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "admin",
  • "uniqueId": "e808afcb-1ff9-46cd-a322-3119dbf1d071",
  • "usersList": [
    ]
}

Delete a group

Deletes a group from the list and removes all user memberships. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
groupUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Get all users

Retrieves all currently known users filtered by the optional filter string, SQL like syntax. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
query Parameters
filter
string
Example: filter=username = 'bill'

Optional filter string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Add a new user

Adds a new user to the system. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
Request Body schema: */*
username
string (Username)

The unique username for the new user account.

password
string (Password)

The password or passphrase for the new user, intended to provide secure access.

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Delete a user

Deletes a user from the system. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
userUuid
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Get user by username

Retrieve the user by username. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
username
required
string

Responses

Response samples

Content type
application/json
{
  • "username": "myUserName",
  • "uniqueId": "83db8741-57ca-4147-a973-49789d9150bb",
  • "groupList": [
    ],
  • "attributes": {
    }
}

Destination Management

Facilitates the management of destinations such as topics and queues. Includes operations for creating, updating, deleting, and querying destinations, as well as managing subscriptions.

Retrieve a list of all destinations with optional filtering and sorting

Fetch a paginated list of all known destinations. You can filter the list using a selector string, limit the number of returned entries using the 'size' parameter, and sort the results by attributes such as Name, Published Messages, or Stored Messages. Cached results are returned if available to enhance performance. Authentication is required if the server configuration mandates it.

Authorizations:
basicAuthauthScheme
query Parameters
filter
string
Example: filter=type = 'topic' AND storedMessages > 50

An optional filter string for selecting specific destinations. The filter should be a valid expression that complies with the selector syntax.

size
integer <int32>
Default: 40
Example: size=100

The maximum number of destinations to return in the response. A default value is used if this parameter is not provided.

sortBy
string
Default: "Published"
Enum: "Name" "Published" "Delivered" "Stored" "Pending" "Delayed" "Expired"
Example: sortBy=Published

The attribute by which the list of destinations should be sorted before returning. Possible values include Name, Published, Delivered, Stored, Pending, Delayed, and Expired.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Retrieve detailed information about a destination

Fetch detailed information for a specific destination identified by its name. Authentication is required if the server configuration mandates it. Cached results are returned if available to enhance performance.

Authorizations:
basicAuthauthScheme
query Parameters
destinationName
required
string
Example: destinationName=destination-01

The name of the destination for which details are requested

Responses

Response samples

Content type
application/json
{
  • "destination": {
    },
  • "subscriptionList": [
    ]
}

Messaging Interface

Offers APIs for sending and receiving messages, enabling communication between clients and the server. Supports various messaging protocols and real-time event handling.

Abort the message

Abort the message specifed by the id and the destination name

Authorizations:
basicAuthauthScheme
Request Body schema: application/json
destinationName
string
eventIds
Array of integers <int64> [ items <int64 > ]

Responses

Request samples

Content type
application/json
{
  • "destinationName": "string",
  • "eventIds": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "string"
}

Commit the message

Commit the message specifed by the id and the destination name

Authorizations:
basicAuthauthScheme
Request Body schema: application/json
destinationName
string
eventIds
Array of integers <int64> [ items <int64 > ]

Responses

Request samples

Content type
application/json
{
  • "destinationName": "string",
  • "eventIds": [
    ]
}

Response samples

Content type
application/json
{
  • "status": "string"
}

Get messages

Retrieves messages for a specified subscription

Authorizations:
basicAuthauthScheme
Request Body schema: application/json
destination
string (Destination name)

Optional, if supplied gets any messages outstanding for this destination, else all messages pending delivery

depth
integer <int32> (Depth)
Default: 10

The max number of events that should be returned

Responses

Request samples

Content type
application/json
{
  • "destination": "topicName",
  • "depth": 60
}

Response samples

Content type
application/json
{
  • "consumedMessages": [
    ]
}

Get message depth

Get the depth of the queue for a specified subscription

Authorizations:
basicAuthauthScheme
Request Body schema: application/json
destination
string (Destination name)

Optional, if supplied gets any messages outstanding for this destination, else all messages pending delivery

depth
integer <int32> (Depth)
Default: 10

The max number of events that should be returned

Responses

Request samples

Content type
application/json
{
  • "destination": "topicName",
  • "depth": 60
}

Response samples

Content type
application/json
{
  • "subscriptionDepths": [
    ]
}

Publish a message

Publishes a message to a specified topic

Authorizations:
basicAuthauthScheme
Request Body schema: application/json
destinationName
required
string (Destination Topic)

The topic to which the message will be published. This should be a valid topic name recognized by the messaging system.

required
object (Message)

Represents a messaging entity with configurable quality, priority, and metadata attributes.

retain
boolean (Retain Message)
Default: false

Indicates if the message should be retained on the destination. If true, the message will be stored and sent to new subscribers on the topic.

Responses

Request samples

Content type
application/json
{
  • "destinationName": "sensor/data",
  • "message": {
    },
  • "retain": false
}

Response samples

Content type
application/json
{
  • "status": "string"
}

Expose AsyncMessageDTO in OpenAPI

Delivers messages via Server Side Events, supports MQTT wild card plus JMS style filtering

Authorizations:
basicAuthauthScheme
query Parameters
destinationName
required
string (Destination Name)
Example: destinationName=sensor/data or /sensor/#

The name of the destination (e.g., topic or queue) to which the subscription is bound.Supports MQTT style wild card subscription

namedSubscription
string or null (Named Subscription)
Example: namedSubscription=temperatureAlerts

An optional name for a named subscription, allowing clients to re-use existing subscriptions if provided.

filter
string or null (Filter Expression)
Example: filter=temperature > 25

An optional filter expression written in JMS selector syntax to filter messages received by the subscription.

maxDepth
integer or null <int32> (Maximum Queue Depth)
Default: 1
Example: maxDepth=10

The maximum number of messages that can be queued for the subscription before new messages are dropped.

retainMessage
boolean or null (Retain Message)
Default: false
Example: retainMessage=false

Indicates if messages should be retained on the destination for this subscription, meaning they will be stored and made available to future subscribers.

Responses

Response samples

Content type
application/json
{
  • "identifier": 0,
  • "payload": "VGhpcyBpcyBhIGV4YW1wbGUgZGF0YS4=",
  • "contentType": "application/json",
  • "correlationData": "WzEsMiwzLDRd",
  • "expiry": 60000,
  • "priority": 4,
  • "qualityOfService": 1,
  • "creation": "2019-08-24T14:15:22Z",
  • "dataMap": {
    },
  • "metaData": {
    },
  • "destinationName": "/folder/topic"
}

Subscribe to a topic

Subscribes to a specified topic

Authorizations:
basicAuthauthScheme
Request Body schema: application/json
destinationName
required
string (Destination Name)

The name of the destination (e.g., topic or queue) to which the subscription is bound.Supports MQTT style wild card subscription

namedSubscription
string or null (Named Subscription)

An optional name for a named subscription, allowing clients to re-use existing subscriptions if provided.

filter
string or null (Filter Expression)

An optional filter expression written in JMS selector syntax to filter messages received by the subscription.

maxDepth
integer or null <int32> (Maximum Queue Depth)
Default: 1

The maximum number of messages that can be queued for the subscription before new messages are dropped.

transactional
boolean (Transactional subscription)
Default: false

Flag to indicate the subscription is transactional

retainMessage
boolean or null (Retain Message)
Default: false

Indicates if messages should be retained on the destination for this subscription, meaning they will be stored and made available to future subscribers.

Responses

Request samples

Content type
application/json
{
  • "destinationName": "sensor/data or /sensor/# ",
  • "namedSubscription": "temperatureAlerts",
  • "filter": "temperature > 25",
  • "maxDepth": 10,
  • "transactional": true,
  • "retainMessage": false
}

Response samples

Content type
application/json
{
  • "status": "string"
}

Unsubscribe from a topic

Unsubscribes from a specified topic

Authorizations:
basicAuthauthScheme
Request Body schema: application/json
destinationName
required
string (Destination Name)

The name of the destination (e.g., topic or queue) to which the subscription is bound.Supports MQTT style wild card subscription

namedSubscription
string or null (Named Subscription)

An optional name for a named subscription, allowing clients to re-use existing subscriptions if provided.

filter
string or null (Filter Expression)

An optional filter expression written in JMS selector syntax to filter messages received by the subscription.

maxDepth
integer or null <int32> (Maximum Queue Depth)
Default: 1

The maximum number of messages that can be queued for the subscription before new messages are dropped.

transactional
boolean (Transactional subscription)
Default: false

Flag to indicate the subscription is transactional

retainMessage
boolean or null (Retain Message)
Default: false

Indicates if messages should be retained on the destination for this subscription, meaning they will be stored and made available to future subscribers.

Responses

Request samples

Content type
application/json
{
  • "destinationName": "sensor/data or /sensor/# ",
  • "namedSubscription": "temperatureAlerts",
  • "filter": "temperature > 25",
  • "maxDepth": 10,
  • "transactional": true,
  • "retainMessage": false
}

Response samples

Content type
application/json
{
  • "status": "string"
}

Server Health

Includes endpoints for monitoring the server's health and operational status, providing simple and detailed responses for status checks and diagnostics.

Check server health

Checks the health of all subsystems and returns their overall status. Possible values are 'Ok', 'Warning', or 'Error'.

Authorizations:
basicAuthauthScheme

Responses

Check for configuration updates

Provides information about any changes in the server's configuration update counts.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "schemaUpdate": 0,
  • "destinationUpdate": 0,
  • "interfaceUpdate": 0
}

Retrieve the server's unique name

Returns the unique identifier of the server instance.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Ping the server

A simple endpoint to verify that the server is operational and responsive.

Authorizations:
basicAuthauthScheme

Responses

User login

Allows a user to log in and obtain an authentication token. This endpoint does not require authentication and overrides global security settings.

Authorizations:
basicAuthauthScheme
query Parameters
sessionId
string
persistent
boolean

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "username": "string",
  • "accessMap": {
    },
  • "uniqueId": "a1e12d74-d756-40d1-9bb3-519def353f44"
}

User logout

Logs out the currently authenticated user by invalidating their session.

Authorizations:
basicAuthauthScheme

Responses

Server Interface Management

Manages the server's network interfaces, including configuration, monitoring, and troubleshooting of connections to ensure optimal performance and reliability.

Get end point configurations

Get the end point configuration specifed by the name. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
endpoint
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "myInterface",
  • "port": 8080,
  • "host": "http://localhost",
  • "state": "Started",
  • "config": {
    }
}

Update end point configuration

Update the configuration supplied for the named endpoint.

Authorizations:
basicAuthauthScheme
path Parameters
endpoint
required
string
Request Body schema: */*
name
string

Name of the endpoint server

url
string

URL for the endpoint server

object (EndPointConfigDTO)

Abstract base class for all schema configurations

object (SASL Configuration DTO)

Represents the configuration for SASL authentication used for REST communication.

Array of objects (ProtocolConfigDTO)

List of protocol configurations for the endpoint

authenticationRealm
string

Authentication realm

backlog
integer <int32>

Backlog for the endpoint server

selectorTaskWait
integer <int32>

Selector task wait time

protocols
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Get end point connections

Get current connections on this endpoint. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
endpoint
required
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get end point status

Get the current status and metrics for the specified end point.

Authorizations:
basicAuthauthScheme
path Parameters
endpoint
required
string

Responses

Response samples

Content type
application/json
{
  • "interfaceName": "myInterface",
  • "totalBytesSent": 1024000,
  • "totalBytesReceived": 2048000,
  • "totalMessagesSent": 500,
  • "totalMessagesReceived": 480,
  • "bytesSent": 1000,
  • "bytesReceived": 2000,
  • "messagesSent": 5,
  • "messagesReceived": 4,
  • "connections": 10,
  • "errors": 3,
  • "statistics": {
    }
}

Pause the end point

Pauses the specified end point from accepting new connections.

Authorizations:
basicAuthauthScheme
path Parameters
endpoint
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Resume the end point

Resume the specified end point accepting new connections.

Authorizations:
basicAuthauthScheme
path Parameters
endpoint
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Start the end point

Starts the specified end point accepting new connections.

Authorizations:
basicAuthauthScheme
path Parameters
endpoint
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Stop the end point

Stops the specified end point from accepting new connections and closes connections.

Authorizations:
basicAuthauthScheme
path Parameters
endpoint
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Get all end point status

Get all end point statuses and metrics, fitlered with the optional filter.

Authorizations:
basicAuthauthScheme
query Parameters
filter
string
Example: filter=state = 'started'

Optional filter string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get all end point details

get all end point configuration details, filtered with the optional filter.

Authorizations:
basicAuthauthScheme
query Parameters
filter
string
Example: filter=state = 'started'

Optional filter string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Pause all end points

Pauses all running endpoints and stops new incoming connections.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Resume all end points

Resumes all paused endpoints and allows new incoming connections.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Start all end points

Starts all stopped endpoints.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Stop all end points

Stops all running endpoints.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Schema Management

Provides functionality to configure, manage, and query schemas used by the server, enabling seamless integration with structured data formats and validation mechanisms.

Get all schemas

Retrieves all schema configurations, optionally filtered by a query string.

Authorizations:
basicAuthauthScheme
query Parameters
filter
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Add new schema

Adds a new schema configuration to the system.

Authorizations:
basicAuthauthScheme
Request Body schema: application/json
schema
string (Schema)

A JSON-encoded string representing the schema object to be posted.

context
string (Context)

The name or context of the schema, identifying the scope or purpose for which it is used.

Responses

Request samples

Content type
application/json
{
  • "schema": "{\"type\":\"record\",\"name\":\"User\",\"fields\":[{\"name\":\"id\",\"type\":\"string\"}]}",
  • "context": "UserProfile"
}

Response samples

Content type
application/json
{
  • "status": "string"
}

Delete all schemas

Deletes all schemas, optionally filtered by a query string.

Authorizations:
basicAuthauthScheme
query Parameters
filter
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Get specific schema

Retrieves the details of a specific schema by its unique ID.

Authorizations:
basicAuthauthScheme
path Parameters
schemaId
required
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Delete specific schema

Deletes a schema configuration by its unique ID.

Authorizations:
basicAuthauthScheme
path Parameters
schemaId
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Get supported formats

Retrieves a list of all known schema formats supported by the system.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get link-format configuration

Retrieves the link-format configuration list.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
"string"

Get schemas by context

Retrieves all schemas that match the specified context.

Authorizations:
basicAuthauthScheme
path Parameters
context
required
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get schemas by type

Retrieves all schemas that match the specified type.

Authorizations:
basicAuthauthScheme
path Parameters
type
required
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get schema mappings

Retrieves all schemas and their associated mapping information.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Server Management

Includes operations for monitoring and managing the server's status, configurations, and performance metrics to ensure smooth and efficient operation.

Get server build information

Retrieves detailed information about the server build, such as version and configuration details. Uses caching for improved performance.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "serverName": "maps-server",
  • "version": "3.3.7",
  • "buildDate": "2024-10-13",
  • "totalMemory": 536870912,
  • "maxMemory": 1073741824,
  • "freeMemory": 268435456,
  • "numberOfThreads": 120,
  • "timeToCreateNano": 1000000,
  • "uptime": 123456789,
  • "connections": 150,
  • "destinations": 30,
  • "cpuTime": 1234567890,
  • "cpuPercent": 12.5,
  • "storageSize": 104857600,
  • "threadState": {
    }
}

Get server subsystem status summary

Returns a simple summary of the server status.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string",
  • "issueCount": 0
}

Get server subsystem status

Retrieves the current status of all server subsystems, including their operational state (e.g., OK, Warning, or Error). Uses caching for improved performance.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "list": [
    ]
}

Get server statistics

Retrieves server usage statistics, including metrics such as CPU usage, memory usage, and active connections. Uses caching for improved performance.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Restart the server

Restarts the server gracefully, preserving any necessary state before the restart operation begins.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Shut down the server

Shuts down the server gracefully. Any necessary cleanup or state preservation is performed before shutting down.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Server Integration Management

Manages the server's integrations with other messaging brokers, enabling interoperability and seamless data exchange across distributed systems.

Get all inter-server connections

Retrieves a list of all inter-server configurations. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
query Parameters
filter
string
Example: filter=state = PAUSED

Optional filter string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "globalConfig": {
    }
}

Get integration by name

Retrieves the configuration on the inter-server integration connection. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "config": {
    },
  • "state": "string"
}

Get integration status by name

Retrieves the current status on the inter-server integration connection. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "adapter": "string",
  • "name": "string",
  • "user": "string",
  • "protocolName": "string",
  • "protocolVersion": "string",
  • "connectedTimeMs": 0,
  • "lastRead": 0,
  • "lastWrite": 0,
  • "totalBytesRead": 0,
  • "totalBytesWritten": 0,
  • "totalOverflow": 0,
  • "totalUnderflow": 0,
  • "bytesRead": 0,
  • "bytesWritten": 0,
  • "overFlow": 0,
  • "underFlow": 0
}

Pause all inter-server connections

Pauses all currently running inter-server connections. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Pause integration by name

Pauses the inter-server connection specified by the name, if started else nothing changes. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Resume all inter-server connections

Resumes all currently paused inter-server connections. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Resume integration by name

Resumes the inter-server connection specified by the name, if paused else nothing changes. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Start all inter-server connections

Starts all currently stopped inter-server connections. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Start integration by name

Starts the inter-server connection specified by the name, if stopped else nothing changes. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Stop all inter-server connections

Stops all currently running inter-server connections. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Stop integration by name

Stops the inter-server connection specified by the name, if started else nothing changes. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Server Integration Status

Retrieves the current status of the server to server integration.

Get all inter-server status

Retrieve all current statuses for the inter-server. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
query Parameters
filter
string
Example: filter=state = PAUSED

Optional filter string

Responses

Response samples

Content type
application/json
{
  • "list": [
    ]
}

Get inter-server status

Retrieve the current status for the inter-server specified by name. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
path Parameters
endpoint
required
string

Responses

Response samples

Content type
application/json
{
  • "interfaceName": "myInterface",
  • "bytesSent": 123456,
  • "bytesReceived": 654321,
  • "messagesSent": 100,
  • "messagesReceived": 95,
  • "errors": 2,
  • "lastReadTime": 1625812345678,
  • "lastWriteTime": 1625812345678,
  • "state": "active",
  • "statistics": "{\"averageRead\": {\"name\": \"averageRead\", \"unitName\": \"bytes\", \"current\": 50, ...}}"
}

Connection Management

Handles client connections to the server, offering endpoints for monitoring, managing, and troubleshooting active connections and session details.

Close a connection

Requests the connection specified be closed. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
query Parameters
connectionId
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Get all connections

Retrieve a list of all current connections to the server, can be filtered with the optional filter string. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
query Parameters
filter
string
Example: filter=totalOverflow > 10 OR totalUnderflow > 5

Optional filter string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Get connection details for the specified id

Retrieve the details of the specified connection id. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
query Parameters
connectionId
string

Responses

Response samples

Content type
application/json
{
  • "endPointSummary": {
    },
  • "protocolInformation": {
    }
}

Discovery Management

Provides mechanisms for managing the server's discovery agents, allowing automated detection and configuration of network services and resources.

Get the discovery agents configuration

Retrieves the configuration used to the discovery agent. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "enabled": false,
  • "hostnames": "::",
  • "addTxtRecords": true,
  • "domainName": ".local"
}

Update the discovery agents configuration

Updates the configuration used to control the discovery agent. Requires authentication if enabled in the configuration.

Authorizations:
basicAuth
Request Body schema: application/json
enabled
boolean

Indicates if the discovery manager is enabled

hostnames
string

Hostnames for discovery

addTxtRecords
boolean

Whether to add TXT records

domainName
string

Domain name for discovery

Responses

Request samples

Content type
application/json
{
  • "enabled": false,
  • "hostnames": "::",
  • "addTxtRecords": true,
  • "domainName": ".local"
}

Response samples

Content type
application/json
{
  • "status": "string"
}

Get discovered servers

Retrieve a list of all currently discovered servers, can be filtered with the optional filter. Requires authentication if enabled in the configuration.

Authorizations:
basicAuth
query Parameters
filter
string
Example: filter=schemaSupport = TRUE OR systemTopicPrefix IS NOT NULL

Optional filter string

Responses

Response samples

Content type
application/json
{
  • "list": [
    ]
}

Start Discovery agent

Starts the mDNS discovery sub-system. Requires authentication if enabled in the configuration.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Stop Discovery daemon

Stops the mDNS discovery sub-system. Requires authentication if enabled in the configuration.

Authorizations:
basicAuth

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Hardware Management

Enables the management of hardware devices integrated with the server, including configuration, monitoring, and diagnostics for seamless hardware-software interaction.

Get hardware configuration

Retrieve the configuration for the hardware sub-system. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "enabled": false,
  • "triggers": [
    ],
  • "i2cBuses": [
    ],
  • "spiBus": {
    },
  • "oneWireBus": {
    }
}

Update hardware configuration

Update the configuration for the hardware sub-system. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme
Request Body schema: */*
enabled
boolean

Indicates if the device manager is enabled

Array of objects (BaseTriggerConfigDTO)

List of trigger configurations

Array of objects (I2CBusConfigDTO)

List of I2C bus configurations

object (SpiDeviceBusConfigDTO)

SPI Device Bus Configuration DTO

object (OneWireBusConfigDTO)

OneWire Bus Configuration DTO

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Get known devices

Retreive a list of all detected devices currently online. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "list": [
    ]
}

Scan for new hardware

Requests a scan to detect new hardware on I2C bus or configured devices. Requires authentication if enabled in the configuration.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "list": [
    ]
}

LoRa Device Management

Offers APIs for managing LoRa devices, including adding, updating, retrieving configurations, monitoring device statistics, and managing endpoint connections.

Retrieve all LoRa devices

Fetches a list of all LoRa devices along with their configurations and statistics.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Retrieve a specific LoRa device

Fetches the details of a specific LoRa device identified by its name.

Authorizations:
basicAuthauthScheme
path Parameters
deviceName
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "LoRaDevice_01",
  • "radio": "SX1276",
  • "bytesSent": 1048576,
  • "bytesReceived": 2048000,
  • "packetsSent": 500,
  • "packetsReceived": 480,
  • "endPointInfoList": [
    ]
}

Retrieve endpoint connections for a LoRa device

Fetches the connection information for a specific endpoint of a LoRa device, identified by the device name and node ID.

Authorizations:
basicAuthauthScheme
path Parameters
deviceName
required
string
nodeId
required
string

Responses

Response samples

Content type
application/json
{
  • "list": [
    ]
}

Retrieve all LoRa device configurations

Fetches a list of all configured LoRa devices and their settings.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Add a new LoRa device configuration

Creates a new LoRa device configuration and adds it to the system.

Authorizations:
basicAuthauthScheme
Request Body schema: application/json
name
string (Device Name)

The name of the LoRa device.

radio
string (Radio Type)

Type of radio module used by the LoRa device.

cs
integer <int32> (Chip Select Pin) >= 0

The chip select pin number for the LoRa device.

irq
integer <int32> (Interrupt Request Pin) >= 0

The interrupt request (IRQ) pin number for the LoRa device.

rst
integer <int32> (Reset Pin) >= 0

The reset pin number for the LoRa device.

power
integer <int32> (Power Level) [ 0 .. 20 ]

The transmission power level setting for the LoRa device.

cadTimeout
integer <int32> (CAD Timeout) >= 0

The Channel Activity Detection (CAD) timeout in milliseconds.

frequency
number <float> (Frequency) >= 0

The operating frequency for the LoRa device in MHz.

Responses

Request samples

Content type
application/json
{
  • "name": "LoRa_Radio_01",
  • "radio": "rfm95",
  • "cs": 10,
  • "irq": 2,
  • "rst": 4,
  • "power": 14,
  • "cadTimeout": 100,
  • "frequency": 915
}

Response samples

Content type
application/json
{ }

Retrieve a specific LoRa device configuration

Fetches the configuration for a specific LoRa device identified by its name.

Authorizations:
basicAuthauthScheme
path Parameters
deviceName
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "LoRa_Radio_01",
  • "radio": "rfm95",
  • "cs": 10,
  • "irq": 2,
  • "rst": 4,
  • "power": 14,
  • "cadTimeout": 100,
  • "frequency": 915
}

Delete a specific LoRa device configuration

Removes a LoRa device configuration identified by its unique ID.

Authorizations:
basicAuthauthScheme
path Parameters
deviceName
required
string

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

Logging Monitor

Offers simple API to retrieve server logs or to stream server logs via SSE

Get last stored log entries

Retrieve the last configured number of log entries from the server

Authorizations:
basicAuthauthScheme
query Parameters
filter
string

Responses

Response samples

Content type
application/json
{
  • "logEntries": [
    ]
}

Stream live log entries

Subscribe to dynamic log events using Server-Sent Events

Authorizations:
basicAuthauthScheme
query Parameters
filter
string

Responses

Server Config Management

Retrieve cache information

Fetches detailed information about the server's central cache, including size, usage statistics, and entries.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "lifeTime": 0,
  • "scanTime": 0,
  • "cacheSize": 0,
  • "cacheHits": 0,
  • "cacheMisses": 0
}

Clear cache

Clears all entries in the server's central cache to free up memory and ensure data consistency.

Authorizations:
basicAuthauthScheme

Responses

Retrieve server configuration

Fetches the current server configuration settings as a JSON object. Uses caching for improved performance.

Authorizations:
basicAuthauthScheme

Responses

Response samples

Content type
application/json
{
  • "delayedPublishInterval": 1000,
  • "sessionPipeLines": 48,
  • "transactionExpiry": 3600000,
  • "transactionScan": 5000,
  • "compressionName": "None",
  • "compressMessageMinSize": 1024,
  • "enableResourceStatistics": false,
  • "enableSystemTopics": true,
  • "enableSystemStatusTopics": true,
  • "enableSystemTopicAverages": false,
  • "enableJMX": false,
  • "enableJMXStatistics": false,
  • "tagMetaData": false,
  • "latitude": 0,
  • "longitude": 0
}

Update server configuration

Updates the server configuration with the provided settings. Saves changes to disk and clears relevant cache entries to ensure consistency.

Authorizations:
basicAuthauthScheme
Request Body schema: */*
delayedPublishInterval
integer <int32>

Interval for delayed publish in milliseconds

sessionPipeLines
integer <int32>

Number of session pipelines

transactionExpiry
integer <int64>

Transaction expiry in milliseconds

transactionScan
integer <int64>

Transaction scan interval in milliseconds

compressionName
string
Enum: "inflator" "none"

Compression algorithm name

compressMessageMinSize
integer <int32>

Minimum size for message compression

enableResourceStatistics
boolean

Enable resource statistics

enableSystemTopics
boolean

Enable system topics

enableSystemStatusTopics
boolean

Enable system status topics

enableSystemTopicAverages
boolean

Enable system topic averages

enableJMX
boolean

Enable JMX monitoring

enableJMXStatistics
boolean

Enable JMX statistics

tagMetaData
boolean

Tag metadata for messages

latitude
number <double>

Latitude for the daemon location

longitude
number <double>

Longitude for the daemon location

Responses

Response samples

Content type
application/json
{
  • "status": "string"
}

getExternalGrammar

Authorizations:
basicAuthauthScheme
path Parameters
path
required
string

Responses

getWadl

Authorizations:
basicAuthauthScheme

Responses