Get node extensions
GET
/api/v1/nodes/{env}/node/{uuid}/extensions
const url = 'https://example.com/api/v1/nodes/example/node/example/extensions';const options = {method: 'GET', headers: {Authorization: '<Authorization>'}};
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/nodes/example/node/example/extensions \ --header 'Authorization: <Authorization>'Returns the extensions the node should run, its command-execution assignments and the last status its osctrld reported. Status fields other than reported_at and lingering come from the host and are untrusted. lingering marks a command-execution extension the node has no unexpired assignment for that osctrld reports as kept, i.e. could not remove. library, the command-execution extensions that can be assigned, is null unless the caller is a super admin.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”env
required
string
Environment name or UUID
uuid
required
string
Node UUID
Responses
Section titled “Responses”OK
Media typeapplication/json
object
assignments
Array<object>
object
created_at
string
created_by
string
expired
boolean
expires_at
string
extension_id
integer
name
string
effective
Array<object>
object
available
boolean
command_execution
boolean
name
string
platforms
Array<string>
source
string
library
Array<object>
object
command_execution
boolean
description
string
id
integer
name
string
platforms
Array<string>
version
string
status
Array<object>
object
at
string
error
string
lingering
Lingering is set by osctrl when osctrld reports a command-execution extension as kept (its removal failed) and the node has no unexpired assignment for it.
boolean
name
string
reported_at
string
result
string
sha256
string
Examplegenerated
{ "assignments": [ { "created_at": "example", "created_by": "example", "expired": true, "expires_at": "example", "extension_id": 1, "name": "example" } ], "effective": [ { "available": true, "command_execution": true, "name": "example", "platforms": [ "example" ], "source": "example" } ], "library": [ { "command_execution": true, "description": "example", "id": 1, "name": "example", "platforms": [ "example" ], "version": "example" } ], "status": [ { "at": "example", "error": "example", "lingering": true, "name": "example", "reported_at": "example", "result": "example", "sha256": "example" } ]}Bad request
Media typeapplication/json
object
code
string
error
string
Examplegenerated
{ "code": "example", "error": "example"}Unauthorized
Media typeapplication/json
object
code
string
error
string
Examplegenerated
{ "code": "example", "error": "example"}Forbidden
Media typeapplication/json
object
code
string
error
string
Examplegenerated
{ "code": "example", "error": "example"}Not found
Media typeapplication/json
object
code
string
error
string
Examplegenerated
{ "code": "example", "error": "example"}Internal server error
Media typeapplication/json
object
code
string
error
string
Examplegenerated
{ "code": "example", "error": "example"}