Skip to main content

Create bridge

POST 

/api/v1/orgs/{orgId}/data-bridges

Create a bridge that subscribes to configured NATS bindings and publishes assembled JSON payloads to MQTT.

Request body fields:

  • mqtt.mqttBrokerConfigId: existing MQTT broker configuration id.
  • mqtt.outputTopic: MQTT publish topic.
  • mqtt.qos: finite values 0, 1, 2. Default: 0.
  • assemblyPolicy: optional. Omit it to use all assembly defaults.
  • assemblyPolicy.queueLimit: default 100.
  • assemblyPolicy.timeoutSeconds: default 5.
  • assemblyPolicy.onTimeout: finite values PublishPartial, DropPartial. Default: PublishPartial.
  • bindings[].deviceId: required. Source device identifier (metadata; the enriched subject is keyed on dataStreamId).
  • bindings[].dataStreamId: required. Unique data stream identifier (GUID). Example: e033b4b3-36e0-4dbc-a6e4-1e77185402f4.
  • bindings[].sourceFieldName: default valueObject.
  • bindings[].targetJsonPath: rooted JSON path, for example $.cpuTemp.
  • bindings[].dataType: optional runtime type hint. Omit to use the source payload valueType. Supported values (case-insensitive): number, double, float, decimal, integer, int, long, boolean, bool, datetime, string. Unrecognized values keep the original JSON value.
  • bindings[].requiredForAssembly: finite values true, false. Default: false.

Simple request example:

{
"name": "bridge simple",
"mqtt": {
"mqttBrokerConfigId": "{{mqttConfigId}}",
"outputTopic": "factory/site1/cpu"
},
"bindings": [
{
"deviceId": "{{deviceId}}",
"dataStreamId": "e033b4b3-36e0-4dbc-a6e4-1e77185402f4",
"targetJsonPath": "$.cpuTemp"
}
]
}

Request

Responses

Created