Reports the official provider CLI candidates this node observes for one provider profile, grouped into closed codes; it installs nothing, probes nothing and authorizes nothing.
const url = 'https://example.com/v1/m/sessions/provider-profiles/example/host-tools';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
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/v1/m/sessions/provider-profiles/example/host-tools \ --header 'Authorization: Bearer <token>'Reports the official provider CLI candidates this node observes for one provider profile, grouped into closed codes; it installs nothing, probes nothing and authorizes nothing.
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Path parameter ref.
Header Parameters
Section titled “ Header Parameters ”Target tenant id; required when the principal can act in more than one tenant.
Responses
Section titled “ Responses ”The official provider CLI candidates this node observed for the profile, counted into closed groups. It is a dated observation and grants nothing: it starts no launch, installs nothing and registers nothing. Cache-Control: no-store is returned on every answer, so a client must not cache it.
object
The profile’s normalized driver key. The set is open; observation support depends on the node’s wired observer.
The execution environment that administers this profile.
The execution environment that answered. ALWAYS present, and empty when this node has no persistent execution-environment identity — the case state reports as not_checked_in_this_environment. An empty string is the answer, not a missing field.
The counted groups, sorted. Non-empty only when state is observed; an empty array in every other state. A group counts candidates and never names them: this read publishes no path and no program argument.
object
Whether the candidate is the program this profile is effectively configured to run. same and different are both observations; unknown means the comparison could not be made.
How many candidates fell into this group. A group is only published when it counted at least one candidate.
Whether the observed file has an execute permission bit set. This metadata check does not prove that the current user can execute the file or that a launch will succeed.
How the candidate relates to the installation evidence. registered and manifest-corroborated describe matching evidence; unregistered-observed means a candidate was found without that evidence; unverified means verification could not be completed; damaged means an integrity or installation check failed; unknown means the observer could not classify it. These observations do not authorize a launch.
Where the candidate was found. managed is an installation this deployment administers; vendor-default is the provider’s own default location; path is a PATH lookup; named is an explicitly configured program; unknown is a candidate whose origin the observer could not classify.
Observed means candidates were counted and groups is non-empty. none_observed means the observation completed and found no candidate; it is not proof of absence elsewhere on the host or in another environment. unsupported_driver means this runtime has no observer for the profile’s driver. unknown is an INCOMPLETE observation — the adapter could not answer — and is never rewritten as an absence. not_checked_in_this_environment means the node is non-local or has no persistent execution-environment identity, so no observer was called at all. In every state other than observed, groups is an empty array.
Example
{ "groups": [ { "configured": "same", "match": "registered", "origin": "managed" } ], "state": "observed"}Malformed profile reference, or a non-empty query string: this route declares no query parameters and does not ignore one
object
Example generated
{}Unauthenticated
object
Example generated
{}The caller lacks sessions:profile:read; nothing was inspected
object
Example generated
{}No such profile in this tenant (a profile of another tenant is indistinguishable from an absent one)
object
Example generated
{}The profile changed during the observation, so it straddled two states; it was discarded and must be read again. The body carries the same ratified stable identifier profile_changed the readiness sibling uses, so a client detects this conflict by code and never by matching the message text.
object
object
Stable conflict identifier; detect the conflict by this value, never by the message text.
Human-readable explanation. It is localizable and may change; it is not an identifier.
Example
{ "error": { "code": "profile_changed" }}Rate limited
object
Example generated
{}The profile store is unavailable, or the request was canceled before the observation completed; no observation result was published
object
Example generated
{}