Configured messaging backend and public client entry points#

PropertyValue
Servicecrossfire
OperationmessagingBackend
MethodGET
Path/api/messaging-backend
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#

Your HTTP client substitutes these values into the placeholders in the URL path.

empty object; unknown fields rejected

Validation#

This TypeScript is the server’s validation code, reproduced from its contract. It describes the accepted format; client applications do not need to run or import it.

check.empty

Referenced definitions:

Query parameters#

Your HTTP client supplies these values in the URL query string.

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#

This TypeScript is the server’s validation code, reproduced from its contract. It describes the accepted format; client applications do not need to run or import it.

query.none

Referenced definitions:

Request body#

Your HTTP client supplies these fields as the JSON request body when the operation takes input. A no-input operation does not require JSON. This is protocol input, not text to send in a Matrix room.

empty object; unknown fields rejected

Validation#

This TypeScript is the server’s validation code, reproduced from its contract. It describes the accepted format; client applications do not need to run or import it.

check.empty

Referenced definitions:

Response data#

The service produces these fields inside data in its response. They are output for the client to read, not input for the caller to submit.

object; fields below; unknown fields rejected ( messagingBackend )

Field pathRepresentation and constraints
typelowercase name; pattern [a-z][a-z0-9-]{0,39}
labelstring; 1–100 UTF-16 units; well-formed Unicode; no C0/DEL controls
chatUrlstring; 1–2048 UTF-16 units; well-formed Unicode; no C0/DEL controls; constraint: Expected an absolute HTTP(S) backend link without credentials ( backendLink )
signupUrlstring; 1–2048 UTF-16 units; well-formed Unicode; no C0/DEL controls; constraint: Expected an absolute HTTP(S) backend link without credentials ( backendLink )
signupInstructionsarray; 0–20 entries; item: string; 1–2000 UTF-16 units; well-formed Unicode; no C0/DEL controls
configurationcustom validation: backendConfiguration ; see function below

Additional checks#

The following checks apply in addition to the field limits.

Constraint on signupUrl:

value => {
    try {
        const url = new URL(value);
        return ['http:', 'https:'].includes(url.protocol) && !url.username && !url.password && value === value.trim() && !/[\u0000-\u0020\u007f]/u.test(value);
    }
    catch {
        return false;
    }
}

Constraint on configuration:

export function backendConfiguration(value: unknown): Result<BackendConfiguration> {
    const input = fields(value, ['type', 'parameters']);
    if (!input.ok)
        return input;
    const parameters = backendParameters(input.value.parameters);
    return profileName(input.value.type) && parameters.ok ? success({ type: input.value.type, parameters: parameters.value })
        : failure('invalid', 'Invalid messaging backend configuration');
}

Validation#

This TypeScript is the server’s validation code, reproduced from its contract. It describes the accepted format; client applications do not need to run or import it.

res.messagingBackend

Referenced definitions:

Response envelope#

This JSON illustrates a response returned by the service, not a request to send. The service fills data with the operation result and meta with request metadata. The string below marks where the actual response data appears; it is not an example record. Errors contain error instead of data.

{
  "data": "<value matching the response-data validator>",
  "meta": {
    "requestId": "00000000-0000-0000-0000-000000000001"
  }
}