Skip to content

Rule Chains Module

Overview

Swagger-driven developer documentation for rule chain endpoints and contracts.

Key APIs

MethodPathSummary
GET/api/rule-chainsList rule chains
POST/api/rule-chainsCreate 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}/pausePause rule chain
POST/api/rule-chains/{id}/startStart rule chain
POST/api/rule-chains/previewPreview rule chain

Frontend Usage Flow

  • Frontend list pages call collection GET endpoints to load tables or summary views.
  • Detail pages call parameterized GET endpoints to load a single resource before rendering tabs, forms, or detail sections.
  • Create forms submit payloads to POST endpoints and then refresh the list or navigate to the created resource.
  • Edit flows load existing values, submit to PUT or PATCH endpoints, and then refresh the visible state.
  • Delete actions call DELETE endpoints 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

NameInRequiredTypeDescription
idpathyesstringRule 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

NameInRequiredTypeDescription
idpathyesstringRule 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

NameInRequiredTypeDescription
idpathyesstringRule 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

NameInRequiredTypeDescription
idpathyesstringRule 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

NameInRequiredTypeDescription
idpathyesstringRule 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.

support@autoconnecto.in · founder@autoconnecto.in · +91 92121 00555 · app.autoconnecto.in