Resolve verified sender kinds and agent owners#

PropertyValue
Servicecrossfire
OperationresolvePrincipals
MethodPOST
Path/api/principal-resolutions
Authenticationeither
Success status200
Response dataUnpaginated value
Request formatjson
Maximum request body2097152 bytes (service default)
Permission codesprincipal.read

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: 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 ( principalResolution )

Field pathRepresentation and constraints
matrixUserIdsarray; 1–100 entries; item: well-formed Matrix user ID; maximum 255 UTF-16 units; constraint: Resolve unique Matrix identities

Additional checks#

The following checks apply in addition to the field limits.

Constraint on matrixUserIds:

ids => new Set(ids).size === ids.length

Validation#

req.principalResolution

Referenced definitions:

Response data#

array; 1–100 entries; item: object; fields below; unknown fields rejected; constraint: Only registered agents have an owner ( principalIdentity ); constraint: Resolved identities must be unique ( principalIdentities )

Field pathRepresentation and constraints
[].matrixUserIdwell-formed Matrix user ID; maximum 255 UTF-16 units
[].kindhuman or agent or unknown
[].ownerMatrixIdwell-formed Matrix user ID; maximum 255 UTF-16 units; JSON null permitted
[].displayNamestring; 1–255 UTF-16 units; well-formed Unicode; no C0/DEL controls; JSON null permitted
[].ownerDisplayNamestring; 1–255 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 object:

identities => new Set(identities.map(identity => identity.matrixUserId)).size === identities.length

Constraint on []:

identity => (identity.kind === 'agent') === (identity.ownerMatrixId !== null)

Validation#

res.principalIdentities

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