Native session operation outcomes#

PropertyValue
Servicecrossfire
OperationfleetRuntimeOperations
MethodGET
Path/api/fleets/{fleetId}/session-operations
Authenticationeither
Success status200
Response dataPaginated collection
Request formatjson
Maximum request body2097152 bytes (service default)
Permission codesagent.read.owned, agent.read.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.

Path parameters#

object; fields below; unknown fields rejected

Field pathRepresentation and constraints
fleetIdlowercase opaque UUID

Validation#

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

Referenced definitions:

Query parameters#

custom validation: page ; 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 page(input: unknown) {
    const parsed = checked(input, []);
    return parsed.ok ? pagination(parsed.value) : parsed;
}

Validation#

query.page

Referenced definitions:

Request body#

empty object; unknown fields rejected

Validation#

check.empty

Referenced definitions:

Response data#

array; 0–100 entries; item: object; fields below; unknown fields rejected; constraint: Invalid session operation outcome ( runtimeOperation )

Field pathRepresentation and constraints
[].operationIdlowercase opaque UUID
[].fleetIdlowercase opaque UUID
[].agentIdlowercase opaque UUID; JSON null permitted
[].actionstart or stop or reset ( runtimeAction )
[].expectedRevisionexact JSON integer; 0…9007199254740991
[].statuspending or running or succeeded or failed
[].createdAtexact JSON integer; 0…9007199254740991
[].completedAtexact JSON integer; 0…9007199254740991; JSON null permitted
[].errorMessagestring; 1–4096 UTF-16 units; well-formed Unicode; no C0/DEL controls; JSON null permitted

Additional checks#

The following checks apply in addition to the field limits.

Constraint on []:

value => (value.status === 'succeeded' || value.status === 'failed') === (value.completedAt !== null)
    && (value.status === 'failed') === (value.errorMessage !== null)

Validation#

check.list(fleetRuntime.runtimeOperation, 100)

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",
    "page": 1,
    "pageSize": 20,
    "totalItems": 0,
    "totalPages": 1
  }
}