/v1/targets/{target}/modeGet mode#
Current mode of a target
The mode the target is in (stellar_modes), else the default mode of the topology, with the modes of the topology and who set it last: an operator, or a run at the end of a configure.
Path parameters
targetrequiredstring
Target, as named in the topology (sim-1).
Responses
200The mode of the target.application/json
targetrequiredstring
Target.
modestring
Mode the target is in; None when the topology declares no modes.
defaultstring
Default mode of the topology.
modesrequiredarray of string
Modes of the topology, in their order.
sincestring · date-time
When the mode was last set; None for the default mode never set.
bystring
Who set it.
runstring
Run that set it, at the end of a configure.
404Unknown target: api::unknown-target.application/json
errorsrequiredarray of ErrorItem
Every error found.
ErrorItem · 3 fields
coderequiredstring
Stable code.
messagerequiredstring
Message for the operator.
helpstring
Suggested fix.
503The MCS bus (NATS) is unavailable: api::unavailable.application/json
errorsrequiredarray of ErrorItem
Every error found.
ErrorItem · 3 fields
coderequiredstring
Stable code.
messagerequiredstring
Message for the operator.
helpstring
Suggested fix.
Request
curl "http://localhost:8080/v1/targets/<target>/mode"import requests
BASE_URL = "http://localhost:8080"
target = "<target>" # Target, as named in the topology (`sim-1`).
response = requests.get(f"{BASE_URL}/v1/targets/{target}/mode")
response.raise_for_status()
print(response.json())let base_url = "http://localhost:8080";
let target = "<target>"; // Target, as named in the topology (`sim-1`).
let response = reqwest::Client::new()
.get(format!("{base_url}/v1/targets/{target}/mode"))
.send()
.await?
.error_for_status()?;
let body: serde_json::Value = response.json().await?;
println!("{body:#}");Response
{
"target": "string",
"mode": "string",
"default": "string",
"modes": [
"string"
],
"since": "2026-09-29T08:30:00Z",
"by": "string",
"run": "string"
}{
"errors": [
{
"code": "string",
"message": "string",
"help": "string"
}
]
}{
"errors": [
{
"code": "string",
"message": "string",
"help": "string"
}
]
}/v1/targets/{target}/modeSet mode#
Declare the mode of a target
Says which mode the target is in, as the operator of the request, without sending anything: after a manual reconfiguration, for instance. A configure of a run sets it by itself. Refused while a run holds the target.
Path parameters
targetrequiredstring
Target, as named in the topology (sim-1).
Request body application/jsonrequired
moderequiredstring
Mode to set.
Responses
200The mode, as recorded.application/json
targetrequiredstring
Target.
modestring
Mode the target is in; None when the topology declares no modes.
defaultstring
Default mode of the topology.
modesrequiredarray of string
Modes of the topology, in their order.
sincestring · date-time
When the mode was last set; None for the default mode never set.
bystring
Who set it.
runstring
Run that set it, at the end of a configure.
400Invalid body, or no identity: api::invalid-body, api::anonymous.application/json
errorsrequiredarray of ErrorItem
Every error found.
ErrorItem · 3 fields
coderequiredstring
Stable code.
messagerequiredstring
Message for the operator.
helpstring
Suggested fix.
404Unknown target: api::unknown-target.application/json
errorsrequiredarray of ErrorItem
Every error found.
ErrorItem · 3 fields
coderequiredstring
Stable code.
messagerequiredstring
Message for the operator.
helpstring
Suggested fix.
409A run holds the target: mode::target-held.application/json
errorsrequiredarray of ErrorItem
Every error found.
ErrorItem · 3 fields
coderequiredstring
Stable code.
messagerequiredstring
Message for the operator.
helpstring
Suggested fix.
422Not a mode of the topology: mode::unknown.application/json
errorsrequiredarray of ErrorItem
Every error found.
ErrorItem · 3 fields
coderequiredstring
Stable code.
messagerequiredstring
Message for the operator.
helpstring
Suggested fix.
503The MCS bus (NATS) is unavailable: api::unavailable.application/json
errorsrequiredarray of ErrorItem
Every error found.
ErrorItem · 3 fields
coderequiredstring
Stable code.
messagerequiredstring
Message for the operator.
helpstring
Suggested fix.
Request
curl -X PUT "http://localhost:8080/v1/targets/<target>/mode" \
-H "Content-Type: application/json" \
-d '{
"mode": "string"
}'import requests
BASE_URL = "http://localhost:8080"
target = "<target>" # Target, as named in the topology (`sim-1`).
response = requests.put(
f"{BASE_URL}/v1/targets/{target}/mode",
json={
"mode": "string",
},
)
response.raise_for_status()
print(response.json())let base_url = "http://localhost:8080";
let target = "<target>"; // Target, as named in the topology (`sim-1`).
let response = reqwest::Client::new()
.put(format!("{base_url}/v1/targets/{target}/mode"))
.json(&serde_json::json!({
"mode": "string"
}))
.send()
.await?
.error_for_status()?;
let body: serde_json::Value = response.json().await?;
println!("{body:#}");Response
{
"target": "string",
"mode": "string",
"default": "string",
"modes": [
"string"
],
"since": "2026-09-29T08:30:00Z",
"by": "string",
"run": "string"
}{
"errors": [
{
"code": "string",
"message": "string",
"help": "string"
}
]
}{
"errors": [
{
"code": "string",
"message": "string",
"help": "string"
}
]
}{
"errors": [
{
"code": "string",
"message": "string",
"help": "string"
}
]
}{
"errors": [
{
"code": "string",
"message": "string",
"help": "string"
}
]
}{
"errors": [
{
"code": "string",
"message": "string",
"help": "string"
}
]
}/v1/targets/{target}/parametersGet parameters#
Parameters of a target
The parameters of the components of the target, in the order of the catalogue: their value in each mode (per-target values of the topology, with the overrides of the environment), the value of the current mode, the telecommand that sets it, and its readback with the current sample and whether it matches within the tolerance.
Path parameters
targetrequiredstring
Target, as named in the topology (sim-1).
Query parameters
environmentstring
Environment of the overrides; by default the only environment of the target, else none.
Responses
200The parameters.application/json
targetrequiredstring
Target.
modestring
Mode the target is in.
environmentstring
Environment of the values; None: without overrides.
parametersrequiredarray of ParameterView
Parameters of its components, in the order of the catalogue.
ParameterView · 9 fields
namerequiredstring
Written in full: rf.tx_baudrate, tcu[TCU1].anode_voltage.
componentrequiredstring
Component.
instancestring
Instance of a multi-instance component.
parameterrequiredstring
Parameter.
unitstring
Unit of its values.
valueany
Value in the mode of the target; None without one.
valuesrequiredmap of any
Values by mode.
setstring
Telecommand setting it, configure sends.
readbackone of Readback | null
404Unknown target: api::unknown-target.application/json
errorsrequiredarray of ErrorItem
Every error found.
ErrorItem · 3 fields
coderequiredstring
Stable code.
messagerequiredstring
Message for the operator.
helpstring
Suggested fix.
422The target is not engaged in the environment: api::unknown-environment.application/json
errorsrequiredarray of ErrorItem
Every error found.
ErrorItem · 3 fields
coderequiredstring
Stable code.
messagerequiredstring
Message for the operator.
helpstring
Suggested fix.
503The catalogue of the target is missing (api::no-catalogue), or the MCS bus is unavailable.application/json
errorsrequiredarray of ErrorItem
Every error found.
ErrorItem · 3 fields
coderequiredstring
Stable code.
messagerequiredstring
Message for the operator.
helpstring
Suggested fix.
Request
curl "http://localhost:8080/v1/targets/<target>/parameters"import requests
BASE_URL = "http://localhost:8080"
target = "<target>" # Target, as named in the topology (`sim-1`).
response = requests.get(f"{BASE_URL}/v1/targets/{target}/parameters")
response.raise_for_status()
print(response.json())let base_url = "http://localhost:8080";
let target = "<target>"; // Target, as named in the topology (`sim-1`).
let response = reqwest::Client::new()
.get(format!("{base_url}/v1/targets/{target}/parameters"))
.send()
.await?
.error_for_status()?;
let body: serde_json::Value = response.json().await?;
println!("{body:#}");Response
{
"target": "string",
"mode": "string",
"environment": "string",
"parameters": [
{
"name": "string",
"component": "string",
"instance": "string",
"parameter": "string",
"unit": "string",
"value": null,
"values": {
"key": null
},
"set": "string",
"readback": {
"measure": "string",
"sample": null,
"matches": true
}
}
]
}{
"errors": [
{
"code": "string",
"message": "string",
"help": "string"
}
]
}{
"errors": [
{
"code": "string",
"message": "string",
"help": "string"
}
]
}{
"errors": [
{
"code": "string",
"message": "string",
"help": "string"
}
]
}