createRoom method

Create a room with a user, a group or a circle.

With the conversation-creation-all capability a lot of new options where introduced. Before that only $roomType, $roomName, $objectType and $objectId were supported all the time, and $password with the conversation-creation-password capability In case the $roomType is {@see Room::TYPE_ONE_TO_ONE} only the $invite or $participants parameter is supported.

Returns a Future containing a DynamiteResponse with the status code, deserialized body and headers. Throws a DynamiteApiException if the API call does not return an expected status code.

Parameters:

  • apiVersion Defaults to "v4".
  • oCSAPIRequest Required to be true for the API request to pass. Defaults to true.

Status codes:

  • 200: Room already existed
  • 201: Room created successfully
  • 202: Room created successfully but not all participants could be added
  • 400: Room type invalid or missing or invalid password
  • 403: Missing permissions to create room
  • 404: User, group or other target to invite was not found

See:

Implementation

Future<_i1.DynamiteResponse<RoomCreateRoomResponseApplicationJson, void>> createRoom({
  required RoomCreateRoomRequestApplicationJson $body,
  RoomCreateRoomApiVersion? apiVersion,
  bool? oCSAPIRequest,
}) async {
  final _request = $createRoom_Request(apiVersion: apiVersion, oCSAPIRequest: oCSAPIRequest, $body: $body);
  final _streamedResponse = await _rootClient.httpClient.send(_request);
  final _response = await _i3.Response.fromStream(_streamedResponse);

  final _serializer = $createRoom_Serializer();
  return _i1.ResponseConverter<RoomCreateRoomResponseApplicationJson, void>(_serializer).convert(_response);
}