Exchange private claim#

PropertyValue
Servicecrossfire
OperationexchangeEnrollment
MethodPOST
Path/api/enrollments/{enrollmentId}/exchange
Authenticationpublic
Success status200
Response dataUnpaginated value
Request formatjson
Maximum request body2097152 bytes (service default)
Permission codesNone declared

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
enrollmentIdlowercase opaque UUID

Validation#

check.object({ enrollmentId: 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 ( exchange )

Field pathRepresentation and constraints
claimSecret43-character base64url private claim (32 bytes)

Validation#

req.exchange

Referenced definitions:

Response data#

object; fields below; unknown fields rejected ( enrollmentExchange )

Field pathRepresentation and constraints
statuspending or rejected or expired or provisioning or ready
fleetobject; fields below; unknown fields rejected; JSON null permitted
fleet.fleetIdlowercase opaque UUID
fleet.controllerCredentialstring; 1–200 UTF-16 units; well-formed Unicode; no C0/DEL controls; JSON null permitted
ownerMatrixIdwell-formed Matrix user ID; maximum 255 UTF-16 units
instancesarray; 0–100 entries; item: object; fields below; unknown fields rejected
instances[].instanceKeylowercase name; pattern [a-z][a-z0-9-]{0,39}
instances[].namelowercase name; pattern [a-z][a-z0-9-]{0,39}
instances[].agentIdlowercase opaque UUID; JSON null permitted
instances[].statusready or provisioning
instances[].errorCodestring; 1–100 UTF-16 units; well-formed Unicode; no C0/DEL controls; JSON null permitted
instances[].accountobject; fields below; unknown fields rejected; JSON null permitted
instances[].account.matrixUserIdwell-formed Matrix user ID; maximum 255 UTF-16 units
instances[].account.accessTokenstring; 1–8192 UTF-16 units; well-formed Unicode; no C0/DEL controls
instances[].account.deviceIdstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls

Validation#

res.enrollmentExchange

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"
  }
}