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 values0,1,2. Default:0.assemblyPolicy: optional. Omit it to use all assembly defaults.assemblyPolicy.queueLimit: default100.assemblyPolicy.timeoutSeconds: default5.assemblyPolicy.onTimeout: finite valuesPublishPartial,DropPartial. Default:PublishPartial.bindings[].deviceId: required. Source device identifier (metadata; the enriched subject is keyed ondataStreamId).bindings[].dataStreamId: required. Unique data stream identifier (GUID). Example:e033b4b3-36e0-4dbc-a6e4-1e77185402f4.bindings[].sourceFieldName: defaultvalueObject.bindings[].targetJsonPath: rooted JSON path, for example$.cpuTemp.bindings[].dataType: optional runtime type hint. Omit to use the source payloadvalueType. 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 valuestrue,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
- 201
- 400
- 401
- 403
- 404
- 409
Created
Invalid bridge payload or validation error.
Authentication is missing or invalid.
The caller lacks the required role for this operation.
Referenced MQTT broker configuration was not found.
Bridge name, binding, or output schema conflicts with an existing bridge.