Agents

OpAMP agents (collectors and myriarch-updaters).

All paths are relative to the base path /api/v1 (same origin as the UI). Authentication, roles, pagination and the error format are described in the overview; the types are on the page Data types.

OperationRequestPermission
List agents (server-side filtering, sorting, pagination)GET /agentsread (viewer)
Value counts for filter UIs (same filters as listAgents)GET /agents/facetsread (viewer)
Agent detailsGET /agents/{id}read (viewer)
Forget an agent (only allowed while offline; 412 otherwise)DELETE /agents/{id}agents:delete (operator)
Effective config reported by the agent (expanded, includes defaults, secrets redacted by the collector; 404 for an OpAMP Bridge, whose effective config the server does not keep)GET /agents/{id}/effective-configread (viewer)
Rendered config currently offered (desired) or assigned by GitOpsGET /agents/{id}/desired-configread (viewer)
Available components reported by the agentGET /agents/{id}/componentsread (viewer)
Event history of the agent (newest first, cursor pagination)GET /agents/{id}/eventsread (viewer)
Send an OpAMP restart command (agent must have AcceptsRestartCommand; refused with 412 for an OpAMP Bridge)POST /agents/{id}/actions/restartagents:operate (operator)
Force resync - clear failed config hash, re-send desired config, request full statePOST /agents/{id}/actions/resyncagents:operate (operator)
Clear the credential binding of an agent (the instance uid is bound to the enrollment token / client certificate of its first registration; the next connection with a valid credential claims it)POST /agents/{id}/actions/reenrollenrollment:manage (admin)

List agents (server-side filtering, sorting, pagination)

GET /api/v1/agents

Operation listAgents. Permission read (lowest role: viewer).

Parameters

NameInTypeRequiredDescription
qquerystringnoCase-insensitive substring search in hostname, id, version and attribute values (at most 200 characters; multi-value filters accept at most 50 values, attr at most 20 pairs). At most 200 characters.
kindqueryarray of AgentKindnoRepeat the parameter for several values.
statusqueryarray of ConnectionStatusnoRepeat the parameter for several values.
healthyquerybooleanno
fleetqueryarray of stringnoRepeat the parameter for several values.
unassignedquerybooleannoOnly agents without a fleet. Combined with fleet by AND (so the result is empty when a fleet is given).
versionqueryarray of stringnoRepeat the parameter for several values.
outdatedquerybooleannotrue = collectors below the latest stable otelcol-contrib release; false = collectors at or above it (implies kind=collector).
osqueryarray of stringnoRepeat the parameter for several values. Items: example windows.
attrqueryarray of stringnoExact attribute match “key=value” (repeatable; values of the same key are ORed, different keys ANDed). Keys: agent attributes or “labels.<key>”. Repeat the parameter for several values. Items: example site.type=edge.
configSyncqueryarray of ConfigSyncStatenoRepeat the parameter for several values.
sortquerystringnoSort field, prefix “-” for descending. One of hostname, -hostname, version, -version, status, -status, fleet, -fleet, lastSeenAt, -lastSeenAt, firstSeenAt, -firstSeenAt, health, -health, configSync, -configSync, osType, -osType, siteId, -siteId. Default hostname.
limitqueryintegernoRange 1 to 500. Default 50.
offsetqueryintegernoRange 0 to 100000. Default 0.

Responses

StatusDescriptionContent typeType
200Page of agentsapplication/jsonAgentSummaryPage
400Invalid request (code bad_request)application/problem+jsonProblem

Value counts for filter UIs (same filters as listAgents)

GET /api/v1/agents/facets

Operation getAgentFacets. Permission read (lowest role: viewer).

Counts are disjunctive: the counts of a facet ignore the filter of that facet’s own dimension (so selecting one fleet still lists the other fleets with their counts and a multi-select is possible) and apply all other filters. total counts the agents matching all filters.

Parameters

NameInTypeRequiredDescription
qquerystringnoCase-insensitive substring search in hostname, id, version and attribute values (at most 200 characters; multi-value filters accept at most 50 values, attr at most 20 pairs). At most 200 characters.
kindqueryarray of AgentKindnoRepeat the parameter for several values.
statusqueryarray of ConnectionStatusnoRepeat the parameter for several values.
healthyquerybooleanno
fleetqueryarray of stringnoRepeat the parameter for several values.
unassignedquerybooleannoOnly agents without a fleet. Combined with fleet by AND (so the result is empty when a fleet is given).
versionqueryarray of stringnoRepeat the parameter for several values.
outdatedquerybooleannotrue = collectors below the latest stable otelcol-contrib release; false = collectors at or above it (implies kind=collector).
osqueryarray of stringnoRepeat the parameter for several values. Items: example windows.
attrqueryarray of stringnoExact attribute match “key=value” (repeatable; values of the same key are ORed, different keys ANDed). Keys: agent attributes or “labels.<key>”. Repeat the parameter for several values. Items: example site.type=edge.
configSyncqueryarray of ConfigSyncStatenoRepeat the parameter for several values.

Responses

StatusDescriptionContent typeType
200Facetsapplication/jsonAgentFacets
401Not authenticated (code unauthorized)application/problem+jsonProblem

Agent details

GET /api/v1/agents/{id}

Operation getAgent. Permission read (lowest role: viewer).

Parameters

NameInTypeRequiredDescription
idpathstringyesOpAMP instance_uid as UUID string. Format uuid.

Responses

StatusDescriptionContent typeType
200Agentapplication/jsonAgentDetail
400Invalid request (code bad_request)application/problem+jsonProblem
404Not found (code not_found)application/problem+jsonProblem

Forget an agent (only allowed while offline; 412 otherwise)

DELETE /api/v1/agents/{id}

Operation deleteAgent. Permission agents:delete (lowest role: operator).

Parameters

NameInTypeRequiredDescription
idpathstringyesOpAMP instance_uid as UUID string. Format uuid.
X-CSRF-TokenheaderstringnoRequired for cookie-authenticated mutating requests (value of cookie myriarch_csrf).

Responses

StatusDescriptionContent typeType
204Deleted--
400Invalid request (code bad_request)application/problem+jsonProblem
404Not found (code not_found)application/problem+jsonProblem
412Invalid state transition or precondition (code precondition_failed)application/problem+jsonProblem

Effective config reported by the agent (expanded, includes defaults, secrets redacted by the collector; 404 for an OpAMP Bridge, whose effective config the server does not keep)

GET /api/v1/agents/{id}/effective-config

Operation getAgentEffectiveConfig. Permission read (lowest role: viewer).

Parameters

NameInTypeRequiredDescription
idpathstringyesOpAMP instance_uid as UUID string. Format uuid.

Responses

StatusDescriptionContent typeType
200Effective configapplication/jsonConfigDocument
400Invalid request (code bad_request)application/problem+jsonProblem
404Not found (code not_found)application/problem+jsonProblem

Rendered config currently offered (desired) or assigned by GitOps

GET /api/v1/agents/{id}/desired-config

Operation getAgentDesiredConfig. Permission read (lowest role: viewer).

Parameters

NameInTypeRequiredDescription
idpathstringyesOpAMP instance_uid as UUID string. Format uuid.
whichquerystringnoOne of desired, assigned. Default desired.

Responses

StatusDescriptionContent typeType
200Rendered configapplication/jsonConfigDocument
400Invalid request (code bad_request)application/problem+jsonProblem
404Not found (code not_found)application/problem+jsonProblem

Available components reported by the agent

GET /api/v1/agents/{id}/components

Operation getAgentComponents. Permission read (lowest role: viewer).

Parameters

NameInTypeRequiredDescription
idpathstringyesOpAMP instance_uid as UUID string. Format uuid.

Responses

StatusDescriptionContent typeType
200Component setapplication/jsonComponentSet
400Invalid request (code bad_request)application/problem+jsonProblem
404Not found (code not_found)application/problem+jsonProblem

Event history of the agent (newest first, cursor pagination)

GET /api/v1/agents/{id}/events

Operation listAgentEvents. Permission read (lowest role: viewer).

Parameters

NameInTypeRequiredDescription
idpathstringyesOpAMP instance_uid as UUID string. Format uuid.
limitqueryintegernoRange 1 to 500. Default 100.
beforequeryintegernoReturn events with id < before (0 = newest). Format int64. Minimum 0. Default 0.

Responses

StatusDescriptionContent typeType
200Eventsapplication/jsonAgentEventList
400Invalid request (code bad_request)application/problem+jsonProblem
404Not found (code not_found)application/problem+jsonProblem

Send an OpAMP restart command (agent must have AcceptsRestartCommand; refused with 412 for an OpAMP Bridge)

POST /api/v1/agents/{id}/actions/restart

Operation restartAgent. Permission agents:operate (lowest role: operator).

Parameters

NameInTypeRequiredDescription
idpathstringyesOpAMP instance_uid as UUID string. Format uuid.
X-CSRF-TokenheaderstringnoRequired for cookie-authenticated mutating requests (value of cookie myriarch_csrf).

Responses

StatusDescriptionContent typeType
202Command queuedapplication/jsonActionAccepted
400Invalid request (code bad_request)application/problem+jsonProblem
404Not found (code not_found)application/problem+jsonProblem
412Invalid state transition or precondition (code precondition_failed)application/problem+jsonProblem

Force resync - clear failed config hash, re-send desired config, request full state

POST /api/v1/agents/{id}/actions/resync

Operation resyncAgent. Permission agents:operate (lowest role: operator).

Parameters

NameInTypeRequiredDescription
idpathstringyesOpAMP instance_uid as UUID string. Format uuid.
X-CSRF-TokenheaderstringnoRequired for cookie-authenticated mutating requests (value of cookie myriarch_csrf).

Responses

StatusDescriptionContent typeType
202Command queuedapplication/jsonActionAccepted
400Invalid request (code bad_request)application/problem+jsonProblem
404Not found (code not_found)application/problem+jsonProblem

Clear the credential binding of an agent (the instance uid is bound to the enrollment token / client certificate of its first registration; the next connection with a valid credential claims it)

POST /api/v1/agents/{id}/actions/reenroll

Operation reenrollAgent. Permission enrollment:manage (lowest role: admin).

Parameters

NameInTypeRequiredDescription
idpathstringyesOpAMP instance_uid as UUID string. Format uuid.
X-CSRF-TokenheaderstringnoRequired for cookie-authenticated mutating requests (value of cookie myriarch_csrf).

Responses

StatusDescriptionContent typeType
202Binding clearedapplication/jsonActionAccepted
400Invalid request (code bad_request)application/problem+jsonProblem
404Not found (code not_found)application/problem+jsonProblem