Skip to content

Telemetry

Telemetry API

Submit telemetry data from satellites, ground stations, and data centers.

POST /api/v1/telemetry

Submit a single telemetry data point.

Request

POST /api/v1/telemetry
Authorization: Bearer <token>
Content-Type: application/json

Parameters

NameTypeRequiredDescription
timestampstringYesISO 8601 timestamp
node_idstringYesUnique node identifier
node_typestringYessatellite, ground_station, or data_center
snr_dbnumberNoSignal-to-noise ratio in dB
latency_msnumberNoNetwork latency in milliseconds
throughput_gbpsnumberNoData throughput in Gbps
atmospheric_stateobjectNoEnvironmental conditions (key-value pairs)
queue_depth_gbnumberNoData queue size in GB
utilizationnumberNoResource utilization (0-1)
capacity_gbpsnumberNoMaximum capacity in Gbps
sourcestringNoData source identifier
confidencenumberNoConfidence level (0-1, default: 1.0)

Example Request

Terminal window
curl -X POST https://api.constellation-io.com/api/v1/telemetry \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"timestamp": "2026-01-16T20:00:00Z",
"node_id": "sat-001",
"node_type": "satellite",
"snr_db": 25.5,
"latency_ms": 12.3,
"throughput_gbps": 45.6,
"utilization": 0.75,
"queue_depth_gb": 15.2,
"capacity_gbps": 100.0
}'

Response

{
"success": true,
"message": "Telemetry data received successfully",
"telemetry_id": "tel-sat-001-1705434000",
"received_at": "2026-01-16T20:00:00.123Z"
}

Response Fields

NameTypeDescription
successbooleanWhether the request succeeded
messagestringHuman-readable status message
telemetry_idstringUnique ID for this telemetry point
received_atstringServer timestamp when data was received

Node Types

string
ValueDescription
satelliteOrbital assets (LEO, MEO, GEO)
ground_stationGround-based receivers/transmitters
data_centerTerrestrial processing facilities

Error Responses

Validation Error (422)

{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "node_type must be one of: satellite, ground_station, data_center",
"field": "node_type"
}
}

Processing Error (500)

{
"success": false,
"error": {
"code": "PROCESSING_ERROR",
"message": "Failed to publish telemetry to queue"
}
}

CLI Example

Terminal window
constellation telemetry post \
--node sat-001 \
--type satellite \
--snr 25.5 \
--latency 12.3 \
--throughput 45.6

Or from a JSON file:

Terminal window
constellation telemetry post -f telemetry.json

Python Example

import requests
response = requests.post(
"https://api.constellation-io.com/api/v1/telemetry",
headers={"Authorization": f"Bearer {token}"},
json={
"timestamp": "2026-01-16T20:00:00Z",
"node_id": "sat-001",
"node_type": "satellite",
"snr_db": 25.5,
"latency_ms": 12.3,
"throughput_gbps": 45.6,
},
)
print(response.json())

Rate Limits

  • Single endpoint: 1,000 requests/minute per operator
  • Batch endpoint: 100 requests/minute per operator

For higher throughput, use the batch endpoint.