Scoped audit events#

PropertyValue
Servicecrossfire
Operationaudit
MethodGET
Path/api/audit-events
Authenticationhuman
Success status200
Response dataPaginated collection
Request formatjson
Maximum request body2097152 bytes (service default)
Permission codesaudit.read.owned, audit.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#

empty object; unknown fields rejected

Validation#

check.empty

Referenced definitions:

Query parameters#

custom validation: scoped ; see function below

Accepted query parameters: ownerId.

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 scoped(input: unknown) {
    const parsed = checked(input, ['ownerId']);
    if (!parsed.ok)
        return parsed;
    const bounds = pagination(parsed.value);
    if (!bounds.ok)
        return bounds;
    const ownerId = parsed.value.get('ownerId');
    if (ownerId === null)
        return success(bounds.value);
    const valid = check.identifier(ownerId);
    return valid.ok ? success({ ...bounds.value, ownerId }) : valid;
}

Validation#

query.scoped

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 ( audit )

Field pathRepresentation and constraints
[].auditIdlowercase opaque UUID
[].requestIdstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
[].actorCredentialIdlowercase opaque UUID; JSON null permitted
[].actorKindhuman or agent or controller or system or anonymous
[].actorobject; fields below; unknown fields rejected ( principal ); JSON null permitted
[].actor.principalIdlowercase opaque UUID
[].actor.matrixUserIdwell-formed Matrix user ID; maximum 255 UTF-16 units
[].actor.kindhuman or agent
[].actor.displayNamestring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
[].actor.ownerIdlowercase opaque UUID
[].actor.ownerMatrixIdwell-formed Matrix user ID; maximum 255 UTF-16 units
[].targetobject; fields below; unknown fields rejected ( principal ); JSON null permitted
[].target.principalIdlowercase opaque UUID
[].target.matrixUserIdwell-formed Matrix user ID; maximum 255 UTF-16 units
[].target.kindhuman or agent
[].target.displayNamestring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
[].target.ownerIdlowercase opaque UUID
[].target.ownerMatrixIdwell-formed Matrix user ID; maximum 255 UTF-16 units
[].actorPrincipalIdlowercase opaque UUID; JSON null permitted
[].ownerIdlowercase opaque UUID; JSON null permitted
[].targetKindstring; 1–100 UTF-16 units; well-formed Unicode; no C0/DEL controls
[].targetIdstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
[].roomIdimmutable Matrix room ID; maximum 255 UTF-16 units; JSON null permitted
[].membershipGenerationlowercase opaque UUID; JSON null permitted
[].authorizerIdlowercase opaque UUID; JSON null permitted
[].addedByIdlowercase opaque UUID; JSON null permitted
[].permissionCodestring; 1–100 UTF-16 units; well-formed Unicode; no C0/DEL controls; JSON null permitted
[].actionstring; 1–100 UTF-16 units; well-formed Unicode; no C0/DEL controls
[].outcomestring; 1–100 UTF-16 units; well-formed Unicode; no C0/DEL controls
[].messagestring; 0–4096 UTF-16 units; well-formed Unicode; no C0/DEL controls
[].createdAtexact JSON integer; 0…9007199254740991

Validation#

check.list(res.audit, 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
  }
}