Skip to content

Get a component's simulation

GET
/components/{name}/simulation
curl --request GET \
--url https://example.com/api/v1/components/example/simulation

Whether a component is simulated (it has an endpoint on a node and a product a simulator profile simulates) and, when it is, its node, address, live hits and impairment, the products its profile simulates, and its full API surface: every protocol surface, with its HTTP routes, commands and SNMP OIDs. A component that is not simulated reads simulated false. Gated by simulation:read; the component resolves within the caller’s component read scope.

name
required

The simulated component’s name, or a dotted address

string

The simulated component’s name, or a dotted address

OK

Media type application/json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
activity

What the simulator reports for the component: serving, hits, and its impairment.

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
address
string
connected
required

The node’s simulator pulled recently.

boolean
impairments
required
object
available
required
boolean
error
string
impaired
Array<string> | null
reason
string
node
string
product
string
profile
string
simulated
required

The component has an endpoint on a node and a product a profile simulates.

boolean
summary
string
surface

Every protocol surface the simulated component serves, from its profile.

Array<object> | null
object
auth_type
string
commands
Array<object> | null
object
action

Subscribe or unsubscribe on a persistent session; empty for a request and its answer.

string
example
string
match
required
string
summary
string
default_user
string
fireable
required

Whether the console can fire an operation on this surface.

boolean
name
required
string
oids
Array<object> | null
object
oid
required
string
path
required

The state path the OID reads.

string
persistent

A session that stays open across commands and may push.

boolean
port
required

The port the simulator binds, after any lift of ports below 1024.

integer format: int64
protocol
required
string
routes
Array<object> | null
object
example
string
method
required
string
path
required
string
private

A route the product’s own web UI calls but does not advertise.

boolean
summary
string
summary
string
tls
boolean
variants

The products the same profile simulates; changing among them keeps the component’s endpoints valid.

Array<string> | null
Example
{
"$schema": "/api/v1/schemas/ComponentSimOutputBody.json",
"activity": {
"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"
}