Get a component's simulation
const url = 'https://example.com/api/v1/components/example/simulation';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/v1/components/example/simulationWhether 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.
Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters ”The simulated component’s name, or a dotted address
The simulated component’s name, or a dotted address
Responses
Section titled “ Responses ”OK
object
A URL to the JSON Schema for this object.
What the simulator reports for the component: serving, hits, and its impairment.
object
The host the component’s endpoints target.
The component’s name.
Connections and requests the simulated device has answered since the server started.
object
Whether the simulator reported applying an impairment to the device in its latest batch.
What an operator has broken on the device; absent when healthy.
object
A URL to the JSON Schema for this object.
Variation on the delay, in milliseconds; at most the latency
Delay added to traffic toward the device, in milliseconds
Share of packets toward the device dropped, in percent, to hundredths
Bandwidth limit on the device’s link, both ways, in kilobits per second; 0 is unlimited
Dark on every protocol: connects time out, datagrams and pings go unanswered
The component’s product; its name selects the simulator profile.
Whether the simulator reported serving this component in its latest batch.
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.
The node’s simulator pulled recently.
object
The component has an endpoint on a node and a product a profile simulates.
Every protocol surface the simulated component serves, from its profile.
object
object
Subscribe or unsubscribe on a persistent session; empty for a request and its answer.
Whether the console can fire an operation on this surface.
object
The state path the OID reads.
A session that stays open across commands and may push.
The port the simulator binds, after any lift of ports below 1024.
object
A route the product’s own web UI calls but does not advertise.
The products the same profile simulates; changing among them keeps the component’s endpoints valid.
Example
{ "$schema": "/api/v1/schemas/ComponentSimOutputBody.json", "activity": { "impairment": { "$schema": "/api/v1/schemas/ImpairmentFields.json" }, "status": "running" }}default
Section titled “default ”Error
object
A URL to the JSON Schema for this object.
A human-readable explanation specific to this occurrence of the problem.
Optional list of individual error details
object
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
HTTP status code
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
A URI reference to human-readable documentation for the error.
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"}