# alfaview API v2 > HTTP API of the alfaview video conferencing platform for managing rooms, meetings, users, the company, permissions, guests, files and reports. --- # alfaview API v2 overview ## Quickstart ### 1. Obtain an access token Obtain an access token, for example with an API key ([Authenticate via API Key](https://apis.alfaview.com/v2/docs/operations/AuthenticateAPIKey.md)). API keys are created in the alfaview administration, see the [support center](https://support.alfaview.com/en/developers/request-your-api-credentials/). ```shell curl -X POST https://apis.alfaview.com/v2/auth/api-key \ -H "Content-Type: application/json" \ -d '{"companyId": "", "clientId": "", "key": ""}' ``` The response contains the token: `{"accessToken": ""}`. ### 2. Call the API with the token Pass the token with the `Bearer` prefix in the `Authorization` header of every further request, for example to list the rooms ([List Rooms](https://apis.alfaview.com/v2/docs/operations/ListRooms.md)): ```shell curl https://apis.alfaview.com/v2/rooms -H "Authorization: Bearer " ``` ## Format information * All time fields are returned in RFC3339 format and in UTC if not mentioned otherwise. ## Pagination List endpoints are paginated. They return at most `limit` items (default and maximum depend on the endpoint, see its `limit` parameter) and a `nextPageToken` if more items exist. To obtain the next page, repeat the request with the `pageToken` parameter set to that value. The last page contains no `nextPageToken`. ## Errors Errors are returned as `application/problem+json` ([RFC 9457](https://www.rfc-editor.org/rfc/rfc9457)) with the fields `title`, `status` and `detail`, and an optional `errors` list with the `location`, `message` and `value` of each individual validation error. `401` responses of endpoints that require an access token additionally carry the header `WWW-Authenticate: Bearer`. ## Authentication ### API Key and Credentials All API requests require an access token for authorization. Access tokens can be obtained by authenticating using any of the following endpoints: - [Authenticate via API key](https://apis.alfaview.com/v2/docs/operations/AuthenticateAPIKey.md) - [Authenticate via password](https://apis.alfaview.com/v2/docs/operations/AuthenticatePassword.md) - [Authenticate a guest (guest link)](https://apis.alfaview.com/v2/docs/operations/AuthenticateGuestLink.md) - [Authenticate a guest (group link)](https://apis.alfaview.com/v2/docs/operations/AuthenticateGroupLink.md) The access token is returned as a base64-encoded string. It needs to be sent in the `Authorization` header in all subsequent API requests, with an optional `Bearer ` prefix (`Authorization: Bearer ` or `Authorization: `). ### Token Time-To-Live (TTL) Access tokens are valid for 1 hour. After this period, tokens will be expired and a new token must be obtained. ## Permissions Except for endpoints affecting "own" resources (e.g., "Get own Meeting"), returning static resources (e.g., "List Available Languages") and authentication endpoints, all endpoints require the caller to have specific permissions. There are two distinct types of permissions that can be applied to users independently. ### Room permissions Room permissions are the permissions of users in a particular room. If users have no permissions for a room, they cannot get any information about the room and it is excluded from room lists (except they have the user permissions to list all rooms). To edit room properties or create resources (e.g., links, subrooms) for a room, users need room administrator permissions or user permissions that permit those actions. For further information please refer to the [room permissions section in the support center](https://support.alfaview.com/en/administration/general/room-permissions/). ### User permissions User permissions are high level permissions applied to users independently from specific rooms. For further information please refer to the [user permissions section in the support center](https://support.alfaview.com/en/administration/general/user-permissions/). --- # alfaview API v2 changelog ## 05.10.2026 - Set length limits for `externalId` in [Authenticate a Guest (Group Link)](https://apis.alfaview.com/v2/docs/operations/AuthenticateGroupLink.md) (length 32 to 256 characters) and `displayName` in [Authenticate a Guest (Guest Link)](https://apis.alfaview.com/v2/docs/operations/AuthenticateGuestLink.md) and [Authenticate a Guest (Group Link)](https://apis.alfaview.com/v2/docs/operations/AuthenticateGroupLink.md) (at most 256 characters). - Added markdown documentation for LLM agents: [llms.txt](https://apis.alfaview.com/v2/docs/llms.txt), [llms-full.txt](https://apis.alfaview.com/v2/docs/llms-full.txt). - The OpenAPI specification and the markdown documentation can now be fetched from any origin (`Access-Control-Allow-Origin: *`), e.g. by browser-based tools. - Added documentation of the error response body (`application/problem+json` with the `ErrorModel` schema) and `WWW-Authenticate` header of `401` responses. - Access tokens are now also accepted with the `Bearer` prefix (`Authorization: Bearer `). - Added the access token as an OpenAPI security scheme (`accessToken`) on all endpoints that require it. The `Authorization` header is therefore no longer listed as a parameter in the documentation, but it is still required. Code generators now produce a proper authentication configuration instead of ignoring the header parameter, as mandated by the OpenAPI specification. ## 28.09.2026 - Added [Get own company](https://apis.alfaview.com/v2/docs/operations/GetOwnCompany.md). - Bugfix: Authorizing via `/auth/password` with two-factor authentication returned an empty access token instead of `403`. ## 13.07.2026 - Added `localRecording`, `liveStreaming` and `examScreenshare` to room feature objects when updating and getting. - Made all fields in the [Update Room Features](https://apis.alfaview.com/v2/docs/operations/UpdateRoomFeatures.md) request body optional and renamed the schema from `RoomFeatures` to `RoomFeaturesEdit`. ## 06.07.26 - Added `city`, `initials` and `locale` to user objects when updating and getting. - Bugfix: Room permissions of old users were sometimes not returned correctly. ## 23.06.26 - Added [Get own user](https://apis.alfaview.com/v2/docs/operations/GetOwnUser.md). - Restricted `locale` fields in requests to contain available languages only. ## 26.05.2026 - Improved security by omitting request details in error responses. ## 14.04.2026 - Allowed users with two-factor authentication enabled to authenticate via an API key (second factor not required then). ## 08.04.2026 - Added [Get file share settings](https://apis.alfaview.com/v2/docs/operations/GetRoomFileShareSettings.md). - Added [Update file share settings](https://apis.alfaview.com/v2/docs/operations/UpdateRoomFileShareSettings.md). - Added [Get file share limits](https://apis.alfaview.com/v2/docs/operations/GetRoomFileShareLimits.md). - Added `webclientLaunchURL` to response body when authenticating as a guest (guest *and* group link). - Deprecated `joinLink` and added `joinURL` in response body when getting group links. - `joinURL` lets the user choose between native client and web client instead of being a direct link to the native client. ## 01.04.2026 - Added [Update own user](https://apis.alfaview.com/v2/docs/operations/UpdateUser.md). - Added [Delete user](https://apis.alfaview.com/v2/docs/operations/DeleteUser.md). ## 17.03.2026 - Change HTTP status code when authenticating users with two-factor-authentication from `500` to `403`. ## 10.03.2026 - Added [Regenerate Passcode](https://apis.alfaview.com/v2/docs/operations/RegeneratePasscode.md). - Added [Get Passcode](https://apis.alfaview.com/v2/docs/operations/GetPasscode.md). - Added `passcodeRequired` to room objects when creating, updating and getting. --- # Authenticate via API Key `POST /v2/auth/api-key` Operation ID: `AuthenticateAPIKey` · Tags: Authentication Authenticates via an API key and returns an access token. Refer to the [related support article](https://support.alfaview.com/en/developers/request-your-api-credentials/) to generate API keys. ## Authentication No authentication required. ## Request body The API credentials. Content-Type: `application/json` Schema: APICredentials ```json { "clientId": "my-integration", "companyId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "key": "string" } ``` ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: AccessToken ```json { "accessToken": "string" } ``` ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The authentication did not succeed because of invalid credentials. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The authentication did not succeed because of invalid credentials." } ``` ### 403 The authentication did not succeed because of the account's status or permissions (e.g., account is inactive). Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The authentication did not succeed because of the account's status or permissions (e.g., account is inactive)." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### APICredentials | Property | Type | Required | Description | |---|---|---|---| | clientId | string | yes | The alias of the API key. | | companyId | string | yes | The company ID. | | key | string | yes | The API key to authenticate. | ### AccessToken | Property | Type | Required | Description | |---|---|---|---| | accessToken | string | yes | Access tokens are returned after successful authentication as a base64-encoded string. Use the token in the 'Authorization' header in order to access the API. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/AuthenticateAPIKey) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Authenticate via Password `POST /v2/auth/password` Operation ID: `AuthenticatePassword` · Tags: Authentication Authenticates a user via username and password and returns an access token. The user must not have two-factor authentication enabled. ## Authentication No authentication required. ## Request body The user credentials. Content-Type: `application/json` Schema: PasswordCredentials ```json { "password": "string", "username": "user@provider.com" } ``` ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: AccessToken ```json { "accessToken": "string" } ``` ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The authentication did not succeed because of invalid credentials. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The authentication did not succeed because of invalid credentials." } ``` ### 403 The authentication did not succeed because of the account's status or permissions (e.g., account is inactive, user has two-factor authentication activated). Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The authentication did not succeed because of the account's status or permissions (e.g., account is inactive, user has two-factor authentication activated)." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### PasswordCredentials | Property | Type | Required | Description | |---|---|---|---| | password | string | yes | The password. | | username | string | yes | The username. | ### AccessToken | Property | Type | Required | Description | |---|---|---|---| | accessToken | string | yes | Access tokens are returned after successful authentication as a base64-encoded string. Use the token in the 'Authorization' header in order to access the API. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/AuthenticatePassword) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Authenticate a Guest (Guest Link) `POST /v2/auth/guest-link` Operation ID: `AuthenticateGuestLink` · Tags: Authentication, Guests Tries to authenticate a guest link guest via access key. If the access key exists, information about the guest's authentication are returned. If the access key is also valid at the time of the request, the response additionally includes an access token and a token expiry time. ## Authentication No authentication required. ## Request body The authentication information for the guest. Content-Type: `application/json` Schema: AuthenticateGuestLinkRequestBody ```json { "accessKey": "string", "companyId": "0123456789ABCDEFGHIJKLMNOP", "displayName": "string", "roomId": "00000000-0000-0000-0000-000000000000" } ``` ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: GuestLinkAuthenticationInfo ```json { "accessToken": "string", "clientLaunchUrl": "alfaview://apis.alfaview.com:443?companyId={company-id}\u0026roomId={room-id}\u0026token={token}", "displayName": "string", "participantId": "00000000-0000-0000-0000-000000000000", "tokenExpiresAt": "2024-09-22T12:34:56Z", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-22T12:34:56Z", "webclientLaunchUrl": "https://webclient.alfaview.com/?--url=alfaview%3A%2F%2Fapis.alfaview.com%3A443%3FcompanyId%3D{company-id}%26roomId%3D{room-id}%26token%3D{token}" } ``` ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 A guest with the provided information could not be found and authenticated. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "A guest with the provided information could not be found and authenticated." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. This also applies if a group link was used to authenticate. Please use the "Authenticate a guest (group link)" endpoint instead. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. This also applies if a group link was used to authenticate. Please use the \"Authenticate a guest (group link)\" endpoint instead." } ``` ## Schemas ### AuthenticateGuestLinkRequestBody | Property | Type | Required | Description | |---|---|---|---| | accessKey | string | yes | The access key from the guest link. | | companyId | string | yes | The company ID. | | displayName | string or null | no | If set, this overrides the stored name of the guest that is displayed in UIs. Maximum length: 256. | | roomId | string | yes | The room ID from the guest link. | ### GuestLinkAuthenticationInfo | Property | Type | Required | Description | |---|---|---|---| | accessToken | string | no | Access tokens are returned after successful authentication as a base64-encoded string. Use the token in the 'Authorization' header in order to access the API. Note: Can be empty if the guest link is not yet / no longer valid. | | clientLaunchUrl | string | no | The URL to join the room with the (installed) alfaview app. Can be empty if the guest link is not yet / no longer valid. | | displayName | string | yes | The name of the guest that is displayed in UIs. | | participantId | string | no | The guest link ID. Can be empty if the guest link is not yet / no longer valid. | | tokenExpiresAt | string (date-time) | no | Time at which the access token expires. Can be empty if the guest link is not yet / no longer valid. | | validFrom | string (date-time) | yes | Time at which the guest link becomes valid, i.e., authentication becomes possible. | | validUntil | string (date-time) | yes | Time at which the guest link becomes invalid, i.e., authentication is not possible anymore. | | webclientLaunchUrl | string | no | The URL to join the room with the browser. Can be empty if the guest link is not yet / no longer valid. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/AuthenticateGuestLink) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Authenticate a Guest (Group Link) `POST /v2/auth/group-link` Operation ID: `AuthenticateGroupLink` · Tags: Authentication, Guests Tries to authenticate a group link guest via access key. If the access key exists, information about the guest's authentication are returned. If the access key is also valid at the time of the request, the response additionally includes an access token and a token expiry time. ## Authentication No authentication required. ## Request body The authentication information for the guest. Content-Type: `application/json` Schema: AuthenticateGroupLinkRequestBody ```json { "accessKey": "string", "companyId": "0123456789ABCDEFGHIJKLMNOP", "displayName": "string", "externalId": "my-own-integration-user-123456789", "roomId": "00000000-0000-0000-0000-000000000000" } ``` ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: GroupLinkAuthenticationInfo ```json { "accessToken": "string", "clientLaunchUrl": "alfaview://apis.alfaview.com:443?companyId={company-id}\u0026roomId={room-id}\u0026token={token}", "displayName": "string", "participantId": "00000000-0000-0000-0000-000000000000", "tokenExpiresAt": "2024-09-22T12:34:56Z", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-22T12:34:56Z", "webclientLaunchUrl": "https://webclient.alfaview.com/?--url=alfaview%3A%2F%2Fapis.alfaview.com%3A443%3FcompanyId%3D{company-id}%26roomId%3D{room-id}%26token%3D{token}" } ``` ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 A guest with the provided information could not be found and authenticated. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "A guest with the provided information could not be found and authenticated." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. This also applies if a guest link was used to authenticate. Please use the "Authenticate a guest (guest link)" endpoint instead. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. This also applies if a guest link was used to authenticate. Please use the \"Authenticate a guest (guest link)\" endpoint instead." } ``` ## Schemas ### AuthenticateGroupLinkRequestBody | Property | Type | Required | Description | |---|---|---|---| | accessKey | string | yes | The access key from the group link. | | companyId | string | yes | The company ID. | | displayName | string | yes | The name of the guest that is displayed in UIs. Maximum length: 256. | | externalId | string or null | no | The external ID can be used to derive a reproducible user ID to prevent simultaneous use. If that is desired, the caller is responsible for providing a unique value per user. Length: 32 to 256. | | roomId | string | yes | The room ID from the group link. | ### GroupLinkAuthenticationInfo | Property | Type | Required | Description | |---|---|---|---| | accessToken | string | no | Access tokens are returned after successful authentication as a base64-encoded string. Use the token in the 'Authorization' header in order to access the API. Note: Can be empty if the group link is not yet / no longer valid. | | clientLaunchUrl | string | no | The URL to join the room with the (installed) alfaview app. Can be empty if the group link is not yet / no longer valid. | | displayName | string | yes | The name of the guest that is displayed in UIs. | | participantId | string | no | The group link ID. Can be empty if the group link is not yet / no longer valid. | | tokenExpiresAt | string (date-time) | no | Time at which the access token expires. Can be empty if the group link is not yet / no longer valid. | | validFrom | string (date-time) | yes | Time at which the group link becomes valid, i.e., authentication becomes possible. | | validUntil | string (date-time) | yes | Time at which the group link becomes invalid, i.e., authentication is not possible anymore. | | webclientLaunchUrl | string | no | The URL to join the room with the browser. Can be empty if the guest link is not yet / no longer valid. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/AuthenticateGroupLink) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get Access Token Information `GET /v2/auth/token-info` Operation ID: `GetTokenInfo` · Tags: Authentication Retrieves details about the access token provided in the Authorization header. Expired tokens are accepted. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: TokenInfo ```json { "active": true, "expiresAt": "2024-01-31T12:00:00Z", "permissions": { "manageCompany": true, "roomAdmin": true, "roomCreate": true, "roomList": true, "userAdmin": true, "userList": true, "userShow": true } } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### TokenInfo | Property | Type | Required | Description | |---|---|---|---| | active | boolean | yes | Denotes whether the token is still valid. | | expiresAt | string (date-time) | yes | Time at which the token expires. | | permissions | TokenUserPermissions | yes | The user permissions of the token. | ### TokenUserPermissions | Property | Type | Required | Description | |---|---|---|---| | manageCompany | boolean | yes | If true, the user can manage company settings. | | roomAdmin | boolean | yes | If true, the user can create, update and delete any room. | | roomCreate | boolean | yes | If true, the user can create rooms for their company. | | roomList | boolean | yes | If true, the user can list all rooms in their company. | | userAdmin | boolean | yes | If true, the user can create, update and delete other users, send password reset mails and resend sign-up mails for new users. | | userList | boolean | yes | If true, the user can list all users in their company. | | userShow | boolean | yes | If true, the user can see the user names of all users in rooms they can access. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetTokenInfo) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Rooms `GET /v2/rooms` Operation ID: `ListRooms` · Tags: Rooms Lists rooms. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomTypes | query | array of string or null | no | Filters the result by room type. - 'room' is used for normal rooms. - 'departments' are unjoinable rooms that can hold multiple child rooms to help improving room structuring. - 'meeting' marks temporary meeting rooms. | | pageToken | query | string | no | For pagination: Pass the nextPageToken from the last successful request to obtain the next page. Omit on first request. | | limit | query | integer (int32) | no | For pagination: Set a limit on the number of returned rooms. Minimum: 0. Maximum: 50. Default: `50`. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: PaginatedBodyListRoom ```json { "data": [ { "createdAt": "2024-09-22T12:34:56Z", "createdBy": "00000000-0000-0000-0000-000000000000", "defaultPermissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true }, "displayName": "string", "features": { "allowCopyRoomInfo": "enabled", "blockWebclient": "enabled", "centeredVideoGrid": "enabled", "disableCameraOff": "enabled", "disableJoinAndLeaveNotifications": "enabled", "disableMiniWindow": "enabled", "examScreenshare": "enabled", "liveStreaming": "enabled", "localRecording": "enabled", "raiseHands": "enabled", "shareContentOnlyToModerators": "enabled", "showRaisedHandsOnlyToModerators": "enabled", "sixteenByNineVideos": "enabled", "sortVideoGridAlphabetically": "enabled" }, "groupLinkPermissions": [ { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ], "guestLinkPermissions": [ { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ], "id": "00000000-0000-0000-0000-000000000000", "managed": true, "parentId": "00000000-0000-0000-0000-000000000000", "passcodeRequired": true, "quotas": { "activeParticipants": 0, "maxVideoTilesPerPage": 0, "spectatorOnlyParticipants": 0 }, "sort": 0, "subrooms": [ { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "sort": 0 } ], "type": "department", "userPermissions": [ { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ], "waitingRoomEnabled": true, "waitingRoomWelcomeNote": "string" } ], "nextPageToken": "string" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### PaginatedBodyListRoom | Property | Type | Required | Description | |---|---|---|---| | data | array of Room or null | yes | The actual data for a paginated request. | | nextPageToken | string | no | A token that can be used to obtain the next page of the requested data. | ### Room | Property | Type | Required | Description | |---|---|---|---| | createdAt | string (date-time) | yes | The creation timestamp. | | createdBy | string | yes | The creator user ID. | | defaultPermissions | Permissions | no | Optional default permissions for every non-guest user. If empty, users will not have any permissions by default. | | displayName | string | yes | The name of the room that is displayed in UIs. | | features | RoomFeatures | yes | The feature configuration. | | groupLinkPermissions | array of ParticipantPermissions or null | no | The permissions of group links for this room. | | guestLinkPermissions | array of ParticipantPermissions or null | no | The guest links permissions for this room. | | id | string | yes | The room ID. | | managed | boolean | yes | If true, the room cannot be edited or removed by a user. | | parentId | string | no | The parent room ID. | | passcodeRequired | boolean or null | no | If true, a passcode is required to enter the room. | | quotas | RoomQuotas | no | The quota information. | | sort | integer (int64) | yes | A sorting number that determines the position of the room in UI room lists. | | subrooms | array of Subroom or null | no | The contained subrooms. | | type | string | yes | The room type. 'room' is used for normal rooms. Departments are unjoinable rooms that can hold multiple child rooms to help improving room structuring. One of: `department`, `room`, `meeting`. | | userPermissions | array of ParticipantPermissions or null | no | The user permissions. | | waitingRoomEnabled | boolean | yes | If true, participants will enter the waiting room when joining the room. A moderator can admit waiting participants to join the actual room. Rooms of the type 'department' cannot have a waiting room. | | waitingRoomWelcomeNote | string | no | The welcome note that is shown to the participants as they join the waiting room. Rooms of the type 'department' cannot have a waiting room. | ### Permissions | Property | Type | Required | Description | |---|---|---|---| | admin | boolean | yes | If true, the associated user is an admin. | | chat | boolean | yes | Permission to chat. | | join | boolean | yes | Permission to join the room. | | promote | boolean | yes | Permission to promote permissions for other users. | | screen | boolean | yes | Permission to share the screen. | | upload | boolean | yes | Permission to upload files. | | video | boolean | yes | Permission to stream video input. | | vip | boolean | yes | Permission to mark users as VIP. | | voice | boolean | yes | Permission to speak. | ### RoomFeatures | Property | Type | Required | Description | |---|---|---|---| | allowCopyRoomInfo | string | yes | Allows moderators to copy the contents of the participant list to the clipboard. One of: `enabled`, `disabled`, `default`. | | blockWebclient | string | yes | Prevents the button to join via browser from being displayed on the guest join page. One of: `enabled`, `disabled`, `default`. | | centeredVideoGrid | string | yes | Centers participant videos on the stage. One of: `enabled`, `disabled`, `default`. | | disableCameraOff | string | yes | Prevents the camera from being turned off. One of: `enabled`, `disabled`, `default`. | | disableJoinAndLeaveNotifications | string | yes | Disables notifications when users join or leave the room. One of: `enabled`, `disabled`, `default`. | | disableMiniWindow | string | yes | Prevents the display of the floating mini window when the alfaview window is minimized. One of: `enabled`, `disabled`, `default`. | | examScreenshare | string | yes | All monitors of all participants in this room are shared with the moderators. Users with an incompatible version are not able to join the room. Linux users can always join the room due to technical limitations on Linux systems with this feature. One of: `enabled`, `disabled`, `default`. | | liveStreaming | string | yes | Allows to live stream all video and audio in the alfaview room to external live streaming servers. One of: `enabled`, `disabled`, `default`. | | localRecording | string | yes | Allows to record all video and audio in the alfaview room. Recorded video files are stored locally. One of: `enabled`, `disabled`, `default`. | | raiseHands | string | yes | Allows participants and spectators to raise their hand to indicate that they want to say something. One of: `enabled`, `disabled`, `default`. | | shareContentOnlyToModerators | string | yes | If enabled, only moderators can see active screen shares. One of: `enabled`, `disabled`, `default`. | | showRaisedHandsOnlyToModerators | string | yes | If enabled, only moderators can see who is currently raising a hand. One of: `enabled`, `disabled`, `default`. | | sixteenByNineVideos | string | yes | Uses 16:9 video aspect ratio for participant videos. One of: `enabled`, `disabled`, `default`. | | sortVideoGridAlphabetically | string | yes | Displays participant videos in alphabetical order. (Overrides the default order-by-join-time behavior.) One of: `enabled`, `disabled`, `default`. | ### ParticipantPermissions | Property | Type | Required | Description | |---|---|---|---| | participantId | string | yes | The user ID / guest link ID / group link ID to which the permissions apply. | | permissions | Permissions | yes | The assigned permissions. | ### RoomQuotas | Property | Type | Required | Description | |---|---|---|---| | activeParticipants | integer (int32) | yes | The number of allowed active participants. Minimum: 0. | | maxVideoTilesPerPage | integer (int32) | yes | The number of allowed video tiles displayed per page. If this value mismatches the defined options in the alfaview client, the next lower value will be chosen. Minimum: 0. | | spectatorOnlyParticipants | integer (int32) | yes | The number of allowed spectator-only participants. Minimum: 0. | ### Subroom | Property | Type | Required | Description | |---|---|---|---| | displayName | string | no | The name that is displayed in UIs. If left empty, generic localized names with incremental numbers will be used in the alfaview client (e.g., 'Group 1', 'Group 2', etc.). | | id | string | yes | The subroom ID. | | sort | integer (int32) | yes | A sorting number that determines the position of the subroom in UI room lists. Minimum: 0. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListRooms) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get Room `GET /v2/rooms/{id}` Operation ID: `GetRoom` · Tags: Rooms Gets a single room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The room ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: Room ```json { "createdAt": "2024-09-22T12:34:56Z", "createdBy": "00000000-0000-0000-0000-000000000000", "defaultPermissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true }, "displayName": "string", "features": { "allowCopyRoomInfo": "enabled", "blockWebclient": "enabled", "centeredVideoGrid": "enabled", "disableCameraOff": "enabled", "disableJoinAndLeaveNotifications": "enabled", "disableMiniWindow": "enabled", "examScreenshare": "enabled", "liveStreaming": "enabled", "localRecording": "enabled", "raiseHands": "enabled", "shareContentOnlyToModerators": "enabled", "showRaisedHandsOnlyToModerators": "enabled", "sixteenByNineVideos": "enabled", "sortVideoGridAlphabetically": "enabled" }, "groupLinkPermissions": [ { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ], "guestLinkPermissions": [ { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ], "id": "00000000-0000-0000-0000-000000000000", "managed": true, "parentId": "00000000-0000-0000-0000-000000000000", "passcodeRequired": true, "quotas": { "activeParticipants": 0, "maxVideoTilesPerPage": 0, "spectatorOnlyParticipants": 0 }, "sort": 0, "subrooms": [ { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "sort": 0 } ], "type": "department", "userPermissions": [ { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ], "waitingRoomEnabled": true, "waitingRoomWelcomeNote": "string" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### Room | Property | Type | Required | Description | |---|---|---|---| | createdAt | string (date-time) | yes | The creation timestamp. | | createdBy | string | yes | The creator user ID. | | defaultPermissions | Permissions | no | Optional default permissions for every non-guest user. If empty, users will not have any permissions by default. | | displayName | string | yes | The name of the room that is displayed in UIs. | | features | RoomFeatures | yes | The feature configuration. | | groupLinkPermissions | array of ParticipantPermissions or null | no | The permissions of group links for this room. | | guestLinkPermissions | array of ParticipantPermissions or null | no | The guest links permissions for this room. | | id | string | yes | The room ID. | | managed | boolean | yes | If true, the room cannot be edited or removed by a user. | | parentId | string | no | The parent room ID. | | passcodeRequired | boolean or null | no | If true, a passcode is required to enter the room. | | quotas | RoomQuotas | no | The quota information. | | sort | integer (int64) | yes | A sorting number that determines the position of the room in UI room lists. | | subrooms | array of Subroom or null | no | The contained subrooms. | | type | string | yes | The room type. 'room' is used for normal rooms. Departments are unjoinable rooms that can hold multiple child rooms to help improving room structuring. One of: `department`, `room`, `meeting`. | | userPermissions | array of ParticipantPermissions or null | no | The user permissions. | | waitingRoomEnabled | boolean | yes | If true, participants will enter the waiting room when joining the room. A moderator can admit waiting participants to join the actual room. Rooms of the type 'department' cannot have a waiting room. | | waitingRoomWelcomeNote | string | no | The welcome note that is shown to the participants as they join the waiting room. Rooms of the type 'department' cannot have a waiting room. | ### Permissions | Property | Type | Required | Description | |---|---|---|---| | admin | boolean | yes | If true, the associated user is an admin. | | chat | boolean | yes | Permission to chat. | | join | boolean | yes | Permission to join the room. | | promote | boolean | yes | Permission to promote permissions for other users. | | screen | boolean | yes | Permission to share the screen. | | upload | boolean | yes | Permission to upload files. | | video | boolean | yes | Permission to stream video input. | | vip | boolean | yes | Permission to mark users as VIP. | | voice | boolean | yes | Permission to speak. | ### RoomFeatures | Property | Type | Required | Description | |---|---|---|---| | allowCopyRoomInfo | string | yes | Allows moderators to copy the contents of the participant list to the clipboard. One of: `enabled`, `disabled`, `default`. | | blockWebclient | string | yes | Prevents the button to join via browser from being displayed on the guest join page. One of: `enabled`, `disabled`, `default`. | | centeredVideoGrid | string | yes | Centers participant videos on the stage. One of: `enabled`, `disabled`, `default`. | | disableCameraOff | string | yes | Prevents the camera from being turned off. One of: `enabled`, `disabled`, `default`. | | disableJoinAndLeaveNotifications | string | yes | Disables notifications when users join or leave the room. One of: `enabled`, `disabled`, `default`. | | disableMiniWindow | string | yes | Prevents the display of the floating mini window when the alfaview window is minimized. One of: `enabled`, `disabled`, `default`. | | examScreenshare | string | yes | All monitors of all participants in this room are shared with the moderators. Users with an incompatible version are not able to join the room. Linux users can always join the room due to technical limitations on Linux systems with this feature. One of: `enabled`, `disabled`, `default`. | | liveStreaming | string | yes | Allows to live stream all video and audio in the alfaview room to external live streaming servers. One of: `enabled`, `disabled`, `default`. | | localRecording | string | yes | Allows to record all video and audio in the alfaview room. Recorded video files are stored locally. One of: `enabled`, `disabled`, `default`. | | raiseHands | string | yes | Allows participants and spectators to raise their hand to indicate that they want to say something. One of: `enabled`, `disabled`, `default`. | | shareContentOnlyToModerators | string | yes | If enabled, only moderators can see active screen shares. One of: `enabled`, `disabled`, `default`. | | showRaisedHandsOnlyToModerators | string | yes | If enabled, only moderators can see who is currently raising a hand. One of: `enabled`, `disabled`, `default`. | | sixteenByNineVideos | string | yes | Uses 16:9 video aspect ratio for participant videos. One of: `enabled`, `disabled`, `default`. | | sortVideoGridAlphabetically | string | yes | Displays participant videos in alphabetical order. (Overrides the default order-by-join-time behavior.) One of: `enabled`, `disabled`, `default`. | ### ParticipantPermissions | Property | Type | Required | Description | |---|---|---|---| | participantId | string | yes | The user ID / guest link ID / group link ID to which the permissions apply. | | permissions | Permissions | yes | The assigned permissions. | ### RoomQuotas | Property | Type | Required | Description | |---|---|---|---| | activeParticipants | integer (int32) | yes | The number of allowed active participants. Minimum: 0. | | maxVideoTilesPerPage | integer (int32) | yes | The number of allowed video tiles displayed per page. If this value mismatches the defined options in the alfaview client, the next lower value will be chosen. Minimum: 0. | | spectatorOnlyParticipants | integer (int32) | yes | The number of allowed spectator-only participants. Minimum: 0. | ### Subroom | Property | Type | Required | Description | |---|---|---|---| | displayName | string | no | The name that is displayed in UIs. If left empty, generic localized names with incremental numbers will be used in the alfaview client (e.g., 'Group 1', 'Group 2', etc.). | | id | string | yes | The subroom ID. | | sort | integer (int32) | yes | A sorting number that determines the position of the subroom in UI room lists. Minimum: 0. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetRoom) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Create Room `POST /v2/rooms` Operation ID: `CreateRoom` · Tags: Rooms Creates a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Request body The room to create. Content-Type: `application/json` Schema: RoomCreate ```json { "defaultPermissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true }, "displayName": "string", "features": { "allowCopyRoomInfo": "enabled", "blockWebclient": "enabled", "centeredVideoGrid": "enabled", "disableCameraOff": "enabled", "disableJoinAndLeaveNotifications": "enabled", "disableMiniWindow": "enabled", "examScreenshare": "enabled", "liveStreaming": "enabled", "localRecording": "enabled", "raiseHands": "enabled", "shareContentOnlyToModerators": "enabled", "showRaisedHandsOnlyToModerators": "enabled", "sixteenByNineVideos": "enabled", "sortVideoGridAlphabetically": "enabled" }, "parentId": "00000000-0000-0000-0000-000000000000", "passcodeRequired": true, "permissions": [ { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ], "quotas": { "activeParticipants": 0, "maxVideoTilesPerPage": 0, "spectatorOnlyParticipants": 0 }, "subrooms": [ { "displayName": "string" } ], "type": "department", "waitingRoomEnabled": true, "waitingRoomWelcomeNote": "string" } ``` ## Responses ### 201 The requested resource was created. Content-Type: `application/json` Schema: ID ```json { "id": "00000000-0000-0000-0000-000000000000" } ``` ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### RoomCreate | Property | Type | Required | Description | |---|---|---|---| | defaultPermissions | Permissions | no | Optional default permissions for every non-guest user. If default permissions are empty, users will not have any permissions by default. | | displayName | string | yes | The name of the room that is displayed in UIs. | | features | RoomFeaturesEdit | no | The feature configuration. If no state is specified for a feature, 'default' is assumed. | | parentId | string or null | no | The parent room ID. | | passcodeRequired | boolean or null | no | If true, a passcode is required to enter the room. | | permissions | array of ParticipantPermissions or null | no | The user permissions. | | quotas | RoomQuotasEdit | no | The requested quotas. These are checked against the company's available quotas, which are provided by its billing plan. | | subrooms | array of SubroomCreateListItem or null | no | The contained subrooms. | | type | string | yes | The room type. 'room' is used for normal rooms. Departments are unjoinable rooms that can hold multiple child rooms to help improving room structuring. One of: `department`, `room`. | | waitingRoomEnabled | boolean | yes | If true, participants enter a waiting room when joining and must be admitted by a moderator. Rooms of the type 'department' cannot have a waiting room. | | waitingRoomWelcomeNote | string or null | no | The welcome note that is shown to the participants as they join the waiting room. Rooms of the type 'department' cannot have a waiting room. | ### Permissions | Property | Type | Required | Description | |---|---|---|---| | admin | boolean | yes | If true, the associated user is an admin. | | chat | boolean | yes | Permission to chat. | | join | boolean | yes | Permission to join the room. | | promote | boolean | yes | Permission to promote permissions for other users. | | screen | boolean | yes | Permission to share the screen. | | upload | boolean | yes | Permission to upload files. | | video | boolean | yes | Permission to stream video input. | | vip | boolean | yes | Permission to mark users as VIP. | | voice | boolean | yes | Permission to speak. | ### RoomFeaturesEdit | Property | Type | Required | Description | |---|---|---|---| | allowCopyRoomInfo | string or null | no | Allows moderators to copy the contents of the participant list to the clipboard. One of: `enabled`, `disabled`, `default`. | | blockWebclient | string or null | no | Prevents the button to join via browser from being displayed on the guest join page. One of: `enabled`, `disabled`, `default`. | | centeredVideoGrid | string or null | no | Centers participant videos on the stage. One of: `enabled`, `disabled`, `default`. | | disableCameraOff | string or null | no | Prevents the camera from being turned off. One of: `enabled`, `disabled`, `default`. | | disableJoinAndLeaveNotifications | string or null | no | Disables notifications when users join or leave the room. One of: `enabled`, `disabled`, `default`. | | disableMiniWindow | string or null | no | Prevents the displaying of the floating mini window when the alfaview window is minimized. One of: `enabled`, `disabled`, `default`. | | examScreenshare | string or null | no | All monitors of all participants in this room are shared with the moderators. Users with an incompatible version are not able to join the room. Linux users can always join the room due to technical limitations on Linux systems with this feature. One of: `enabled`, `disabled`, `default`. | | liveStreaming | string or null | no | Allows to live stream all video and audio in the alfaview room to external live streaming servers. One of: `enabled`, `disabled`, `default`. | | localRecording | string or null | no | Allows to record all video and audio in the alfaview room. Recorded video files are stored locally. One of: `enabled`, `disabled`, `default`. | | raiseHands | string or null | no | Allows participants and spectators to raise their hand to indicate that they want to say something. One of: `enabled`, `disabled`, `default`. | | shareContentOnlyToModerators | string or null | no | If enabled, only moderators can see active screen shares. One of: `enabled`, `disabled`, `default`. | | showRaisedHandsOnlyToModerators | string or null | no | If enabled, only moderators can see who is currently raising a hand. One of: `enabled`, `disabled`, `default`. | | sixteenByNineVideos | string or null | no | Uses 16:9 video aspect ratio for participant videos. One of: `enabled`, `disabled`, `default`. | | sortVideoGridAlphabetically | string or null | no | Displays participant videos in alphabetical order. (Overrides the default order-by-join-time behavior.) One of: `enabled`, `disabled`, `default`. | ### ParticipantPermissions | Property | Type | Required | Description | |---|---|---|---| | participantId | string | yes | The user ID / guest link ID / group link ID to which the permissions apply. | | permissions | Permissions | yes | The assigned permissions. | ### RoomQuotasEdit | Property | Type | Required | Description | |---|---|---|---| | activeParticipants | integer (int32) | yes | The maximum number of active participants. Minimum: 0. | | maxVideoTilesPerPage | integer (int32) | yes | The maximum number of video tiles displayed per page. If this value mismatches the defined options in the alfaview client, the next lower value will be chosen. Minimum: 0. | | spectatorOnlyParticipants | integer (int32) | yes | The maximum number of spectator-only participants. Minimum: 0. | ### SubroomCreateListItem | Property | Type | Required | Description | |---|---|---|---| | displayName | string or null | no | The name that is displayed in UIs. If left empty, generic localized names with incremental numbers will be used in the alfaview client (e.g., 'Group 1', 'Group 2', etc.) | ### ID | Property | Type | Required | Description | |---|---|---|---| | id | string | yes | A unique identifier. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/CreateRoom) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Update Room `PATCH /v2/rooms/{id}` Operation ID: `UpdateRoom` · Tags: Rooms Updates a room. There are additional endpoints to create, update or delete subrooms, permissions and room features. Nested objects and arrays can only be replaced as a whole, not partially. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The room ID. | ## Request body The updated room fields. Nested objects and arrays can only be replaced as a whole, not partially. Content-Type: `application/json` Schema: RoomUpdate ```json { "defaultPermissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true }, "displayName": "string", "features": { "allowCopyRoomInfo": "enabled", "blockWebclient": "enabled", "centeredVideoGrid": "enabled", "disableCameraOff": "enabled", "disableJoinAndLeaveNotifications": "enabled", "disableMiniWindow": "enabled", "examScreenshare": "enabled", "liveStreaming": "enabled", "localRecording": "enabled", "raiseHands": "enabled", "shareContentOnlyToModerators": "enabled", "showRaisedHandsOnlyToModerators": "enabled", "sixteenByNineVideos": "enabled", "sortVideoGridAlphabetically": "enabled" }, "passcodeRequired": true, "permissions": [ { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ], "quotas": { "activeParticipants": 0, "maxVideoTilesPerPage": 0, "spectatorOnlyParticipants": 0 }, "subrooms": [ { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000" } ], "waitingRoomEnabled": true, "waitingRoomWelcomeNote": "string" } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### RoomUpdate | Property | Type | Required | Description | |---|---|---|---| | defaultPermissions | Permissions | no | Optional default permissions for every non-guest user. If default permissions are empty, users will not have any permissions by default. | | displayName | string or null | no | The name that is displayed in UIs. | | features | RoomFeaturesEdit | no | The feature configuration. If no state is specified for a feature, 'default' is assumed. | | passcodeRequired | boolean or null | no | If true, a passcode is required to enter the room. | | permissions | array of ParticipantPermissions or null | no | The user permissions. Permissions not present in this array will be deleted. | | quotas | RoomQuotasEdit | no | The quota information. | | subrooms | array of SubroomEditListItem or null | no | The contained subrooms. Subrooms not present in this list will be deleted. | | waitingRoomEnabled | boolean or null | no | If true, participants will enter the waiting room when joining the room. A moderator can admit waiting participants to join the actual room. Rooms of the type 'department' cannot have a waiting room | | waitingRoomWelcomeNote | string or null | no | The welcome note that is shown to the participants as they join the waiting room. Rooms of the type 'department' cannot have a waiting room. | ### Permissions | Property | Type | Required | Description | |---|---|---|---| | admin | boolean | yes | If true, the associated user is an admin. | | chat | boolean | yes | Permission to chat. | | join | boolean | yes | Permission to join the room. | | promote | boolean | yes | Permission to promote permissions for other users. | | screen | boolean | yes | Permission to share the screen. | | upload | boolean | yes | Permission to upload files. | | video | boolean | yes | Permission to stream video input. | | vip | boolean | yes | Permission to mark users as VIP. | | voice | boolean | yes | Permission to speak. | ### RoomFeaturesEdit | Property | Type | Required | Description | |---|---|---|---| | allowCopyRoomInfo | string or null | no | Allows moderators to copy the contents of the participant list to the clipboard. One of: `enabled`, `disabled`, `default`. | | blockWebclient | string or null | no | Prevents the button to join via browser from being displayed on the guest join page. One of: `enabled`, `disabled`, `default`. | | centeredVideoGrid | string or null | no | Centers participant videos on the stage. One of: `enabled`, `disabled`, `default`. | | disableCameraOff | string or null | no | Prevents the camera from being turned off. One of: `enabled`, `disabled`, `default`. | | disableJoinAndLeaveNotifications | string or null | no | Disables notifications when users join or leave the room. One of: `enabled`, `disabled`, `default`. | | disableMiniWindow | string or null | no | Prevents the displaying of the floating mini window when the alfaview window is minimized. One of: `enabled`, `disabled`, `default`. | | examScreenshare | string or null | no | All monitors of all participants in this room are shared with the moderators. Users with an incompatible version are not able to join the room. Linux users can always join the room due to technical limitations on Linux systems with this feature. One of: `enabled`, `disabled`, `default`. | | liveStreaming | string or null | no | Allows to live stream all video and audio in the alfaview room to external live streaming servers. One of: `enabled`, `disabled`, `default`. | | localRecording | string or null | no | Allows to record all video and audio in the alfaview room. Recorded video files are stored locally. One of: `enabled`, `disabled`, `default`. | | raiseHands | string or null | no | Allows participants and spectators to raise their hand to indicate that they want to say something. One of: `enabled`, `disabled`, `default`. | | shareContentOnlyToModerators | string or null | no | If enabled, only moderators can see active screen shares. One of: `enabled`, `disabled`, `default`. | | showRaisedHandsOnlyToModerators | string or null | no | If enabled, only moderators can see who is currently raising a hand. One of: `enabled`, `disabled`, `default`. | | sixteenByNineVideos | string or null | no | Uses 16:9 video aspect ratio for participant videos. One of: `enabled`, `disabled`, `default`. | | sortVideoGridAlphabetically | string or null | no | Displays participant videos in alphabetical order. (Overrides the default order-by-join-time behavior.) One of: `enabled`, `disabled`, `default`. | ### ParticipantPermissions | Property | Type | Required | Description | |---|---|---|---| | participantId | string | yes | The user ID / guest link ID / group link ID to which the permissions apply. | | permissions | Permissions | yes | The assigned permissions. | ### RoomQuotasEdit | Property | Type | Required | Description | |---|---|---|---| | activeParticipants | integer (int32) | yes | The maximum number of active participants. Minimum: 0. | | maxVideoTilesPerPage | integer (int32) | yes | The maximum number of video tiles displayed per page. If this value mismatches the defined options in the alfaview client, the next lower value will be chosen. Minimum: 0. | | spectatorOnlyParticipants | integer (int32) | yes | The maximum number of spectator-only participants. Minimum: 0. | ### SubroomEditListItem | Property | Type | Required | Description | |---|---|---|---| | displayName | string or null | no | The name that is displayed in UIs. If left empty, generic localized names with incremental numbers will be used in the alfaview client (e.g., 'Group A', 'Group B', etc.) | | id | string or null | no | The subroom ID. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/UpdateRoom) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Delete Room `DELETE /v2/rooms/{id}` Operation ID: `DeleteRoom` · Tags: Rooms Deletes a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The room ID. | ## Responses ### 204 The request was processed successfully. ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/DeleteRoom) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Subrooms `GET /v2/rooms/{roomId}/subrooms` Operation ID: `ListSubrooms` · Tags: Rooms Lists subrooms. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID of the subrooms. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: array of Subroom or null ```json [ { "displayName": "string", "id": "00000000-0000-0000-0000-000000000000", "sort": 0 } ] ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### Subroom | Property | Type | Required | Description | |---|---|---|---| | displayName | string | no | The name that is displayed in UIs. If left empty, generic localized names with incremental numbers will be used in the alfaview client (e.g., 'Group 1', 'Group 2', etc.). | | id | string | yes | The subroom ID. | | sort | integer (int32) | yes | A sorting number that determines the position of the subroom in UI room lists. Minimum: 0. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListSubrooms) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Create Subroom `POST /v2/rooms/{roomId}/subrooms` Operation ID: `CreateSubroom` · Tags: Rooms Creates a subroom. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID to assign the subroom to. | ## Request body The subroom to create. Content-Type: `application/json` Schema: SubroomEdit ```json { "displayName": "string" } ``` ## Responses ### 201 The requested resource was created. Content-Type: `application/json` Schema: ID ```json { "id": "00000000-0000-0000-0000-000000000000" } ``` ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### SubroomEdit | Property | Type | Required | Description | |---|---|---|---| | displayName | string or null | no | The name that is displayed in UIs. If left empty, generic localized names with incremental numbers will be used in the alfaview client (e.g., 'Group 1', 'Group 2', etc.). | ### ID | Property | Type | Required | Description | |---|---|---|---| | id | string | yes | A unique identifier. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/CreateSubroom) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Update Subroom `PATCH /v2/rooms/{roomId}/subrooms/{subroomId}` Operation ID: `UpdateSubroom` · Tags: Rooms Updates a subroom. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID the subroom is assigned to. | | subroomId | path | string | yes | The subroom ID. | ## Request body The updated subroom fields. Content-Type: `application/json` Schema: SubroomEdit ```json { "displayName": "string" } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room or subroom was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room or subroom was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### SubroomEdit | Property | Type | Required | Description | |---|---|---|---| | displayName | string or null | no | The name that is displayed in UIs. If left empty, generic localized names with incremental numbers will be used in the alfaview client (e.g., 'Group 1', 'Group 2', etc.). | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/UpdateSubroom) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Delete Subroom `DELETE /v2/rooms/{roomId}/subrooms/{subroomId}` Operation ID: `DeleteSubroom` · Tags: Rooms Deletes a subroom. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID the subroom is assigned to. | | subroomId | path | string | yes | The subroom ID. | ## Responses ### 204 The request was processed successfully. ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/DeleteSubroom) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get Room Features `GET /v2/rooms/{roomId}/features` Operation ID: `GetRoomFeatures` · Tags: Rooms Gets the room features of a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: RoomFeatures ```json { "allowCopyRoomInfo": "enabled", "blockWebclient": "enabled", "centeredVideoGrid": "enabled", "disableCameraOff": "enabled", "disableJoinAndLeaveNotifications": "enabled", "disableMiniWindow": "enabled", "examScreenshare": "enabled", "liveStreaming": "enabled", "localRecording": "enabled", "raiseHands": "enabled", "shareContentOnlyToModerators": "enabled", "showRaisedHandsOnlyToModerators": "enabled", "sixteenByNineVideos": "enabled", "sortVideoGridAlphabetically": "enabled" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### RoomFeatures | Property | Type | Required | Description | |---|---|---|---| | allowCopyRoomInfo | string | yes | Allows moderators to copy the contents of the participant list to the clipboard. One of: `enabled`, `disabled`, `default`. | | blockWebclient | string | yes | Prevents the button to join via browser from being displayed on the guest join page. One of: `enabled`, `disabled`, `default`. | | centeredVideoGrid | string | yes | Centers participant videos on the stage. One of: `enabled`, `disabled`, `default`. | | disableCameraOff | string | yes | Prevents the camera from being turned off. One of: `enabled`, `disabled`, `default`. | | disableJoinAndLeaveNotifications | string | yes | Disables notifications when users join or leave the room. One of: `enabled`, `disabled`, `default`. | | disableMiniWindow | string | yes | Prevents the display of the floating mini window when the alfaview window is minimized. One of: `enabled`, `disabled`, `default`. | | examScreenshare | string | yes | All monitors of all participants in this room are shared with the moderators. Users with an incompatible version are not able to join the room. Linux users can always join the room due to technical limitations on Linux systems with this feature. One of: `enabled`, `disabled`, `default`. | | liveStreaming | string | yes | Allows to live stream all video and audio in the alfaview room to external live streaming servers. One of: `enabled`, `disabled`, `default`. | | localRecording | string | yes | Allows to record all video and audio in the alfaview room. Recorded video files are stored locally. One of: `enabled`, `disabled`, `default`. | | raiseHands | string | yes | Allows participants and spectators to raise their hand to indicate that they want to say something. One of: `enabled`, `disabled`, `default`. | | shareContentOnlyToModerators | string | yes | If enabled, only moderators can see active screen shares. One of: `enabled`, `disabled`, `default`. | | showRaisedHandsOnlyToModerators | string | yes | If enabled, only moderators can see who is currently raising a hand. One of: `enabled`, `disabled`, `default`. | | sixteenByNineVideos | string | yes | Uses 16:9 video aspect ratio for participant videos. One of: `enabled`, `disabled`, `default`. | | sortVideoGridAlphabetically | string | yes | Displays participant videos in alphabetical order. (Overrides the default order-by-join-time behavior.) One of: `enabled`, `disabled`, `default`. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetRoomFeatures) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Update Room Features `PATCH /v2/rooms/{roomId}/features` Operation ID: `UpdateRoomFeatures` · Tags: Rooms Updates the room features of a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Request body The updated room features. Content-Type: `application/json` Schema: RoomFeaturesEdit ```json { "allowCopyRoomInfo": "enabled", "blockWebclient": "enabled", "centeredVideoGrid": "enabled", "disableCameraOff": "enabled", "disableJoinAndLeaveNotifications": "enabled", "disableMiniWindow": "enabled", "examScreenshare": "enabled", "liveStreaming": "enabled", "localRecording": "enabled", "raiseHands": "enabled", "shareContentOnlyToModerators": "enabled", "showRaisedHandsOnlyToModerators": "enabled", "sixteenByNineVideos": "enabled", "sortVideoGridAlphabetically": "enabled" } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### RoomFeaturesEdit | Property | Type | Required | Description | |---|---|---|---| | allowCopyRoomInfo | string or null | no | Allows moderators to copy the contents of the participant list to the clipboard. One of: `enabled`, `disabled`, `default`. | | blockWebclient | string or null | no | Prevents the button to join via browser from being displayed on the guest join page. One of: `enabled`, `disabled`, `default`. | | centeredVideoGrid | string or null | no | Centers participant videos on the stage. One of: `enabled`, `disabled`, `default`. | | disableCameraOff | string or null | no | Prevents the camera from being turned off. One of: `enabled`, `disabled`, `default`. | | disableJoinAndLeaveNotifications | string or null | no | Disables notifications when users join or leave the room. One of: `enabled`, `disabled`, `default`. | | disableMiniWindow | string or null | no | Prevents the displaying of the floating mini window when the alfaview window is minimized. One of: `enabled`, `disabled`, `default`. | | examScreenshare | string or null | no | All monitors of all participants in this room are shared with the moderators. Users with an incompatible version are not able to join the room. Linux users can always join the room due to technical limitations on Linux systems with this feature. One of: `enabled`, `disabled`, `default`. | | liveStreaming | string or null | no | Allows to live stream all video and audio in the alfaview room to external live streaming servers. One of: `enabled`, `disabled`, `default`. | | localRecording | string or null | no | Allows to record all video and audio in the alfaview room. Recorded video files are stored locally. One of: `enabled`, `disabled`, `default`. | | raiseHands | string or null | no | Allows participants and spectators to raise their hand to indicate that they want to say something. One of: `enabled`, `disabled`, `default`. | | shareContentOnlyToModerators | string or null | no | If enabled, only moderators can see active screen shares. One of: `enabled`, `disabled`, `default`. | | showRaisedHandsOnlyToModerators | string or null | no | If enabled, only moderators can see who is currently raising a hand. One of: `enabled`, `disabled`, `default`. | | sixteenByNineVideos | string or null | no | Uses 16:9 video aspect ratio for participant videos. One of: `enabled`, `disabled`, `default`. | | sortVideoGridAlphabetically | string or null | no | Displays participant videos in alphabetical order. (Overrides the default order-by-join-time behavior.) One of: `enabled`, `disabled`, `default`. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/UpdateRoomFeatures) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Delete Room Features `DELETE /v2/rooms/{roomId}/features` Operation ID: `DeleteRoomFeatures` · Tags: Rooms Sets all the room features of a room to default. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Responses ### 204 The request was processed successfully. ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/DeleteRoomFeatures) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Room Types `GET /v2/room-types` Operation ID: `ListRoomTypes` · Tags: Rooms Lists room types. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: array of RoomTypeData or null ```json [ { "maxActiveParticipants": 0, "maxSpectatorOnlyParticipants": 0, "maxSubRooms": 0, "name": "string", "total": 0, "used": 0 } ] ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ## Schemas ### RoomTypeData | Property | Type | Required | Description | |---|---|---|---| | maxActiveParticipants | integer (int32) | yes | The maximum number of active participants. Minimum: 0. | | maxSpectatorOnlyParticipants | integer (int32) | yes | The maximum number of spectator-only participants. Minimum: 0. | | maxSubRooms | integer (int32) | yes | The maximum number of subrooms. Minimum: 0. | | name | string | yes | The room type name. | | total | integer (int64) | yes | The total quota of this room type. Minimum: 0. | | used | integer (int64) | yes | The number of existing rooms using this room type. Minimum: 0. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListRoomTypes) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Room Permissions `GET /v2/rooms/{roomId}/permissions` Operation ID: `ListPermissions` · Tags: Rooms, Permissions Lists permissions applied in a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: RoomPermissions ```json { "groupLinkPermissions": [ { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ], "guestLinkPermissions": [ { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ], "userPermissions": [ { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ] } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### RoomPermissions | Property | Type | Required | Description | |---|---|---|---| | groupLinkPermissions | array of ParticipantPermissions or null | no | The permissions of group links for this room. | | guestLinkPermissions | array of ParticipantPermissions or null | no | The permissions of guest links for this room. | | userPermissions | array of ParticipantPermissions or null | no | The permissions of users for this room. | ### ParticipantPermissions | Property | Type | Required | Description | |---|---|---|---| | participantId | string | yes | The user ID / guest link ID / group link ID to which the permissions apply. | | permissions | Permissions | yes | The assigned permissions. | ### Permissions | Property | Type | Required | Description | |---|---|---|---| | admin | boolean | yes | If true, the associated user is an admin. | | chat | boolean | yes | Permission to chat. | | join | boolean | yes | Permission to join the room. | | promote | boolean | yes | Permission to promote permissions for other users. | | screen | boolean | yes | Permission to share the screen. | | upload | boolean | yes | Permission to upload files. | | video | boolean | yes | Permission to stream video input. | | vip | boolean | yes | Permission to mark users as VIP. | | voice | boolean | yes | Permission to speak. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListPermissions) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Create Room Permissions `POST /v2/rooms/{roomId}/permissions` Operation ID: `CreatePermissions` · Tags: Rooms, Permissions Creates permissions for a user that are applied in a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Request body The permissions to apply. Content-Type: `application/json` Schema: ParticipantPermissions ```json { "participantId": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 409 The resource already exists. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Conflict", "status": 409, "detail": "The resource already exists." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### ParticipantPermissions | Property | Type | Required | Description | |---|---|---|---| | participantId | string | yes | The user ID / guest link ID / group link ID to which the permissions apply. | | permissions | Permissions | yes | The assigned permissions. | ### Permissions | Property | Type | Required | Description | |---|---|---|---| | admin | boolean | yes | If true, the associated user is an admin. | | chat | boolean | yes | Permission to chat. | | join | boolean | yes | Permission to join the room. | | promote | boolean | yes | Permission to promote permissions for other users. | | screen | boolean | yes | Permission to share the screen. | | upload | boolean | yes | Permission to upload files. | | video | boolean | yes | Permission to stream video input. | | vip | boolean | yes | Permission to mark users as VIP. | | voice | boolean | yes | Permission to speak. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/CreatePermissions) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Update Room Permissions `PATCH /v2/rooms/{roomId}/permissions/{userId}` Operation ID: `UpdatePermissions` · Tags: Rooms, Permissions Updates permissions of a user that are applied in a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | | userId | path | string | yes | The user ID. | ## Request body The updated permissions. Content-Type: `application/json` Schema: PermissionsEdit ```json { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room or user permission was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room or user permission was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### PermissionsEdit | Property | Type | Required | Description | |---|---|---|---| | admin | boolean or null | no | Permission to act as an administrator. Administrators are allowed to edit or delete rooms, change room settings or features and manage guests in the room. | | chat | boolean or null | no | Permission to chat in the room. | | join | boolean or null | no | Permission to join the room. | | promote | boolean or null | no | Permission to promote permissions for other users for the room. | | screen | boolean or null | no | Permission to share the screen in the room. | | upload | boolean or null | no | Permission to upload files in the room. | | video | boolean or null | no | Permission to stream video input in the room. | | vip | boolean or null | no | Permission to mark users as VIP in the room. | | voice | boolean or null | no | Permission to speak in the room. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/UpdatePermissions) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Delete Room Permissions `DELETE /v2/rooms/{roomId}/permissions/{userId}` Operation ID: `DeletePermissions` · Tags: Rooms, Permissions Deletes permissions of a user that are applied in a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | | userId | path | string | yes | The user ID. | ## Responses ### 204 The request was processed successfully. ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/DeletePermissions) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Participants `GET /v2/rooms/{id}/participants` Operation ID: `ListParticipants` · Tags: Rooms Lists data about the participants who are currently in a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The room ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: array of SubroomParticipants or null ```json [ { "participants": [ { "displayName": "string", "inWaitingRoom": true, "isDialIn": true, "isGuest": true, "isSpectator": true, "onBreak": true, "userId": "00000000-0000-0000-0000-000000000000" } ], "subRoomId": "00000000-0000-0000-0000-000000000000" } ] ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### SubroomParticipants | Property | Type | Required | Description | |---|---|---|---| | participants | array of Participant or null | yes | The participants currently inside the subroom. | | subRoomId | string | yes | The subroom ID. | ### Participant | Property | Type | Required | Description | |---|---|---|---| | displayName | string | yes | The name that is displayed in UIs. | | inWaitingRoom | boolean | yes | If true, the user is not yet in the subroom but in the waiting room. | | isDialIn | boolean | yes | If true, the user is a dial-in user (connected via phone). | | isGuest | boolean | yes | If true, the user is a guest user. | | isSpectator | boolean | yes | If true, the user is a spectator. | | onBreak | boolean | yes | If true, the user is currently on a break. | | userId | string | yes | The user ID. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListParticipants) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get Language Settings `GET /v2/rooms/{roomId}/language-settings` Operation ID: `GetLanguageSettings` · Tags: Rooms Gets the language settings of a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: LanguageSettings ```json { "defaultSpokenLanguage": "string", "targetTranscriptionLanguages": [ "string" ], "transcriptionEnabled": true, "transcriptionType": "simple_transcription" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### LanguageSettings | Property | Type | Required | Description | |---|---|---|---| | defaultSpokenLanguage | string | no | The default spoken language. | | targetTranscriptionLanguages | array of string or null | no | The languages that the translation feature is translating the spoken words to. The translation into all of these languages is happening permanently as long as the feature is enabled, even if no participant has selected that language. To get the available transcription languages, refer to the 'List Available Languages' endpoint. | | transcriptionEnabled | boolean | yes | If true, the transcription feature is enabled in this room. | | transcriptionType | string | yes | The type of transcription as selectable for room administrators in the client. One of: `simple_transcription`, `digital_interpreter`. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetLanguageSettings) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Update Language Settings `PATCH /v2/rooms/{roomId}/language-settings` Operation ID: `UpdateLanguageSettings` · Tags: Rooms Updates the language settings of a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Request body The updated settings for the transcription and translation features. Content-Type: `application/json` Schema: LanguageSettingsEdit ```json { "defaultSpokenLanguage": "string", "targetTranscriptionLanguages": [ "string" ], "transcriptionEnabled": true, "transcriptionType": "simple_transcription" } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### LanguageSettingsEdit | Property | Type | Required | Description | |---|---|---|---| | defaultSpokenLanguage | string or null | no | The default spoken language. | | targetTranscriptionLanguages | array of string or null | no | The languages that the spoken words are translated into. The translation into all of these languages is happening continuously as long as the feature is enabled, even if no participant has selected that language. To get the available transcription languages, refer to the 'List Available Languages' endpoint. | | transcriptionEnabled | boolean or null | no | If true, the transcription feature is enabled in this room. | | transcriptionType | string or null | no | The type of transcription as selectable for room administrators in the client. One of: `simple_transcription`, `digital_interpreter`. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/UpdateLanguageSettings) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Available Languages `GET /v2/languages` Operation ID: `ListAvailableLanguages` · Tags: Rooms Lists the languages available for transcription and translation. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: Languages ```json { "transcription": [ "string" ], "translation": [ { "in": "string", "out": [ "string" ] } ] } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ## Schemas ### Languages | Property | Type | Required | Description | |---|---|---|---| | transcription | array of string or null | no | The available transcription languages. | | translation | array of Translation or null | no | The available language pairings for translation. | ### Translation | Property | Type | Required | Description | |---|---|---|---| | in | string | yes | The spoken language that should be translated. | | out | array of string or null | yes | The available languages the translation feature can translate the spoken language into. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListAvailableLanguages) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Regenerate Passcode `POST /v2/rooms/{roomId}/passcode` Operation ID: `RegeneratePasscode` · Tags: Rooms Generates a new passcode for a room. Passcodes are always generated, regardless of whether a passcode is required for the room. To require a passcode for a room, update the room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: Passcode ```json { "passcode": "string", "required": true } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### Passcode | Property | Type | Required | Description | |---|---|---|---| | passcode | string | yes | The passcode for a room. | | required | boolean | yes | If true, a passcode is required to enter the room. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/RegeneratePasscode) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get Passcode `GET /v2/rooms/{roomId}/passcode` Operation ID: `GetPasscode` · Tags: Rooms Gets the passcode for a room. Passcodes can be set regardless of whether a passcode is required for the room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: Passcode ```json { "passcode": "string", "required": true } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Room was not found or has no passcode set. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Room was not found or has no passcode set." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### Passcode | Property | Type | Required | Description | |---|---|---|---| | passcode | string | yes | The passcode for a room. | | required | boolean | yes | If true, a passcode is required to enter the room. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetPasscode) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get File Share Settings `GET /v2/rooms/{roomId}/file-share-settings` Operation ID: `GetRoomFileShareSettings` · Tags: Rooms, Files Gets the file share settings of a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: RoomSettings ```json { "defaultAccessLevel": "hidden", "enabled": true, "participantsCanUpload": true } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### RoomSettings | Property | Type | Required | Description | |---|---|---|---| | defaultAccessLevel | string | yes | The default access level for new files. One of: `hidden`, `visible`, `downloadable`. | | enabled | boolean | yes | If true, the file share feature is enabled in the room. This setting can be set regardless if the feature is activated in the company. If the feature is deactivated company-wide, the feature will not be available for rooms which have the feature enabled. | | participantsCanUpload | boolean | yes | If true, participants are allowed to upload files. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetRoomFileShareSettings) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Update File Share Settings `PATCH /v2/rooms/{roomId}/file-share-settings` Operation ID: `UpdateRoomFileShareSettings` · Tags: Rooms, Files Updates the file share settings of a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Request body The updated file share settings. Content-Type: `application/json` Schema: RoomSettingsUpdate ```json { "defaultAccessLevel": "hidden", "enabled": true, "participantsCanUpload": true } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### RoomSettingsUpdate | Property | Type | Required | Description | |---|---|---|---| | defaultAccessLevel | string or null | no | The default access level for new files. One of: `hidden`, `visible`, `downloadable`. | | enabled | boolean | no | If true, the file share feature is enabled in the room. This setting can be set regardless of whether the feature is activated in the company, but the feature activation can still be overruled by the company file share settings. Those are only accessible via the admin web application. | | participantsCanUpload | boolean | no | If true, participants are allowed to upload files. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/UpdateRoomFileShareSettings) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get File Share Limits `GET /v2/rooms/{roomId}/file-share-limits` Operation ID: `GetRoomFileShareLimits` · Tags: Rooms, Files Gets the storage limits for file sharing in a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: RoomLimits ```json { "maxFiles": 0, "maxTotalBytes": 0, "remainingFiles": 0, "remainingTotalBytes": 0 } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### RoomLimits | Property | Type | Required | Description | |---|---|---|---| | maxFiles | integer (int32) | yes | The maximum file count in a room. | | maxTotalBytes | integer (int64) | yes | The maximum total size of all files in a room. | | remainingFiles | integer (int32) | yes | The remaining allowed file count in a room. | | remainingTotalBytes | integer (int64) | yes | The remaining allowed total file size in a room. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetRoomFileShareLimits) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Own Meetings `GET /v2/meetings` Operation ID: `ListOwnMeetings` · Tags: Meetings Lists meetings created by the user authenticated via the access token in the Authorization header. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | from | query | string (date-time) | no | The earliest time at which the meeting is scheduled to be ongoing. | | to | query | string (date-time) | no | The latest time at which the meeting is scheduled to be ongoing. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: array of Meeting or null ```json [ { "agenda": "string", "canJoin": true, "canJoinAfter": "2024-09-22T12:34:56Z", "canceledAt": "2024-09-22T12:34:56Z", "createdAt": "2024-09-22T12:34:56Z", "createdBy": "00000000-0000-0000-0000-000000000000", "earlyAccessMinutes": 0, "end": "2024-09-22T12:34:56Z", "groupLinks": { "key": "string" }, "guestLinks": [ "string" ], "id": "00000000-0000-0000-0000-000000000000", "roomAvailable": true, "start": "2024-09-22T12:34:56Z", "state": "scheduled", "timezone": "Europe/Berlin", "title": "string" } ] ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ## Schemas ### Meeting | Property | Type | Required | Description | |---|---|---|---| | agenda | string | no | The meeting agenda. HTML is not allowed. | | canJoin | boolean | yes | If true, participants can join the meeting at the time of the request. | | canJoinAfter | string (date-time) | no | The timestamp of when participants can join the meeting. Will be omitted if the meeting has ended. | | canceledAt | string (date-time) | no | The timestamp of when the meeting was canceled (if it was canceled). | | createdAt | string (date-time) | yes | The creation timestamp. | | createdBy | string | yes | The creator user ID. | | earlyAccessMinutes | integer (int64) | no | The duration of the early access period to the meeting room in minutes. In this period, moderators or administrators can join the meeting. The meeting creator can always join 1 hour before the meeting starts. Regular invitees can never join early. | | end | string (date-time) | yes | The end time. | | groupLinks | map of string | no | The group links for the meeting. | | guestLinks | array of string or null | no | The guest links for the meeting. | | id | string | yes | The meeting ID. It can also be used as a 'roomId' to access the meeting room. | | roomAvailable | boolean | yes | If true, the meeting room is currently available.' | | start | string (date-time) | yes | The start time. | | state | string | yes | The current state. One of: `scheduled`, `ongoing`, `ended`, `canceled`. | | timezone | string | yes | The time zone used for time information. | | title | string | yes | The meeting. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListOwnMeetings) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get Own Meeting `GET /v2/meetings/{id}` Operation ID: `GetOwnMeeting` · Tags: Meetings Gets a meeting created by the user authenticated via the access token in the Authorization header. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The meeting ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: Meeting ```json { "agenda": "string", "canJoin": true, "canJoinAfter": "2024-09-22T12:34:56Z", "canceledAt": "2024-09-22T12:34:56Z", "createdAt": "2024-09-22T12:34:56Z", "createdBy": "00000000-0000-0000-0000-000000000000", "earlyAccessMinutes": 0, "end": "2024-09-22T12:34:56Z", "groupLinks": { "key": "string" }, "guestLinks": [ "string" ], "id": "00000000-0000-0000-0000-000000000000", "roomAvailable": true, "start": "2024-09-22T12:34:56Z", "state": "scheduled", "timezone": "Europe/Berlin", "title": "string" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Meeting was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Meeting was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### Meeting | Property | Type | Required | Description | |---|---|---|---| | agenda | string | no | The meeting agenda. HTML is not allowed. | | canJoin | boolean | yes | If true, participants can join the meeting at the time of the request. | | canJoinAfter | string (date-time) | no | The timestamp of when participants can join the meeting. Will be omitted if the meeting has ended. | | canceledAt | string (date-time) | no | The timestamp of when the meeting was canceled (if it was canceled). | | createdAt | string (date-time) | yes | The creation timestamp. | | createdBy | string | yes | The creator user ID. | | earlyAccessMinutes | integer (int64) | no | The duration of the early access period to the meeting room in minutes. In this period, moderators or administrators can join the meeting. The meeting creator can always join 1 hour before the meeting starts. Regular invitees can never join early. | | end | string (date-time) | yes | The end time. | | groupLinks | map of string | no | The group links for the meeting. | | guestLinks | array of string or null | no | The guest links for the meeting. | | id | string | yes | The meeting ID. It can also be used as a 'roomId' to access the meeting room. | | roomAvailable | boolean | yes | If true, the meeting room is currently available.' | | start | string (date-time) | yes | The start time. | | state | string | yes | The current state. One of: `scheduled`, `ongoing`, `ended`, `canceled`. | | timezone | string | yes | The time zone used for time information. | | title | string | yes | The meeting. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetOwnMeeting) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Create Meeting `POST /v2/meetings` Operation ID: `CreateMeeting` · Tags: Meetings Creates a meeting. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Request body The meeting to create. Content-Type: `application/json` Schema: MeetingCreate ```json { "agenda": "string", "earlyAccessMinutes": 0, "end": "2024-09-22T12:34:56Z", "groupLinks": [ { "description": "string", "dialInAllowed": true, "permissionGroupId": "00000000-0000-0000-0000-000000000000", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ], "guestLinks": [ { "dialInAllowed": true, "displayName": "string", "emailAddress": "user@example.com", "locale": "de-DE", "permissionGroupId": "00000000-0000-0000-0000-000000000000", "sendEmail": true, "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ], "passcodeRequired": true, "roomFeatures": { "allowCopyRoomInfo": "enabled", "blockWebclient": "enabled", "centeredVideoGrid": "enabled", "disableCameraOff": "enabled", "disableJoinAndLeaveNotifications": "enabled", "disableMiniWindow": "enabled", "examScreenshare": "enabled", "liveStreaming": "enabled", "localRecording": "enabled", "raiseHands": "enabled", "shareContentOnlyToModerators": "enabled", "showRaisedHandsOnlyToModerators": "enabled", "sixteenByNineVideos": "enabled", "sortVideoGridAlphabetically": "enabled" }, "start": "2024-09-22T12:34:56Z", "subroomDisplayNames": [ "string" ], "timezone": "Europe/Berlin", "title": "string", "waitingRoomEnabled": true, "waitingRoomWelcomeNote": "string" } ``` ## Responses ### 201 The requested resource was created. The returned ID can also be used as a 'roomId' to access the meeting room. Content-Type: `application/json` Schema: ID ```json { "id": "00000000-0000-0000-0000-000000000000" } ``` ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### MeetingCreate | Property | Type | Required | Description | |---|---|---|---| | agenda | string or null | no | The meeting agenda. HTML is not allowed. | | earlyAccessMinutes | integer (int64) or null | no | The duration of the early access period to the meeting room in minutes. In this period, moderators or administrators can join the meeting. The meeting creator can always join 1 hour before the meeting starts. Regular invitees can never join early. Minimum: 0. Maximum: 30. | | end | string (date-time) | yes | The end time. | | groupLinks | array of GroupLinkCreate or null | no | The group links for the meeting. If not provided, four default group links (moderator, participant, guest, spectator) will be created. If an empty list is provided, no links will be created. | | guestLinks | array of GuestLinkCreate or null | no | The guest links for the meeting. | | passcodeRequired | boolean or null | no | If true, a passcode is required to enter the meeting room. | | roomFeatures | RoomFeaturesEdit | yes | The feature configuration. If no state is specified for a feature, 'default' is assumed. | | start | string (date-time) | yes | The start time. | | subroomDisplayNames | array of string or null | no | The names of the subrooms of the meeting room that are displayed in UIs. | | timezone | string | yes | The time zone used for time information. | | title | string | yes | The meeting title. | | waitingRoomEnabled | boolean | yes | If true, participants will enter the waiting room when joining the room. A moderator can admit waiting participants to join the actual room. | | waitingRoomWelcomeNote | string or null | no | The welcome note that is shown to the participants as they join the waiting room. | ### GroupLinkCreate | Property | Type | Required | Description | |---|---|---|---| | description | string | yes | The group link description. | | dialInAllowed | boolean | yes | If true, the group link is allowed to be used via dial-in. | | permissionGroupId | string | yes | The permission group ID. | | validFrom | string (date-time) or null | no | The group link is valid from this point in time. | | validUntil | string (date-time) or null | no | The group link is valid until this point in time. | ### GuestLinkCreate | Property | Type | Required | Description | |---|---|---|---| | dialInAllowed | boolean | yes | If true, the guest link is allowed to be used via dial-in. | | displayName | string | yes | The name of the guest that is displayed in UIs. | | emailAddress | string (email) | yes | The email address associated with the guest link. | | locale | string | yes | The locale settings (e.g., UI language) for the guest link. One of: `de-DE`, `en-US`. | | permissionGroupId | string | yes | The permission group ID. | | sendEmail | boolean | no | If true, an information email with the guest link will be sent to the associated email address. | | validFrom | string (date-time) | no | The guest link is valid from this point in time. | | validUntil | string (date-time) | no | The guest link is valid until this point in time. | ### RoomFeaturesEdit | Property | Type | Required | Description | |---|---|---|---| | allowCopyRoomInfo | string or null | no | Allows moderators to copy the contents of the participant list to the clipboard. One of: `enabled`, `disabled`, `default`. | | blockWebclient | string or null | no | Prevents the button to join via browser from being displayed on the guest join page. One of: `enabled`, `disabled`, `default`. | | centeredVideoGrid | string or null | no | Centers participant videos on the stage. One of: `enabled`, `disabled`, `default`. | | disableCameraOff | string or null | no | Prevents the camera from being turned off. One of: `enabled`, `disabled`, `default`. | | disableJoinAndLeaveNotifications | string or null | no | Disables notifications when users join or leave the room. One of: `enabled`, `disabled`, `default`. | | disableMiniWindow | string or null | no | Prevents the displaying of the floating mini window when the alfaview window is minimized. One of: `enabled`, `disabled`, `default`. | | examScreenshare | string or null | no | All monitors of all participants in this room are shared with the moderators. Users with an incompatible version are not able to join the room. Linux users can always join the room due to technical limitations on Linux systems with this feature. One of: `enabled`, `disabled`, `default`. | | liveStreaming | string or null | no | Allows to live stream all video and audio in the alfaview room to external live streaming servers. One of: `enabled`, `disabled`, `default`. | | localRecording | string or null | no | Allows to record all video and audio in the alfaview room. Recorded video files are stored locally. One of: `enabled`, `disabled`, `default`. | | raiseHands | string or null | no | Allows participants and spectators to raise their hand to indicate that they want to say something. One of: `enabled`, `disabled`, `default`. | | shareContentOnlyToModerators | string or null | no | If enabled, only moderators can see active screen shares. One of: `enabled`, `disabled`, `default`. | | showRaisedHandsOnlyToModerators | string or null | no | If enabled, only moderators can see who is currently raising a hand. One of: `enabled`, `disabled`, `default`. | | sixteenByNineVideos | string or null | no | Uses 16:9 video aspect ratio for participant videos. One of: `enabled`, `disabled`, `default`. | | sortVideoGridAlphabetically | string or null | no | Displays participant videos in alphabetical order. (Overrides the default order-by-join-time behavior.) One of: `enabled`, `disabled`, `default`. | ### ID | Property | Type | Required | Description | |---|---|---|---| | id | string | yes | A unique identifier. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/CreateMeeting) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Update Meeting `PATCH /v2/meetings/{id}` Operation ID: `UpdateMeeting` · Tags: Meetings Updates a meeting. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The meeting ID. | ## Request body The updated meeting. Content-Type: `application/json` Schema: MeetingUpdate ```json { "agenda": "string", "earlyAccessMinutes": 0, "end": "2024-09-22T12:34:56Z", "start": "2024-09-22T12:34:56Z", "timezone": "Europe/Berlin", "title": "string" } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Meeting was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Meeting was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### MeetingUpdate | Property | Type | Required | Description | |---|---|---|---| | agenda | string or null | no | The meeting agenda. HTML is not allowed. | | earlyAccessMinutes | integer (int64) or null | no | The duration of the early access period to the meeting room in minutes. In this period, moderators or administrators can join the meeting. The meeting creator can always join 1 hour before the meeting starts. Regular invitees can never join early. Minimum: 0. Maximum: 30. | | end | string (date-time) or null | no | The end time. | | start | string (date-time) or null | no | The start time. | | timezone | string or null | no | The time zone used for time information. | | title | string or null | no | The meeting title. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/UpdateMeeting) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Cancel Meeting `POST /v2/meetings/{id}/cancellation` Operation ID: `CancelMeeting` · Tags: Meetings Cancels a meeting. Optionally, a notification email is sent to the creator and all invitees. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The meeting ID. | ## Request body Additional data needed for the cancellation. Content-Type: `application/json` Schema: MeetingCancellation ```json { "reason": "string", "sendNotification": true } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 404 Meeting was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Meeting was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### MeetingCancellation | Property | Type | Required | Description | |---|---|---|---| | reason | string or null | no | The reason for the cancellation. HTML is not allowed. | | sendNotification | boolean | yes | If true, a notification email will be sent to the creator and all invitees. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/CancelMeeting) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Guest Links `GET /v2/guest-links` Operation ID: `ListGuestLinks` · Tags: Guests Lists guest links. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | pageToken | query | string | no | For pagination: Pass the nextPageToken from the last successful request to obtain the next page. Omit on first request. | | limit | query | integer (int32) | no | For pagination: Limit the number of returned guest links. Minimum: 0. Maximum: 500. Default: `100`. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: PaginatedBodyListGuestLink ```json { "data": [ { "accessKey": "string", "createdAt": "2024-09-22T12:34:56Z", "createdBy": "string", "dialInAllowed": true, "dialInCode": "string", "displayName": "string", "emailAddress": "user@example.com", "id": "00000000-0000-0000-0000-000000000000", "joinUrl": "string", "locale": "de-DE", "origin": "string", "permissionGroupId": "00000000-0000-0000-0000-000000000000", "roomId": "00000000-0000-0000-0000-000000000000", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ], "nextPageToken": "string" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ## Schemas ### PaginatedBodyListGuestLink | Property | Type | Required | Description | |---|---|---|---| | data | array of GuestLink or null | yes | The actual data for a paginated request. | | nextPageToken | string | no | A token that can be used to obtain the next page of the requested data. | ### GuestLink | Property | Type | Required | Description | |---|---|---|---| | accessKey | string | yes | The access key. | | createdAt | string (date-time) | yes | The creation timestamp. | | createdBy | string | yes | The creator user ID. | | dialInAllowed | boolean | yes | If true, the guest link is allowed to be used via dial-in. | | dialInCode | string | yes | The dial-in authentication code. | | displayName | string | no | The name of the participant using the guest link that is displayed in UIs. | | emailAddress | string (email) | yes | The email address associated with the guest link. | | id | string | yes | The guest link ID. | | joinUrl | string | yes | The URL of the room join page. That page allows to choose whether to join the room with the native client or the web client | | locale | string | yes | The locale settings (e.g., UI language). One of: `de-DE`, `en-US`. | | origin | string | yes | String that specifies the creator or reason for the creation of the guest link (e.g., 'my external tool' or 'initial meeting delayed'). | | permissionGroupId | string | yes | The permission group ID. | | roomId | string | yes | The room ID. | | validFrom | string (date-time) | no | The guest link is valid from this point in time. | | validUntil | string (date-time) | no | The guest link is valid until this point in time. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListGuestLinks) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Guest Links for a Room `GET /v2/rooms/{roomId}/guest-links` Operation ID: `ListGuestLinksForRoom` · Tags: Guests Lists guest links for a room. Returns an empty array if the room does not exist. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | | pageToken | query | string | no | For pagination: Pass the nextPageToken from the last successful request to obtain the next page. Omit on first request. | | limit | query | integer (int32) | no | For pagination: Limit the number of returned guest links. Minimum: 0. Maximum: 500. Default: `100`. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: PaginatedBodyListGuestLink ```json { "data": [ { "accessKey": "string", "createdAt": "2024-09-22T12:34:56Z", "createdBy": "string", "dialInAllowed": true, "dialInCode": "string", "displayName": "string", "emailAddress": "user@example.com", "id": "00000000-0000-0000-0000-000000000000", "joinUrl": "string", "locale": "de-DE", "origin": "string", "permissionGroupId": "00000000-0000-0000-0000-000000000000", "roomId": "00000000-0000-0000-0000-000000000000", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ], "nextPageToken": "string" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### PaginatedBodyListGuestLink | Property | Type | Required | Description | |---|---|---|---| | data | array of GuestLink or null | yes | The actual data for a paginated request. | | nextPageToken | string | no | A token that can be used to obtain the next page of the requested data. | ### GuestLink | Property | Type | Required | Description | |---|---|---|---| | accessKey | string | yes | The access key. | | createdAt | string (date-time) | yes | The creation timestamp. | | createdBy | string | yes | The creator user ID. | | dialInAllowed | boolean | yes | If true, the guest link is allowed to be used via dial-in. | | dialInCode | string | yes | The dial-in authentication code. | | displayName | string | no | The name of the participant using the guest link that is displayed in UIs. | | emailAddress | string (email) | yes | The email address associated with the guest link. | | id | string | yes | The guest link ID. | | joinUrl | string | yes | The URL of the room join page. That page allows to choose whether to join the room with the native client or the web client | | locale | string | yes | The locale settings (e.g., UI language). One of: `de-DE`, `en-US`. | | origin | string | yes | String that specifies the creator or reason for the creation of the guest link (e.g., 'my external tool' or 'initial meeting delayed'). | | permissionGroupId | string | yes | The permission group ID. | | roomId | string | yes | The room ID. | | validFrom | string (date-time) | no | The guest link is valid from this point in time. | | validUntil | string (date-time) | no | The guest link is valid until this point in time. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListGuestLinksForRoom) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get Guest Link `GET /v2/guest-links/{id}` Operation ID: `GetGuestLink` · Tags: Guests Gets a single guest link. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The guest link ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: GuestLink ```json { "accessKey": "string", "createdAt": "2024-09-22T12:34:56Z", "createdBy": "string", "dialInAllowed": true, "dialInCode": "string", "displayName": "string", "emailAddress": "user@example.com", "id": "00000000-0000-0000-0000-000000000000", "joinUrl": "string", "locale": "de-DE", "origin": "string", "permissionGroupId": "00000000-0000-0000-0000-000000000000", "roomId": "00000000-0000-0000-0000-000000000000", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Guest was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Guest was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### GuestLink | Property | Type | Required | Description | |---|---|---|---| | accessKey | string | yes | The access key. | | createdAt | string (date-time) | yes | The creation timestamp. | | createdBy | string | yes | The creator user ID. | | dialInAllowed | boolean | yes | If true, the guest link is allowed to be used via dial-in. | | dialInCode | string | yes | The dial-in authentication code. | | displayName | string | no | The name of the participant using the guest link that is displayed in UIs. | | emailAddress | string (email) | yes | The email address associated with the guest link. | | id | string | yes | The guest link ID. | | joinUrl | string | yes | The URL of the room join page. That page allows to choose whether to join the room with the native client or the web client | | locale | string | yes | The locale settings (e.g., UI language). One of: `de-DE`, `en-US`. | | origin | string | yes | String that specifies the creator or reason for the creation of the guest link (e.g., 'my external tool' or 'initial meeting delayed'). | | permissionGroupId | string | yes | The permission group ID. | | roomId | string | yes | The room ID. | | validFrom | string (date-time) | no | The guest link is valid from this point in time. | | validUntil | string (date-time) | no | The guest link is valid until this point in time. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetGuestLink) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Create Guest Links `POST /v2/rooms/{roomId}/guest-links` Operation ID: `CreateGuestLinks` · Tags: Guests Creates guest links for a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Request body The guest links to create. Content-Type: `application/json` Schema: CreateGuestLinksRequestBody ```json { "create": [ { "dialInAllowed": true, "displayName": "string", "emailAddress": "user@example.com", "locale": "de-DE", "permissionGroupId": "00000000-0000-0000-0000-000000000000", "sendEmail": true, "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ], "origin": "string", "timezone": "Europe/Berlin" } ``` ## Responses ### 201 The requested resource was created. Content-Type: `application/json` Schema: array of ID or null ```json [ { "id": "00000000-0000-0000-0000-000000000000" } ] ``` ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### CreateGuestLinksRequestBody | Property | Type | Required | Description | |---|---|---|---| | create | array of GuestLinkCreate or null | yes | The guest links. Minimum items: 1. | | origin | string or null | no | Specifies the creator or reason for the creation of the guest links (e.g., 'my external tool' or 'initial meeting delayed'). | | timezone | string or null | no | The time zone to use in the notification emails. Can be 'UTC', 'Local' or a TZ identifier from the IANA time zone database. If empty, the default is 'Europe/Berlin'. | ### GuestLinkCreate | Property | Type | Required | Description | |---|---|---|---| | dialInAllowed | boolean | yes | If true, the guest link is allowed to be used via dial-in. | | displayName | string | yes | The name of the guest that is displayed in UIs. | | emailAddress | string (email) | yes | The email address associated with the guest link. | | locale | string | yes | The locale settings (e.g., UI language) for the guest link. One of: `de-DE`, `en-US`. | | permissionGroupId | string | yes | The permission group ID. | | sendEmail | boolean | no | If true, an information email with the guest link will be sent to the associated email address. | | validFrom | string (date-time) | no | The guest link is valid from this point in time. | | validUntil | string (date-time) | no | The guest link is valid until this point in time. | ### ID | Property | Type | Required | Description | |---|---|---|---| | id | string | yes | A unique identifier. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/CreateGuestLinks) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Update Guest Link `PATCH /v2/guest-links/{id}` Operation ID: `UpdateGuestLink` · Tags: Guests Updates a guest link. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The guest link ID. | ## Request body The updated guest link. Content-Type: `application/json` Schema: GuestLinkUpdate ```json { "dialInAllowed": true, "displayName": "string", "emailAddress": "user@example.com", "locale": "de-DE", "permissionGroupId": "00000000-0000-0000-0000-000000000000", "sendEmail": true, "timezone": "Europe/Berlin", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 404 Guest link was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Guest link was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### GuestLinkUpdate | Property | Type | Required | Description | |---|---|---|---| | dialInAllowed | boolean | no | If true, the guest link is allowed to be used via dial-in. | | displayName | string | yes | The name of the guest that is displayed in UIs. | | emailAddress | string (email) | no | The email address associated with the guest link. | | locale | string | no | The locale settings (e.g., UI language) for the guest link. One of: `de-DE`, `en-US`. | | permissionGroupId | string or null | no | The permission group ID. | | sendEmail | boolean | yes | If true, an information email with the updated guest link information will be sent to the associated email address. | | timezone | string or null | no | The time zone to use in the notification emails. Can be 'UTC', 'Local' or a TZ identifier from the IANA time zone database. If empty, the default is 'Europe/Berlin'. | | validFrom | string (date-time) | no | The guest link is valid from this point in time. | | validUntil | string (date-time) | no | The guest link is valid until this point in time. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/UpdateGuestLink) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Delete Guest Link `DELETE /v2/rooms/{roomId}/guest-links/{id}` Operation ID: `DeleteGuestLink` · Tags: Guests Deletes a guest link. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The guest link ID. | | roomId | path | string | yes | The room ID. | ## Responses ### 204 The request was processed successfully. ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/DeleteGuestLink) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Group Links `GET /v2/group-links` Operation ID: `ListGroupLinks` · Tags: Guests Lists group links. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | pageToken | query | string | no | For pagination: Pass the nextPageToken from the last successful request to obtain the next page. Omit on first request. | | limit | query | integer (int32) | no | For pagination: Limit the number of returned group links. Minimum: 0. Maximum: 500. Default: `100`. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: PaginatedBodyListGroupLink ```json { "data": [ { "accessKey": "string", "createdAt": "2024-09-22T12:34:56Z", "createdBy": "string", "description": "string", "dialInAllowed": true, "dialInCode": "string", "id": "00000000-0000-0000-0000-000000000000", "joinLink": "string", "joinUrl": "string", "origin": "string", "permissionGroupId": "00000000-0000-0000-0000-000000000000", "roomId": "00000000-0000-0000-0000-000000000000", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ], "nextPageToken": "string" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ## Schemas ### PaginatedBodyListGroupLink | Property | Type | Required | Description | |---|---|---|---| | data | array of GroupLink or null | yes | The actual data for a paginated request. | | nextPageToken | string | no | A token that can be used to obtain the next page of the requested data. | ### GroupLink | Property | Type | Required | Description | |---|---|---|---| | accessKey | string | yes | The access key. | | createdAt | string (date-time) | yes | The creation timestamp. | | createdBy | string | yes | The creator user ID. | | description | string | yes | A description of the group link. | | dialInAllowed | boolean | yes | If true, the group link is allowed to be used via dial-in. | | dialInCode | string | yes | The dial-in authentication code for the group link. | | id | string | yes | The group link ID. | | joinLink | string | yes | Deprecated. Use joinUrl instead. Deprecated. | | joinUrl | string | yes | The URL of the room join page. That page allows the user to set a display name and to choose whether to join the room with the native client or the web client. | | origin | string | yes | String that specifies the creator or reason for the creation of the group link (e.g., 'my external tool' or 'initial meeting delayed'). | | permissionGroupId | string | yes | The permission group ID. | | roomId | string | yes | The room ID. | | validFrom | string (date-time) | no | The group link is valid from this point in time. | | validUntil | string (date-time) | no | The group link is valid until this point in time. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListGroupLinks) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Group Links for Room `GET /v2/rooms/{roomId}/group-links` Operation ID: `ListGroupLinksForRoom` · Tags: Guests Lists group links for a room. Returns an empty array if the room does not exist. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | | pageToken | query | string | no | For pagination: Pass the nextPageToken from the last successful request to obtain the next page. Omit on first request. | | limit | query | integer (int32) | no | For pagination: Limit the number of returned group links. Minimum: 0. Maximum: 500. Default: `100`. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: PaginatedBodyListGroupLink ```json { "data": [ { "accessKey": "string", "createdAt": "2024-09-22T12:34:56Z", "createdBy": "string", "description": "string", "dialInAllowed": true, "dialInCode": "string", "id": "00000000-0000-0000-0000-000000000000", "joinLink": "string", "joinUrl": "string", "origin": "string", "permissionGroupId": "00000000-0000-0000-0000-000000000000", "roomId": "00000000-0000-0000-0000-000000000000", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ], "nextPageToken": "string" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### PaginatedBodyListGroupLink | Property | Type | Required | Description | |---|---|---|---| | data | array of GroupLink or null | yes | The actual data for a paginated request. | | nextPageToken | string | no | A token that can be used to obtain the next page of the requested data. | ### GroupLink | Property | Type | Required | Description | |---|---|---|---| | accessKey | string | yes | The access key. | | createdAt | string (date-time) | yes | The creation timestamp. | | createdBy | string | yes | The creator user ID. | | description | string | yes | A description of the group link. | | dialInAllowed | boolean | yes | If true, the group link is allowed to be used via dial-in. | | dialInCode | string | yes | The dial-in authentication code for the group link. | | id | string | yes | The group link ID. | | joinLink | string | yes | Deprecated. Use joinUrl instead. Deprecated. | | joinUrl | string | yes | The URL of the room join page. That page allows the user to set a display name and to choose whether to join the room with the native client or the web client. | | origin | string | yes | String that specifies the creator or reason for the creation of the group link (e.g., 'my external tool' or 'initial meeting delayed'). | | permissionGroupId | string | yes | The permission group ID. | | roomId | string | yes | The room ID. | | validFrom | string (date-time) | no | The group link is valid from this point in time. | | validUntil | string (date-time) | no | The group link is valid until this point in time. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListGroupLinksForRoom) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get Group Link `GET /v2/group-links/{id}` Operation ID: `GetGroupLink` · Tags: Guests Gets a single group link. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The group link ID. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: GroupLink ```json { "accessKey": "string", "createdAt": "2024-09-22T12:34:56Z", "createdBy": "string", "description": "string", "dialInAllowed": true, "dialInCode": "string", "id": "00000000-0000-0000-0000-000000000000", "joinLink": "string", "joinUrl": "string", "origin": "string", "permissionGroupId": "00000000-0000-0000-0000-000000000000", "roomId": "00000000-0000-0000-0000-000000000000", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 404 Group was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Group was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### GroupLink | Property | Type | Required | Description | |---|---|---|---| | accessKey | string | yes | The access key. | | createdAt | string (date-time) | yes | The creation timestamp. | | createdBy | string | yes | The creator user ID. | | description | string | yes | A description of the group link. | | dialInAllowed | boolean | yes | If true, the group link is allowed to be used via dial-in. | | dialInCode | string | yes | The dial-in authentication code for the group link. | | id | string | yes | The group link ID. | | joinLink | string | yes | Deprecated. Use joinUrl instead. Deprecated. | | joinUrl | string | yes | The URL of the room join page. That page allows the user to set a display name and to choose whether to join the room with the native client or the web client. | | origin | string | yes | String that specifies the creator or reason for the creation of the group link (e.g., 'my external tool' or 'initial meeting delayed'). | | permissionGroupId | string | yes | The permission group ID. | | roomId | string | yes | The room ID. | | validFrom | string (date-time) | no | The group link is valid from this point in time. | | validUntil | string (date-time) | no | The group link is valid until this point in time. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetGroupLink) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Create Group Links `POST /v2/rooms/{roomId}/group-links` Operation ID: `CreateGroupLink` · Tags: Guests Creates group links for a room. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | ## Request body The group links to create. Content-Type: `application/json` Schema: CreateGroupLinksRequestBody ```json { "create": [ { "description": "string", "dialInAllowed": true, "permissionGroupId": "00000000-0000-0000-0000-000000000000", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ], "origin": "string" } ``` ## Responses ### 201 The requested resource was created. Content-Type: `application/json` Schema: array of ID or null ```json [ { "id": "00000000-0000-0000-0000-000000000000" } ] ``` ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### CreateGroupLinksRequestBody | Property | Type | Required | Description | |---|---|---|---| | create | array of GroupLinkCreate or null | yes | The group links. Minimum items: 1. | | origin | string or null | no | Specifies the creator or reason for the creation of the group links (e.g., 'my external tool' or 'initial meeting delayed'). | ### GroupLinkCreate | Property | Type | Required | Description | |---|---|---|---| | description | string | yes | The group link description. | | dialInAllowed | boolean | yes | If true, the group link is allowed to be used via dial-in. | | permissionGroupId | string | yes | The permission group ID. | | validFrom | string (date-time) or null | no | The group link is valid from this point in time. | | validUntil | string (date-time) or null | no | The group link is valid until this point in time. | ### ID | Property | Type | Required | Description | |---|---|---|---| | id | string | yes | A unique identifier. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/CreateGroupLink) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Update Group Link `PATCH /v2/group-links/{id}` Operation ID: `UpdateGroupLink` · Tags: Guests Updates a group link. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The group link ID. | ## Request body The updated group link. Content-Type: `application/json` Schema: GroupLinkUpdate ```json { "description": "string", "dialInAllowed": true, "permissionGroupId": "00000000-0000-0000-0000-000000000000", "validFrom": "2024-09-22T12:34:56Z", "validUntil": "2024-09-23T12:34:56Z" } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 404 Group link was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Group link was not found." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### GroupLinkUpdate | Property | Type | Required | Description | |---|---|---|---| | description | string or null | no | The group link description. | | dialInAllowed | boolean or null | no | If true, the group link is allowed to be used via dial-in. | | permissionGroupId | string or null | no | The permission group ID. | | validFrom | string (date-time) or null | no | The group link is valid from this point in time. | | validUntil | string (date-time) or null | no | The group link is valid until this point in time. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/UpdateGroupLink) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Delete Group Link `DELETE /v2/rooms/{roomId}/group-links/{id}` Operation ID: `DeleteGroupLink` · Tags: Guests Deletes a group link. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The group link ID. | | roomId | path | string | yes | The room ID. | ## Responses ### 204 The request was processed successfully. ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/DeleteGroupLink) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Statistics `GET /v2/stats` Operation ID: `ListStatistics` · Tags: Reports Lists statistics for provided filters grouped by time periods depending on the corresponding query parameter. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | from | query | string (date-time) | yes | The start time of the time period to consider in the report. The earliest start time can be exactly 62 days in the past. | | to | query | string (date-time) | yes | The end time of the time period to consider in the report. | | stepDurationHours | query | integer (int64) | yes | The duration of the time periods to group the report results in hours. Minimum: 1. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: array of StatsPeriod or null ```json [ { "from": "2024-09-22T11:00:00Z", "meetings": { "activeCount": 0, "roomOnlineSeconds": 0, "sessionCount": 0, "usersOnlineSeconds": 0 }, "rooms": { "activeCount": 0, "roomOnlineSeconds": 0, "sessionCount": 0, "usersOnlineSeconds": 0 }, "to": "2024-09-22T12:00:00Z" } ] ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### StatsPeriod | Property | Type | Required | Description | |---|---|---|---| | from | string (date-time) | yes | The start time of the considered time period. | | meetings | Stats | yes | Statistics for meetings. | | rooms | Stats | yes | Statistics for rooms. | | to | string (date-time) | yes | The end time of the considered time period. | ### Stats | Property | Type | Required | Description | |---|---|---|---| | activeCount | integer (int64) | yes | The number of rooms with active users. Minimum: 0. | | roomOnlineSeconds | integer (int64) | yes | The total duration of rooms having at least one person connected in seconds. Minimum: 0. | | sessionCount | integer (int64) | yes | The number of active sessions. A session is a contiguous period of time the user was in the room (beginning with either a join or the start of the time period (if the user had joined before the start of the time period) and ending with a leave or the end of the time period (if the user was still in the room at the end of the time period). Minimum: 0. | | usersOnlineSeconds | integer (int64) | yes | The total duration of users being connected to a room in seconds. Minimum: 0. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListStatistics) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Attendances `GET /v2/rooms/{roomId}/attendances` Operation ID: `ListAttendances` · Tags: Reports Lists attendances at a room during a time period. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | roomId | path | string | yes | The room ID. | | from | query | string (date-time) | yes | The start time of the time period to consider in the report. | | to | query | string (date-time) | yes | The end time of the time period to consider in the report. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: array of UserAttendances or null ```json [ { "attendances": [ { "displayName": "string", "from": "2024-09-22T11:00:00Z", "to": "2024-09-22T12:00:00Z" } ], "userId": "00000000-0000-0000-0000-000000000000" } ] ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### UserAttendances | Property | Type | Required | Description | |---|---|---|---| | attendances | array of Attendance or null | yes | The attendances. | | userId | string | yes | The user ID. | ### Attendance | Property | Type | Required | Description | |---|---|---|---| | displayName | string | yes | The name of the user that was displayed in UIs at the time of the attendance. | | from | string (date-time) | yes | The start time. | | to | string (date-time) | yes | The end time. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListAttendances) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Invite User `POST /v2/users/invitation` Operation ID: `InviteUser` · Tags: Users Invites a user to the company of the requester. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Request body The user to invite. Content-Type: `application/json` Schema: UserInvitation ```json { "permissions": { "manageCompany": true, "roomAdmin": true, "roomCreate": true, "roomList": true, "userAdmin": true, "userList": true, "userShow": true }, "user": { "emailAddress": "user@provider.com", "firstName": "string", "lastName": "string", "locale": "de-DE", "title": "Dr." } } ``` ## Responses ### 202 The invitation request was successful. Note that the user might not be available immediately after the response was sent. This can take up to a few minutes. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 403 The requesting user does not have the necessary permissions. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Forbidden", "status": 403, "detail": "The requesting user does not have the necessary permissions." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### UserInvitation | Property | Type | Required | Description | |---|---|---|---| | permissions | InviteUserPermissions | yes | The user permissions. | | user | UserInformation | yes | Data about the invited user. | ### InviteUserPermissions | Property | Type | Required | Description | |---|---|---|---| | manageCompany | boolean | yes | If true, the user can manage company settings. Implies userAdmin, roomAdmin and userShow. | | roomAdmin | boolean | yes | If true, the user can create, update and delete any room. Implies roomList and roomCreate. | | roomCreate | boolean | yes | If true, the user can create rooms for their company. | | roomList | boolean | yes | If true, the user can list all rooms in their company. | | userAdmin | boolean | yes | If true, the user can create, update and delete other users, send password reset mails and resend sign-up mails for new users. Implies userList. | | userList | boolean | yes | If true, the user can list all users in their company. | | userShow | boolean | yes | If true, the user can see the user names of all users in rooms they can access. | ### UserInformation | Property | Type | Required | Description | |---|---|---|---| | emailAddress | string (email) | yes | The email address. | | firstName | string | yes | The first name. | | lastName | string | yes | The last name. | | locale | string | no | The locale settings (e.g., UI language) for the user. One of: `de-DE`, `en-US`. | | title | string | no | The title. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/InviteUser) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Users `GET /v2/users` Operation ID: `ListUsers` · Tags: Users Lists all users in the company. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | emailAddress | query | string (email) | no | The email address. | ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: array of User or null ```json [ { "city": "string", "emailAddress": "user@provider.com", "firstName": "string", "id": "00000000-0000-0000-0000-000000000000", "initials": "string", "lastName": "string", "locale": "de-DE", "title": "Dr." } ] ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### User | Property | Type | Required | Description | |---|---|---|---| | city | string | no | The city the user is located in. | | emailAddress | string (email) | yes | The email address. | | firstName | string | yes | The first name. | | id | string | yes | The user ID. | | initials | string | no | The initials. | | lastName | string | yes | The last name. | | locale | string | yes | The locale settings (e.g., UI language) for the user. One of: `de-DE`, `en-US`. | | title | string | no | The title. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListUsers) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get Own User `GET /v2/users/me` Operation ID: `GetOwnUser` · Tags: Users Returns the profile of the requesting user. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: UserProfile ```json { "city": "string", "emailAddress": "user@provider.com", "firstName": "string", "id": "00000000-0000-0000-0000-000000000000", "initials": "string", "lastName": "string", "locale": "de-DE", "title": "Dr." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ## Schemas ### UserProfile | Property | Type | Required | Description | |---|---|---|---| | city | string | yes | The city, the user is located in. | | emailAddress | string (email) | yes | The email address. | | firstName | string | yes | The first name. | | id | string | yes | The user ID. | | initials | string | yes | The initials. | | lastName | string | yes | The last name. | | locale | string | yes | The locale settings (e.g., UI language) for the user. One of: `de-DE`, `en-US`. | | title | string | no | The title. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetOwnUser) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Update Own User `PATCH /v2/users` Operation ID: `UpdateUser` · Tags: Users Updates the requester's user information. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Request body The updated user information. Content-Type: `application/json` Schema: UserUpdate ```json { "city": "string", "firstName": "string", "initials": "string", "lastName": "string", "locale": "de-DE", "title": "Dr." } ``` ## Responses ### 204 The request was processed successfully. ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### UserUpdate | Property | Type | Required | Description | |---|---|---|---| | city | string | no | The city the user is located in. | | firstName | string | no | The first name. | | initials | string | no | The initials. | | lastName | string | no | The last name. | | locale | string | no | The locale settings (e.g., UI language) for the user. One of: `de-DE`, `en-US`. | | title | string | no | The title. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/UpdateUser) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Delete User `DELETE /v2/users/{id}` Operation ID: `DeleteUser` · Tags: Users Deletes a user. If the user is logged in at the time of the deletion, it can take up to an hour until the user is fully unable to access any part of the system. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Parameters | Name | In | Type | Required | Description | |---|---|---|---|---| | id | path | string | yes | The user ID. | ## Responses ### 204 The request was processed successfully. ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/DeleteUser) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # Get own company `GET /v2/users/me/company` Operation ID: `GetOwnCompany` · Tags: Users Returns the company of the requester. ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: Company ```json { "companyId": "0123456789ABCDEFGHIJKLMNOP", "createdAt": "2026-09-01T10:00:00Z", "displayName": "string" } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 422 An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unprocessable Entity", "status": 422, "detail": "An entity in the request cannot be processed. Either a validation (e.g. ID validity) did not succeed or a precondition was not met." } ``` ## Schemas ### Company | Property | Type | Required | Description | |---|---|---|---| | companyId | string | yes | The ID. | | createdAt | string (date-time) | yes | The time at which the company was created. | | displayName | string | yes | The display name. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/GetOwnCompany) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml) --- # List Permission Groups `GET /v2/permission-groups` Operation ID: `ListPermissionGroups` · Tags: Permissions Lists permission groups. Permission groups are predefined permissions that can be applied to users (e.g., Admin, Guest, etc.). ## Authentication Requires an access token in the `Authorization` header with the `Bearer ` prefix. Access tokens are returned by the authentication operations and are accepted without the 'Bearer ' prefix. See the [overview](https://apis.alfaview.com/v2/docs/overview.md#authentication) for details. ## Responses ### 200 The request was processed successfully. Content-Type: `application/json` Schema: array of PermissionGroup or null ```json [ { "id": "00000000-0000-0000-0000-000000000000", "name": "Admin", "permissions": { "admin": true, "chat": true, "join": true, "promote": true, "screen": true, "upload": true, "video": true, "vip": true, "voice": true } } ] ``` ### 400 The request was not valid. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Bad Request", "status": 400, "detail": "The request was not valid." } ``` ### 401 The 'Authorization' header did not contain a valid API token. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Unauthorized", "status": 401, "detail": "The 'Authorization' header did not contain a valid API token." } ``` ### 404 Permission group or company was not found. Content-Type: `application/problem+json` Schema: [ErrorModel](https://apis.alfaview.com/v2/docs/overview.md#errors) ```json { "title": "Not Found", "status": 404, "detail": "Permission group or company was not found." } ``` ## Schemas ### PermissionGroup | Property | Type | Required | Description | |---|---|---|---| | id | string | yes | The permission group ID. | | name | string | yes | The name of the permission group. | | permissions | Permissions | yes | The attached permissions. | ### Permissions | Property | Type | Required | Description | |---|---|---|---| | admin | boolean | yes | If true, the associated user is an admin. | | chat | boolean | yes | Permission to chat. | | join | boolean | yes | Permission to join the room. | | promote | boolean | yes | Permission to promote permissions for other users. | | screen | boolean | yes | Permission to share the screen. | | upload | boolean | yes | Permission to upload files. | | video | boolean | yes | Permission to stream video input. | | vip | boolean | yes | Permission to mark users as VIP. | | voice | boolean | yes | Permission to speak. | ## Links - [Interactive documentation](https://apis.alfaview.com/v2/docs/openapi#/operations/ListPermissionGroups) - [OpenAPI specification](https://apis.alfaview.com/v2/docs/openapi.yaml)