Change agent lifecycle or name#

PropertyValue
Servicecrossfire
OperationchangeAgent
MethodPATCH
Path/api/agents/{agentId}
Authenticationhuman
Success status202
Response dataUnpaginated value
Request formatjson
Maximum request body2097152 bytes (service default)
Permission codesagent.configure.owned, agent.configure.any

Listed permission codes are alternatives, not token scopes. The service also checks access to the requested records and rejects stale revisions or controller generations.

HTTP 202 means the request was accepted for processing. Check the operation’s status to find out whether it completed.

Path parameters#

object; fields below; unknown fields rejected

Field pathRepresentation and constraints
agentIdlowercase opaque UUID

Validation#

check.object({ agentId: check.identifier })

Referenced definitions:

Query parameters#

custom validation: none ; see function below

Query parameters are URL text. The validation function below specifies their format, defaults and combinations. Pagination applies only to operations that use it.

Additional checks#

The following checks apply in addition to the field limits.

Constraint on value:

export function none(input: unknown) {
    const parsed = listQuery([])(input);
    return parsed.ok ? success({}) : parsed;
}

Validation#

query.none

Referenced definitions:

Request body#

object; fields below; unknown fields rejected ( agentChange )

Field pathRepresentation and constraints
expectedRevisionexact JSON integer; 0…9007199254740991 ( revision )
statusvalidator choice('active', 'suspended', 'revoked') ( status ); optional property

Validation#

req.agentChange

Referenced definitions:

Response data#

object; fields below; unknown fields rejected ( agent )

Field pathRepresentation and constraints
agentIdlowercase opaque UUID
matrixUserIdwell-formed Matrix user ID; maximum 255 UTF-16 units
namelowercase name; pattern [a-z][a-z0-9-]{0,39}
displayNamestring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
ownerobject; fields below; unknown fields rejected ( owner )
owner.memberIdlowercase opaque UUID
owner.matrixUserIdwell-formed Matrix user ID; maximum 255 UTF-16 units
owner.displayNamestring; 1–100 UTF-16 units; well-formed Unicode; no C0/DEL controls
owner.statusvalidator choice('active', 'suspended', 'revoked') ( status )
statusvalidator choice('active', 'suspended', 'revoked') ( status )
revisionexact JSON integer; 0…9007199254740991
createdAtexact JSON integer; 0…9007199254740991
applicationobject; fields below; unknown fields rejected ( application )
application.appliedRevisionexact JSON integer; 0…9007199254740991; JSON null permitted
application.appliedStatusvalidator choice('active', 'suspended', 'revoked') ( status ); JSON null permitted
application.nativeDisplayNamestring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls; JSON null permitted
application.lastAttemptAtexact JSON integer; 0…9007199254740991; JSON null permitted
application.lastSuccessAtexact JSON integer; 0…9007199254740991; JSON null permitted
application.errorCodestring; 1–100 UTF-16 units; well-formed Unicode; no C0/DEL controls; JSON null permitted
application.errorMessagestring; 1–4096 UTF-16 units; well-formed Unicode; no C0/DEL controls; JSON null permitted
activityobject; fields below; unknown fields rejected ( activity )
activity.statusonline or offline or disconnecting
activity.activeMsexact JSON integer; 0…9007199254740991
activity.messagesDeliveredexact JSON integer; 0…9007199254740991
activity.lastSeenAtexact JSON integer; 0…9007199254740991; JSON null permitted
activity.activeRunsarray; 0–100 entries; item: object; fields below; unknown fields rejected ( listenerRun )
activity.activeRuns[].runIdlowercase opaque UUID
activity.activeRuns[].agentIdlowercase opaque UUID
activity.activeRuns[].releasestring; 1–200 UTF-16 units; well-formed Unicode; no C0/DEL controls; JSON null permitted
activity.activeRuns[].controllerobject; fields below; unknown fields rejected; JSON null permitted
activity.activeRuns[].controller.fleetIdlowercase opaque UUID
activity.activeRuns[].controller.connectionIdlowercase opaque UUID
activity.activeRuns[].controller.credentialIdlowercase opaque UUID
activity.activeRuns[].startedAtexact JSON integer; 0…9007199254740991
activity.activeRuns[].lastSeenAtexact JSON integer; 0…9007199254740991
activity.activeRuns[].activeMsexact JSON integer; 0…9007199254740991
activity.activeRuns[].messagesDeliveredexact JSON integer; 0…9007199254740991
activity.activeRuns[].stoppedAtexact JSON integer; 0…9007199254740991; JSON null permitted
activity.activeRuns[].disconnectRequestedAtexact JSON integer; 0…9007199254740991; JSON null permitted
nativeRuntimeobject; fields below; unknown fields rejected ( nativeRuntimeSummary ); JSON null permitted
nativeRuntime.stateidle or working or waiting-approval or waiting-answer or failed or unavailable or sleeping or waking or stopped
nativeRuntime.observedAtexact JSON integer; 0…9007199254740991
nativeRuntime.lastActivityAtexact JSON integer; 0…9007199254740991; JSON null permitted
nativeRuntime.historyAvailableboolean; JSON null permitted
deploymentobject; fields below; unknown fields rejected
deployment.fleetIdlowercase opaque UUID
deployment.fleetKeylowercase name; pattern [a-z][a-z0-9-]{0,39}
deployment.labelstring; 1–100 UTF-16 units; well-formed Unicode; no C0/DEL controls
deployment.controllerNamestring; 1–100 UTF-16 units; well-formed Unicode; no C0/DEL controls
deployment.reportedAtexact JSON integer; 0…9007199254740991
deployment.instanceKeylowercase name; pattern [a-z][a-z0-9-]{0,39}
canRetireboolean
allowedActionsarray; 0–3 entries; item: configure or room-grant.manage or retire

Validation#

res.agent

Referenced definitions:

Response envelope#

A successful JSON response contains data and meta. Replace the data placeholder below with the response fields described above. Errors contain error instead of data.

{
  "data": "<value matching the response-data validator>",
  "meta": {
    "requestId": "00000000-0000-0000-0000-000000000001"
  }
}