Native room details#

PropertyValue
Servicecrossfire
Operationroom
MethodGET
Path/api/rooms/{roomId}
Authenticationhuman
Success status200
Response dataUnpaginated value
Request formatjson
Maximum request body2097152 bytes (service default)
Permission codesroom.manage.native

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
roomIdimmutable Matrix room ID; maximum 255 UTF-16 units

Validation#

check.object({ roomId: check.roomId })

Referenced definitions:

Query parameters#

custom validation: roomContext ; see function below

Accepted query parameters: agentId.

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 roomContext(input: unknown): Result<{
    agentId?: string;
}> {
    const parsed = listQuery(['agentId'])(input);
    if (!parsed.ok)
        return parsed;
    const agentId = parsed.value.get('agentId');
    if (agentId === null)
        return success({});
    const valid = check.identifier(agentId);
    return valid.ok ? success({ agentId }) : valid;
}

Validation#

query.roomContext

Referenced definitions:

Request body#

empty object; unknown fields rejected

Validation#

check.empty

Referenced definitions:

Response data#

object; fields below; unknown fields rejected ( room )

Field pathRepresentation and constraints
roomIdimmutable Matrix room ID; maximum 255 UTF-16 units
namestring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
topicstring; 0–4096 UTF-16 units; well-formed Unicode; no C0/DEL controls
aliasstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls; JSON null permitted
authorityobject; fields below; unknown fields rejected; constraint: Native creator authority has no finite power level ( roomAuthority ); JSON null permitted
authority.matrixUserIdwell-formed Matrix user ID; maximum 255 UTF-16 units
authority.powerLevelexact JSON integer; -9007199254740991…9007199254740991; JSON null permitted
authority.creatorboolean
authority.creatorIdsarray; 0–100 entries; item: well-formed Matrix user ID; maximum 255 UTF-16 units
authority.readLevelexact JSON integer; -9007199254740991…9007199254740991
authority.replyLevelexact JSON integer; -9007199254740991…9007199254740991
authority.inviteLevelexact JSON integer; -9007199254740991…9007199254740991
authority.kickLevelexact JSON integer; -9007199254740991…9007199254740991
authority.changePowerLevelexact JSON integer; -9007199254740991…9007199254740991
authority.nativePermissionsarray; 0–1000 entries; item: object; fields below; unknown fields rejected
authority.nativePermissions[].actionstring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls
authority.nativePermissions[].levelexact JSON integer; -9007199254740991…9007199254740991

Additional checks#

The following checks apply in addition to the field limits.

Constraint on authority:

authority => authority.creator === (authority.powerLevel === null)

Validation#

res.room

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