Appearance
Rule Chains Module
Overview
Swagger-driven developer documentation for rule chain endpoints and contracts.
Key APIs
| Method | Path | Summary |
|---|---|---|
| GET | /api/rule-chains | List rule chains |
| POST | /api/rule-chains | Create rule chain |
| DELETE | /api/rule-chains/{id} | Delete rule chain |
| GET | /api/rule-chains/{id} | Get rule chain details |
| PATCH | /api/rule-chains/{id} | Update rule chain |
| POST | /api/rule-chains/{id}/pause | Pause rule chain |
| POST | /api/rule-chains/{id}/start | Start rule chain |
| POST | /api/rule-chains/preview | Preview rule chain |
Frontend Usage Flow
- Frontend list pages call collection
GETendpoints to load tables or summary views. - Detail pages call parameterized
GETendpoints to load a single resource before rendering tabs, forms, or detail sections. - Create forms submit payloads to
POSTendpoints and then refresh the list or navigate to the created resource. - Edit flows load existing values, submit to
PUTorPATCHendpoints, and then refresh the visible state. - Delete actions call
DELETEendpoints and then refresh collection state.
GET /api/rule-chains
Summary: List rule chains
Operation ID: RuleChainsController_list
Tags: Rule Chains
Security:
bearer
Responses
200
Rule chains returned successfully
Content-Type: application/json
Schema:
json
{
"type": "array",
"items": {
"$ref": "#/components/schemas/RuleChainResponseDto"
}
}Example:
json
[
{
"id": "rule-chain-123",
"name": "Boiler Data Generator",
"description": "Generates synthetic telemetry for testing",
"type": "data_generator",
"enabled": true,
"status": "draft",
"config": {
"intervalSeconds": 5,
"metrics": [
{
"key": "temperature",
"min": 20,
"max": 90
}
]
},
"tenantId": "tenant-123",
"createdAt": "2026-04-07T10:00:00.000Z",
"updatedAt": "2026-04-07T10:30:00.000Z"
}
]401
Unauthorized
No response body.
Notes / Constraints
- Swagger declares security requirements for this operation.
POST /api/rule-chains
Summary: Create rule chain
Operation ID: RuleChainsController_create
Tags: Rule Chains
Security:
bearer
Request
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"name",
"type",
"enabled",
"status",
"config"
],
"properties": {
"name": {
"type": "string",
"description": "Rule chain display name"
},
"description": {
"type": "string",
"description": "Optional description"
},
"type": {
"type": "string",
"enum": [
"data_generator"
]
},
"enabled": {
"type": "boolean",
"description": "Whether the rule chain is enabled"
},
"status": {
"type": "string",
"enum": [
"draft",
"active",
"paused"
]
},
"config": {
"type": "object",
"description": "Rule chain configuration payload"
}
}
}Example:
json
{
"name": "Boiler Data Generator",
"description": "Generates synthetic telemetry for boiler testing",
"type": "data_generator",
"enabled": true,
"status": "draft",
"config": {
"intervalSeconds": 5,
"metrics": [
{
"key": "temperature",
"min": 20,
"max": 90
},
{
"key": "pressure",
"min": 1,
"max": 5
}
]
}
}Responses
201
Rule chain created successfully
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"data_generator"
]
},
"enabled": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"draft",
"active",
"paused"
]
},
"config": {
"type": "object"
},
"tenantId": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
}Example:
json
{
"id": "rule-chain-123",
"name": "Boiler Data Generator",
"description": "Generates synthetic telemetry for testing",
"type": "data_generator",
"enabled": true,
"status": "draft",
"config": {
"intervalSeconds": 5,
"metrics": [
{
"key": "temperature",
"min": 20,
"max": 90
}
]
},
"tenantId": "tenant-123",
"createdAt": "2026-04-07T10:00:00.000Z",
"updatedAt": "2026-04-07T10:30:00.000Z"
}401
Unauthorized
No response body.
Notes / Constraints
- Supported request content types:
application/json. - Swagger declares security requirements for this operation.
DELETE /api/rule-chains/{id}
Summary: Delete rule chain
Operation ID: RuleChainsController_delete
Tags: Rule Chains
Security:
bearer
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | yes | string | Rule chain identifier |
Responses
200
Rule chain deleted successfully
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"success"
],
"properties": {
"success": {
"type": "boolean"
}
}
}Example:
json
{
"success": true
}401
Unauthorized
No response body.
Notes / Constraints
- This endpoint depends on one or more path parameters.
- Swagger declares security requirements for this operation.
GET /api/rule-chains/{id}
Summary: Get rule chain details
Operation ID: RuleChainsController_getOne
Tags: Rule Chains
Security:
bearer
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | yes | string | Rule chain identifier |
Responses
200
Rule chain returned successfully
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"data_generator"
]
},
"enabled": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"draft",
"active",
"paused"
]
},
"config": {
"type": "object"
},
"tenantId": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
}Example:
json
{
"id": "rule-chain-123",
"name": "Boiler Data Generator",
"description": "Generates synthetic telemetry for testing",
"type": "data_generator",
"enabled": true,
"status": "draft",
"config": {
"intervalSeconds": 5,
"metrics": [
{
"key": "temperature",
"min": 20,
"max": 90
}
]
},
"tenantId": "tenant-123",
"createdAt": "2026-04-07T10:00:00.000Z",
"updatedAt": "2026-04-07T10:30:00.000Z"
}401
Unauthorized
No response body.
Notes / Constraints
- This endpoint depends on one or more path parameters.
- Swagger declares security requirements for this operation.
PATCH /api/rule-chains/{id}
Summary: Update rule chain
Operation ID: RuleChainsController_update
Tags: Rule Chains
Security:
bearer
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | yes | string | Rule chain identifier |
Request
Content-Type: application/json
Schema:
json
{
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"draft",
"active",
"paused"
]
},
"config": {
"type": "object"
}
}
}Example:
json
{
"name": "Boiler Data Generator Updated",
"description": "Updated description",
"enabled": false,
"status": "active",
"config": {
"intervalSeconds": 10,
"metrics": [
{
"key": "temperature",
"min": 25,
"max": 80
}
]
}
}Responses
200
Rule chain updated successfully
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"data_generator"
]
},
"enabled": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"draft",
"active",
"paused"
]
},
"config": {
"type": "object"
},
"tenantId": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
}Example:
json
{
"id": "rule-chain-123",
"name": "Boiler Data Generator",
"description": "Generates synthetic telemetry for testing",
"type": "data_generator",
"enabled": true,
"status": "draft",
"config": {
"intervalSeconds": 5,
"metrics": [
{
"key": "temperature",
"min": 20,
"max": 90
}
]
},
"tenantId": "tenant-123",
"createdAt": "2026-04-07T10:00:00.000Z",
"updatedAt": "2026-04-07T10:30:00.000Z"
}401
Unauthorized
No response body.
Notes / Constraints
- This endpoint depends on one or more path parameters.
- Supported request content types:
application/json. - Swagger declares security requirements for this operation.
POST /api/rule-chains/{id}/pause
Summary: Pause rule chain
Operation ID: RuleChainsController_pause
Tags: Rule Chains
Security:
bearer
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | yes | string | Rule chain identifier |
Responses
200
Rule chain paused successfully
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"data_generator"
]
},
"enabled": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"draft",
"active",
"paused"
]
},
"config": {
"type": "object"
},
"tenantId": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
}Example:
json
{
"id": "rule-chain-123",
"name": "Boiler Data Generator",
"description": "Generates synthetic telemetry for testing",
"type": "data_generator",
"enabled": true,
"status": "draft",
"config": {
"intervalSeconds": 5,
"metrics": [
{
"key": "temperature",
"min": 20,
"max": 90
}
]
},
"tenantId": "tenant-123",
"createdAt": "2026-04-07T10:00:00.000Z",
"updatedAt": "2026-04-07T10:30:00.000Z"
}401
Unauthorized
No response body.
Notes / Constraints
- This endpoint depends on one or more path parameters.
- Swagger declares security requirements for this operation.
POST /api/rule-chains/{id}/start
Summary: Start rule chain
Operation ID: RuleChainsController_start
Tags: Rule Chains
Security:
bearer
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| id | path | yes | string | Rule chain identifier |
Responses
200
Rule chain started successfully
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"data_generator"
]
},
"enabled": {
"type": "boolean"
},
"status": {
"type": "string",
"enum": [
"draft",
"active",
"paused"
]
},
"config": {
"type": "object"
},
"tenantId": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
}
}Example:
json
{
"id": "rule-chain-123",
"name": "Boiler Data Generator",
"description": "Generates synthetic telemetry for testing",
"type": "data_generator",
"enabled": true,
"status": "draft",
"config": {
"intervalSeconds": 5,
"metrics": [
{
"key": "temperature",
"min": 20,
"max": 90
}
]
},
"tenantId": "tenant-123",
"createdAt": "2026-04-07T10:00:00.000Z",
"updatedAt": "2026-04-07T10:30:00.000Z"
}401
Unauthorized
No response body.
Notes / Constraints
- This endpoint depends on one or more path parameters.
- Swagger declares security requirements for this operation.
POST /api/rule-chains/preview
Summary: Preview rule chain
Operation ID: RuleChainsController_preview
Tags: Rule Chains
Security:
bearer
Request
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"config"
],
"properties": {
"config": {
"type": "object",
"description": "Rule chain configuration to preview"
}
}
}Example:
json
{
"config": {
"intervalSeconds": 5,
"metrics": [
{
"key": "temperature",
"min": 20,
"max": 90
}
]
}
}Responses
200
Rule chain preview generated successfully
Content-Type: application/json
Schema:
json
{
"type": "object",
"properties": {
"success": {
"type": "boolean"
},
"result": {
"type": "object"
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"errors": {
"type": "array",
"items": {
"type": "string"
}
}
}
}Example:
json
{
"success": true,
"result": {
"sampleTelemetry": {
"temperature": 56.2
}
},
"warnings": [],
"errors": []
}401
Unauthorized
No response body.
Notes / Constraints
- Supported request content types:
application/json. - Swagger declares security requirements for this operation.
Module Notes / Constraints
- Generated from OpenAPI version metadata:
1.0. - 8 operation(s) in this module declare explicit Swagger security requirements.
- HTTP methods present in this module: GET, POST, DELETE, PATCH.
- This file is generated from Swagger/OpenAPI and should be regenerated when controller, DTO, or Swagger decorator changes affect the spec.
