Skip to content

Get the simulated fleet

GET
/simulation
curl --request GET \
--url https://example.com/api/v1/simulation

Every node a simulator has pulled for since the server started, each with its capabilities, its account of impairments, and the components it simulates within the caller’s component read scope, joined to their live hits. A caller sees a node’s simulator when its component read scope holds at least one component the node simulates (an all-scope reader sees all of them); no node read is needed. Connected is true when any listed simulator pulled recently. Hits are per server process, not stored. Gated by simulation:read.

OK

Media type application/json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
connected
required

Any simulator pulled its device list recently; the console shows its Simulation page only then.

boolean
nodes
required

Each node a simulator has pulled for since the server started, whose simulated components the caller’s scope reaches.

Array<object> | null
object
capabilities
required
object
low_ports
required
boolean
net_admin
required
boolean
port_offset
required
integer format: int64
components
required

The components the simulator serves, in the caller’s component read scope, with their live hits.

Array<object> | null
object
address
required

The host the component’s endpoints target.

string
component
required

The component’s name.

string
component_id
required
string
hits
required

Connections and requests the simulated device has answered since the server started.

integer format: int64
hits_by_protocol
required
object
key
additional properties
integer format: int64
impaired
required

Whether the simulator reported applying an impairment to the device in its latest batch.

boolean
impairment

What an operator has broken on the device; absent when healthy.

object
$schema

A URL to the JSON Schema for this object.

string format: uri
jitter_ms

Variation on the delay, in milliseconds; at most the latency

integer format: int64
latency_ms

Delay added to traffic toward the device, in milliseconds

integer format: int64
<= 10000
loss_pct

Share of packets toward the device dropped, in percent, to hundredths

number format: double
<= 100
rate_kbit

Bandwidth limit on the device’s link, both ways, in kilobits per second; 0 is unlimited

integer format: int64
<= 10000000
unplugged

Dark on every protocol: connects time out, datagrams and pings go unanswered

boolean
last_hit_at
string format: date-time
last_protocol
string
product
required

The component’s product; its name selects the simulator profile.

string
serving
required

Whether the simulator reported serving this component in its latest batch.

boolean
status
required

What the simulator is doing with the component, most urgent first: offline (its simulator stopped reporting), starting (added since the simulator’s last pull, or handed over moments ago), failed (handed to the simulator but not started), running.

string
Allowed values: running starting failed offline
connected
required
boolean
impairments
required
object
available
required
boolean
error
string
impaired
Array<string> | null
reason
string
last_seen
required
string format: date-time
node
required
string
Example
{
"$schema": "/api/v1/schemas/SimFleetOutputBody.json",
"nodes": [
{
"components": [
{
"impairment": {
"$schema": "/api/v1/schemas/ImpairmentFields.json"
},
"status": "running"
}
]
}
]
}

Error

Media type application/problem+json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
detail

A human-readable explanation specific to this occurrence of the problem.

string
errors

Optional list of individual error details

Array<object> | null
object
location

Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’

string
message

Error message text

string
value

The value at the given location

instance

A URI reference that identifies the specific occurrence of the problem.

string format: uri
status

HTTP status code

integer format: int64
title

A short, human-readable summary of the problem type. This value should not change between occurrences of the error.

string
type

A URI reference to human-readable documentation for the error.

string format: uri
default: about:blank
Example
{
"$schema": "/api/v1/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}