The HTTP and WebSocket API of Stellar Control: direct telecommands, current values, runs of procedures, alarms, passes and schedules, file transfers, and the state of the topology.
The API is stateless: it resolves every request against the current compiled configuration and publishes it on NATS. Several instances can serve the same cell.
Identity. Callers identify themselves with an OIDC token (Authorization: Bearer), or declare themselves with X-Stellar-User (and X-Stellar-Role, comma-separated) where the environment of the run allows declared identities.
Errors. Every error answers {"errors": [{"code", "message", "help"}]} with a stable code, such as run::unknown-pass or tc::target-held.
WebSocket. The routes that follow something (…/events, …/watch, …/throughput) upgrade to a WebSocket: each text message is one JSON document of the schema given for the 101 response.
- Base URL
http://localhost:8080- API version
- 0.1.0
- Endpoints
- 56
- Specification
- OpenAPI 3.1.0 (JSON)
Telecommands#
Direct telecommands and their acknowledgement chain.
| Method | Endpoint | Operation |
|---|---|---|
| POST | /v1/tc | Submit telecommand |
| POST | /v1/encode | Encode telecommand |
| POST | /v1/decode | Decode frame |
| GET | /v1/tc/{target}/{id}/events | Follow telecommand |
| GET | /v1/tc/watch | Watch telecommands |
Values#
Current values of the measures of a target.
| Method | Endpoint | Operation |
|---|---|---|
| GET | /v1/targets/{target}/values | Current values |
| GET | /v1/targets/{target}/values/watch | Watch values |
| GET | /v1/targets/{target}/values/history | Value history |
Modes#
Modes of the targets and the values of their parameters in each mode.
| Method | Endpoint | Operation |
|---|---|---|
| GET | /v1/targets/{target}/mode | Get mode |
| PUT | /v1/targets/{target}/mode | Set mode |
| GET | /v1/targets/{target}/parameters | Get parameters |
Runs#
Runs of procedures: launch, follow-up, answers, control and reports.
| Method | Endpoint | Operation |
|---|---|---|
| GET | /v1/runs | List runs |
| POST | /v1/runs | Launch run |
| GET | /v1/runs/{id} | Run status |
| GET | /v1/runs/{id}/events | Follow run |
| POST | /v1/runs/{id}/answers | Answer run |
| POST | /v1/runs/{id}/{action} | Control run |
| GET | /v1/runs/{id}/report | Run report |
Alarms#
Alarms: current states, acknowledgement and shelving, transitions.
| Method | Endpoint | Operation |
|---|---|---|
| GET | /v1/alarms | List alarms |
| GET | /v1/alarms/watch | Watch alarms |
| POST | /v1/alarms/{target}/{alarm}/{action} | Command alarm |
Passes#
Passes of the targets over the ground stations, pushed by the feeders.
| Method | Endpoint | Operation |
|---|---|---|
| GET | /v1/passes | List passes |
| POST | /v1/passes | Upsert pass |
| GET | /v1/passes/{target}/{id} | Get pass |
| POST | /v1/passes/replace_window | Replace window |
| GET | /v1/passes/watch | Watch passes |
Schedules#
Runs scheduled on passes, and the recurring rules that schedule them.
| Method | Endpoint | Operation |
|---|---|---|
| GET | /v1/schedules | List schedules |
| POST | /v1/schedules | Create schedule |
| GET | /v1/schedules/{id} | Get schedule |
| POST | /v1/schedules/{id}/cancel | Cancel schedule |
| POST | /v1/schedules/{id}/validate | Validate schedule |
| GET | /v1/schedule-rules | List schedule rules |
| POST | /v1/schedule-rules | Create schedule rule |
| DELETE | /v1/schedule-rules/{id} | Delete schedule rule |
| GET | /v1/schedules/watch | Watch schedules |
Files#
On-board directory, file transfers and contents to upload.
| Method | Endpoint | Operation |
|---|---|---|
| GET | /v1/targets/{target}/files | List files |
| POST | /v1/targets/{target}/files/refresh | Refresh files |
| GET | /v1/transfers | List transfers |
| POST | /v1/transfers | Create transfer |
| GET | /v1/transfers/{target}/{file_id}/{generation} | Get transfer |
| POST | /v1/uploads | Store upload |
| GET | /v1/transfers/watch | Watch transfers |
Monitoring#
Topology, instances, catalogues, procedures and output connectors, as the web console shows them.
| Method | Endpoint | Operation |
|---|---|---|
| GET | /v1/topology | Get topology |
| GET | /v1/instances | List instances |
| GET | /v1/instances/{kind}/{instance} | Get instance |
| GET | /v1/instances/gateway/{instance}/throughput | Watch throughput |
| GET | /v1/targets/{target}/catalogue | Get catalogue |
| GET | /v1/procedures | List procedures |
| GET | /v1/connectors | List connectors |
| GET | /v1/reconciler/events | Reconciler events |
| GET | /v1/reconciler/events/watch | Watch reconciler events |
Auth#
How to sign in, and NATS credentials of follow-up.
| Method | Endpoint | Operation |
|---|---|---|
| POST | /v1/auth/nats | NATS credentials |
| GET | /v1/auth/config | Auth config |
Simulation#
Faults of simulated targets.
| Method | Endpoint | Operation |
|---|---|---|
| GET | /v1/sim/{gateway}/faults | List faults |
| PUT | /v1/sim/{gateway}/faults/{fault} | Switch fault |
Meta#
The API itself.
| Method | Endpoint | Operation |
|---|---|---|
| GET | /v1/openapi.json | Openapi document |