Appearance
Connectivity Module
Overview
Swagger-driven developer documentation for device ingress, integration webhooks, gateway relay, and tenant integration settings.
Key APIs
| Method | Path | Summary |
|---|---|---|
| GET | /api/tenant/integration | Get tenant integration webhook configuration |
| POST | /api/tenant/integration/rotate-secret | Rotate tenant integration webhook secret |
| GET | /api/v1/connectivity/catalog | List supported device ingress transports (public) |
| POST | /api/v1/integrations/chirpstack/telemetry | ChirpStack HTTP integration: ingest LoRaWAN uplink |
| POST | /api/v1/integrations/generic/telemetry | Generic integration webhook: ingest telemetry |
| POST | /api/v1/integrations/ttn/telemetry | The Things Stack / TTN v3 webhook: ingest LoRaWAN uplink |
Frontend Usage Flow
- Frontend list pages call collection
GETendpoints to load tables or summary views. - Create forms submit payloads to
POSTendpoints and then refresh the list or navigate to the created resource.
GET /api/tenant/integration
Summary: Get tenant integration webhook configuration
Operation ID: TenantIntegrationController_getIntegration
Tags: Connectivity
Security:
bearer
Responses
200
Integration endpoints and secret status
No response body.
401
Unauthorized
No response body.
Notes / Constraints
- Swagger declares security requirements for this operation.
POST /api/tenant/integration/rotate-secret
Summary: Rotate tenant integration webhook secret
Returns the new secret once. Store it in your LoRa network server or integration.
Operation ID: TenantIntegrationController_rotateSecret
Tags: Connectivity
Security:
bearer
Responses
201
No response body.
401
Unauthorized
No response body.
Notes / Constraints
- Swagger declares security requirements for this operation.
GET /api/v1/connectivity/catalog
Summary: List supported device ingress transports (public)
Operation ID: ConnectivityCatalogController_getCatalog
Tags: Connectivity
Responses
200
No response body.
POST /api/v1/integrations/chirpstack/telemetry
Summary: ChirpStack HTTP integration: ingest LoRaWAN uplink
Maps deviceInfo.devEui to device attribute integration.lorawan.dev_eui unless deviceToken is in the body.
Operation ID: IntegrationIngestController_chirpstackTelemetry
Tags: Connectivity
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tenantId | query | no | string | - |
| x-tenant-id | header | yes | string | - |
| content-type | header | yes | string | - |
| X-Webhook-Secret | header | no | string | - |
Responses
200
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"success"
],
"properties": {
"success": {
"type": "boolean"
}
}
}Example:
json
{
"success": true
}400
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"statusCode",
"error"
],
"properties": {
"statusCode": {
"type": "number"
},
"error": {
"type": "string"
},
"message": {
"type": "object"
}
}
}Example:
json
{
"statusCode": 400,
"error": "Bad Request",
"message": "Invalid time range"
}Notes / Constraints
- This endpoint accepts query parameters that can affect filtering, pagination, or lookup behavior.
POST /api/v1/integrations/generic/telemetry
Summary: Generic integration webhook: ingest telemetry
Accepts deviceToken or externalDeviceId (+ tenantId). Supports gateway relay via childDeviceId. JSON or CBOR body.
Operation ID: IntegrationIngestController_genericTelemetry
Tags: Connectivity
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tenantId | query | no | string | - |
| x-tenant-id | header | yes | string | - |
| content-type | header | yes | string | - |
| X-Webhook-Secret | header | no | string | Shared secret (or Authorization: Bearer). Required in production. |
Responses
200
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"success"
],
"properties": {
"success": {
"type": "boolean"
}
}
}Example:
json
{
"success": true
}400
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"statusCode",
"error"
],
"properties": {
"statusCode": {
"type": "number"
},
"error": {
"type": "string"
},
"message": {
"type": "object"
}
}
}Example:
json
{
"statusCode": 400,
"error": "Bad Request",
"message": "Invalid time range"
}Notes / Constraints
- This endpoint accepts query parameters that can affect filtering, pagination, or lookup behavior.
POST /api/v1/integrations/ttn/telemetry
Summary: The Things Stack / TTN v3 webhook: ingest LoRaWAN uplink
Uses end_device_ids.dev_eui → device attribute mapping unless deviceToken is provided.
Operation ID: IntegrationIngestController_ttnTelemetry
Tags: Connectivity
Parameters
| Name | In | Required | Type | Description |
|---|---|---|---|---|
| tenantId | query | no | string | - |
| x-tenant-id | header | yes | string | - |
| content-type | header | yes | string | - |
| X-Webhook-Secret | header | no | string | - |
Responses
200
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"success"
],
"properties": {
"success": {
"type": "boolean"
}
}
}Example:
json
{
"success": true
}400
Content-Type: application/json
Schema:
json
{
"type": "object",
"required": [
"statusCode",
"error"
],
"properties": {
"statusCode": {
"type": "number"
},
"error": {
"type": "string"
},
"message": {
"type": "object"
}
}
}Example:
json
{
"statusCode": 400,
"error": "Bad Request",
"message": "Invalid time range"
}Notes / Constraints
- This endpoint accepts query parameters that can affect filtering, pagination, or lookup behavior.
Module Notes / Constraints
- Generated from OpenAPI version metadata:
1.0. - 2 operation(s) in this module declare explicit Swagger security requirements.
- HTTP methods present in this module: GET, POST.
- This file is generated from Swagger/OpenAPI and should be regenerated when controller, DTO, or Swagger decorator changes affect the spec.
