#########################
Video Conferences Service
#########################

.. tip::

   `OpenAPI Reference </_static/api.html?api=public/conferences_service>`__

Video Conference Services allows users to hold secure and privacy-compliant online meetings with people with (internal) or without (external) access to the same data room. As well as voice and video, screensharing is also possible.

The endpoints included in this service are:

.. list-table::
   :header-rows: 1
   :widths: 10 45 45

   * - METHOD
     - PATH
     - SUMMARY
   * - GET
     - /v1/anon/video-conference/{link}
     - Join (External)
   * - POST
     - /v1/video-conferences/{dataroomId}/children/add
     - Add Video Conference
   * - GET
     - /v1/video-conferences/{dataroomId}/children/{iterator}/start/{startIndex}/limit/{limit}/sort/{sortOrder}/direction/{sortDirection}
     - Get Children
   * - POST
     - /v1/video-conferences/{dataroomId}/multi-delete
     - Mult Delete
   * - GET
     - /v1/video-conferences/{dataroomId}/{itemId}/properties
     - Get Properties
   * - PATCH
     - /v1/video-conferences/{dataroomId}/{itemId}/properties
     - Update
   * - GET
     - /v1/video-conferences/{dataroomId}/{itemId}/{audioMuted}/{videoMuted}/join
     - Join (Internal)

Join (External)
===============

`GET /v1/anon/video-conference/{link}`

Allows users who do not have an account in this data room to join a video conference. This call is anonymous.

Authorizations
--------------

Anonymous

Parameters
----------

link: string, required
 The link to the video conference. Is generated when the conference is created.
 
 **Example:** /v1/anon/video-conference/**{link}**

Responses
---------

**200: A successful response.**

**400: An invalid identifier.**

.. code-block:: json

    {
      "errors": [
      {
        "field": "string",
        "code": "string",
        "args": {
        "property1": "string",
        "property2": "string"
          }
      }
      ]
    }

**401: User is not logged in.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**403: User does not have permission to access the resource.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**404: Item not found, or the user does not have access to it.**

.. code-block:: json

    "string"

**500: A server error.**

.. code-block:: json

    "string"

**default: An unexpected error occurred.**

.. code-block:: json

    {
      "code": 0,
      "message": "string",
      "details": [
        {
          "@type": "string",
          "property1": null,
          "property2": null
        }
      ]
    }


Add Video Conference
====================

`POST /v1/video-conferences/{dataroomId}/children/add`

Creates a new video conference. A video conference is made up of a title, start and end dates, recurrence rules, a short description, as well as a list of internal and external participants. Recurrence rules mean how often and in which days the meeting will repeat. An internal participant is a member of the data room, while an external participant is not a member of that data room.

Authorizations
--------------

ApiKeyAuth

.. include:: ``ApiKeyAuth``

Parameters
----------

dataroomId: string, required
 The dataroom where the item is stored. They are generated automatically when a new dataroom is created.
 
 **Example:** /v1/annotations/**{dataroomId}**/{itemId}

Body Parameters
---------------

newItem: object, required
  One conference entry. The main data it contains are the internal participants (``internalParticipant``), the date and time of the video conference (``accessFrom`` and ``accessTo``) and it's recurence rule (``rrule``). Recurence rules are how many times and in which days the conference will repeat.

Request sample
--------------

A request should look something like this:

.. code-block:: json
        
  {
    "id": "",
    "dataroomId": "",
    "name": "",
    "type": "",
    "documentClass": "",
    "author": "",
    "title": "Sept 15",
    "description": "<p>This is my description</p>",
    "icon": "",
    "externalParticipants": [
        {
            "salutation": 1,
            "firstName": "RP Vue4",
            "lastName": "QA Admin",
            "email": "rpvue4qaadmin@rp.asp.de",
            "language": 2
        }
    ],
    "internalParticipants": [
        {
            "id": "4964ac42-8583-4f80-b652-40376df3902e",
            "name": "rpdeal",
            "type": "person",
            "title": "Persche Deal 2, Richard",
            "itemType": 15
        }
    ],
    "informInternalParticipants": true,
    "informExternalParticipants": true,
    "responsibleUser": {
        "id": "4964ac42-8583-4f80-b652-40376df3902e",
        "name": "rpdeal",
        "type": "person",
        "title": "Persche Deal 2, Richard",
        "itemType": 15
    },
    "rrule": "",
    "accessFrom": "2026-09-15T13:09:28.387Z",
    "accessTo": "2026-09-15T14:09:28.387Z",
    "itemType": 48
  }

Responses
---------

**200: A successful response.**

A successful response is comprised of the string ``newItemType`` and the object ``newItem``, which is the actual video conference entry. See details below.

newItemType: string (ItemType), required
  The type of the new item. At netfiles we use the tag ``48`` for video conferences. The default type is ``ITEM_TYPE_UNSPECIFIED``. See :ref:`ItemType <ItemType>`.

  - ``ITEM_TYPE_UNSPECIFIED``: default
  
  - ``ITEM_TYPE_UNSPECIFIED``: video conference

newItem: object (VideoConference), required
  The new conference entry.

.. code-block:: json

   {
   "newItemType": "ITEM_TYPE_UNSPECIFIED",
   "newItem": {
      "id": "string",
      "dataroomId": "string",
      "name": "string",
      "type": "string",
      "documentClass": "string",
      "author": "string",
      "title": "string",
      "description": "string",
      "creationDate": "2019-08-24T14:15:22Z",
      "modificationDate": "2019-08-24T14:15:22Z",
      "icon": "string",
      "effectivePermission": {
         "read": true,
         "write": true,
         "delete": true,
         "admin": true,
         "downloadRight": "DOWNLOAD_RIGHT_UNSPECIFIED",
         "readChildren": true,
         "writeChildren": true,
         "deleteChildren": true,
         "readMetadata": true,
         "sharedWrite": true,
         "writeComments": true,
         "questionPermissions": {
         "createQuestion": true,
         "deleteQuestion": true,
         "changeQuestionStatus": true,
         "changeQuestionText": true,
         "changeQuestionPriority": true,
         "changeQuestionAssignment": true,
         "changeQuestionCategory": true,
         "changeQuestionAttachments": true,
         "changeQuestionDeadline": true,
         "createAnswer": true
         },
         "answerPermissions": {
         "deleteAnswer": true,
         "changeAnswerText": true,
         "changeAnswerState": true,
         "changeAnswerAttachments": true
         },
         "readComments": true,
         "commentPermissions": {
         "changeCommentText": true,
         "deleteComment": true,
         "createReply": true,
         "changeCommentStatus": true,
         "changeCommentVisibility": true,
         "changeCommentAssignment": true
         }
      },
      "externalParticipants": [
         {
         "salutation": "SALUTATION_UNSPECIFIED",
         "firstName": "string",
         "lastName": "string",
         "email": "string",
         "company": "string",
         "language": "LANGUAGE_UNSPECIFIED",
         "link": "string"
         }
      ],
      "internalParticipants": [
         {
         "title": "string",
         "id": "string",
         "itemType": "ITEM_TYPE_UNSPECIFIED"
         }
      ],
      "informInternalParticipants": true,
      "informExternalParticipants": true,
      "responsibleUser": {
         "title": "string",
         "id": "string",
         "itemType": "ITEM_TYPE_UNSPECIFIED"
      },
      "creator": {
         "id": "string",
         "name": "string",
         "type": "string",
         "path": "string",
         "firstName": "string",
         "lastName": "string",
         "realName": "string",
         "title": "string",
         "email": "string",
         "href": "string",
         "logins": 0,
         "lastLogin": "2019-08-24T14:15:22Z",
         "language": "LANGUAGE_UNSPECIFIED",
         "locale": "LOCALE_UNSPECIFIED",
         "timezone": "string",
         "salutation": "SALUTATION_UNSPECIFIED",
         "isUserInactive": true,
         "isUserUnconfirmed": true,
         "isUserInvited": true,
         "phoneNr": "string",
         "mobilePhoneNr": "string",
         "itemType": "ITEM_TYPE_UNSPECIFIED",
         "effectivePermission": {
         "read": true,
         "write": true,
         "delete": true,
         "admin": true,
         "downloadRight": "DOWNLOAD_RIGHT_UNSPECIFIED",
         "readChildren": true,
         "writeChildren": true,
         "deleteChildren": true,
         "readMetadata": true,
         "sharedWrite": true,
         "writeComments": true,
         "questionPermissions": {
            "createQuestion": true,
            "deleteQuestion": true,
            "changeQuestionStatus": true,
            "changeQuestionText": true,
            "changeQuestionPriority": true,
            "changeQuestionAssignment": true,
            "changeQuestionCategory": true,
            "changeQuestionAttachments": true,
            "changeQuestionDeadline": true,
            "createAnswer": true
         },
         "answerPermissions": {
            "deleteAnswer": true,
            "changeAnswerText": true,
            "changeAnswerState": true,
            "changeAnswerAttachments": true
         },
         "readComments": true,
         "commentPermissions": {
            "changeCommentText": true,
            "deleteComment": true,
            "createReply": true,
            "changeCommentStatus": true,
            "changeCommentVisibility": true,
            "changeCommentAssignment": true
         }
         },
         "restrictAccessFrom": "2019-08-24T14:15:22Z",
         "restrictAccessTo": "2019-08-24T14:15:22Z",
         "visibility": "DEFAULT_VISIBILITY_OPTION_UNSPECIFIED",
         "mountpoint": "string",
         "company": "string",
         "userTitle": "string",
         "pkey": "string",
         "pubkey": "string",
         "pkeyBackup": "string",
         "isPendingAdminConfirmation": true,
         "enterpriseInfo": {
         "entries": [
            {
               "title": "string",
               "id": "string",
               "isAdmin": true,
               "isUserAdmin": true,
               "adminHasLimitedRights": true,
               "autoLogoff": "AUTO_LOG_OFF_UNSPECIFIED",
               "adminCanAccessContractData": true,
               "isExternal": true
            }
         ]
         },
         "dataroomInfo": {
         "entries": [
            {
               "title": "string",
               "id": "string",
               "isConfirmed": true,
               "isInvited": true,
               "twoFactorEnabled": true,
               "isAdmin": true
            }
         ]
         },
         "emailVerificationInfo": {
         "needsVerification": true,
         "isExternal": true,
         "verificationDate": "2019-08-24T14:15:22Z"
         },
         "singleSignOnEnabled": true,
         "singleSignOnId": "string",
         "singleSignOnVerificationRequired": true,
         "disclaimerState": "DISCLAIMER_STATE_UNSPECIFIED",
         "nfSendData": {
         "accounts": [
            {
               "isAdmin": true,
               "invitedBy": "string",
               "contractId": "string"
            }
         ],
         "nfsendId": "string"
         },
         "nfSendInfo": {
         "isAdmin": true,
         "canBeSetAsAdmin": true
         },
         "isUserInvitationExpired": true
      },
      "rrule": "string",
      "accessFrom": "2019-08-24T14:15:22Z",
      "accessTo": "2019-08-24T14:15:22Z",
      "itemType": "ITEM_TYPE_UNSPECIFIED"
      }
   }

**400: An invalid identifier.**

.. code-block:: json

    {
      "errors": [
      {
        "field": "string",
        "code": "string",
        "args": {
        "property1": "string",
        "property2": "string"
          }
      }
      ]
    }

**401: User is not logged in.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**403: User does not have permission to access the resource.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**404: Item not found, or the user does not have access to it.**

.. code-block:: json

    "string"

**500: A server error.**

.. code-block:: json

    "string"

**default: An unexpected error occurred.**

.. code-block:: json

    {
      "code": 0,
      "message": "string",
      "details": [
        {
          "@type": "string",
          "property1": null,
          "property2": null
        }
      ]
    }

Get Children
============

`GET /v1/video-conferences/{dataroomId}/children/{iterator}/start/{startIndex}/limit/{limit}/sort/{sortOrder}/direction/{sortDirection}`

Returns all available video conferences in a data room.

Authorizations
--------------

ApiKeyAuth

.. include:: ``ApiKeyAuth``

Parameters
----------

dataroomId: string, required
 The dataroom where the item is stored. They are generated automatically when a new dataroom is created.
 
 **Example:** /v1/video-conferences/**{dataroomId}**/children/{iterator}/start/{startIndex}/limit/{limit}/sort/{sortOrder}/direction/{sortDirection}

limit: integer <int64>, required
  The amout of items that can be shown at one time.

  **Example:** /v1/video-conferences/{dataroomId}/children/{iterator}/start/{startIndex}/limit/**{limit}**/sort/{sortOrder}/direction/{sortDirection}

iterator: string, required
  Refers to the database iterator that contains the search result. If there is only one page of video conferences, the iterator's value is ``NONE``. However, if there are more items than defined in ``limit``, the iterator returns a number that is used to call the previous or next page of the same query.
 
 **Example:** /v1/video-conferences/{dataroomId}/children/**{iterator}**/start/{startIndex}/limit/{limit}/sort/{sortOrder}/direction/{sortDirection}

startIndex: integer <int64>, required
  In which position the list of items should begin. At netfiles, we begin counting the items at 0.
 
  **Example:** /v1/video-conferences/{dataroomId}/children/{iterator}/start/**{startIndex}**/limit/{limit}/sort/{sortOrder}/direction/{sortDirection}

sortOrder: enum, required
  The order in which the video conferences are displayed internally by netfiles can be ``SORT_ORDER_UNSPECIFIED``, ``SORT_ORDER_NAME``, ``SORT_ORDER_ACCESS_FROM_DATE``, or ``SORT_ORDER_ACCESS_TO_DATE``. ``SORT_ORDER_UNSPECIFIED`` is the default setting. See :ref:`SortOrder <SortOrder>`.
  
  - ``SORT_ORDER_UNSPECIFIED`` sorts video conferences in the order they were created.
  
  - ``SORT_ORDER_NAME`` sorts video conferences in their title's alfabetical order. 

  - ``SORT_ORDER_ACCESS_FROM_DATE`` sorts video conferences according to the date and time that they begin.

  - ``SORT_ORDER_ACCESS_TO_DATE`` sorts video conferences according to the date and time that they end.

sortDirection: enum, required
  The direction in which the items are displayed can be  ``SORT_DIRECTION_UNSPECIFIED``, ``SORT_DIRECTION_ASCENDING``, or ``SORT_DIRECTION_DESCENDING``. ``SORT_DIRECTION_UNSPECIFIED`` is default. See :ref:`SortDirection <SortDirection>`.

  - ``SORT_DIRECTION_UNSPECIFIED`` sorts items in the order they were created.

  - ``SORT_DIRECTION_ASCENDING`` sorts items from smallest to biggest.
  
  - ``SORT_DIRECTION_DESCENDING`` sorts items from biggest to smallest.

Responses
---------

**200: A successful response.**
  A successful response returns a json including:

  items: array of objects (VideoConerence)
    These objects are the video conferences requested.

  totalNumChildren: integer <int64>
    The number of video conferences.

  iterator: string
   An ID refering to the database in long listings.

  startIndex: integer <int64>
    Where the list of conferences begins.

  sortOrder: string (SortOrder)
    Returns according to ``SortOrder`` requested.

  sortDirection: string (SortDirection)
    Returns according to the ``SortDirection`` requested.

.. code-block:: json

   {
      "items": [
        {
          "id": "string",
          "dataroomId": "string",
          "name": "string",
          "type": "string",
          "documentClass": "string",
          "author": "string",
          "title": "string",
          "description": "string",
          "creationDate": "2019-08-24T14:15:22Z",
          "modificationDate": "2019-08-24T14:15:22Z",
          "icon": "string",
          "effectivePermission": {
            "read": true,
            "write": true,
            "delete": true,
            "admin": true,
            "downloadRight": "DOWNLOAD_RIGHT_UNSPECIFIED",
            "readChildren": true,
            "writeChildren": true,
            "deleteChildren": true,
            "readMetadata": true,
            "sharedWrite": true,
            "writeComments": true,
            "questionPermissions": {
              "createQuestion": true,
              "deleteQuestion": true,
              "changeQuestionStatus": true,
              "changeQuestionText": true,
              "changeQuestionPriority": true,
              "changeQuestionAssignment": true,
              "changeQuestionCategory": true,
              "changeQuestionAttachments": true,
              "changeQuestionDeadline": true,
              "createAnswer": true
            },
            "answerPermissions": {
              "deleteAnswer": true,
              "changeAnswerText": true,
              "changeAnswerState": true,
              "changeAnswerAttachments": true
            },
            "readComments": true,
            "commentPermissions": {
              "changeCommentText": true,
              "deleteComment": true,
              "createReply": true,
              "changeCommentStatus": true,
              "changeCommentVisibility": true,
              "changeCommentAssignment": true
            }
          },
          "externalParticipants": [
            {
              "salutation": "SALUTATION_UNSPECIFIED",
              "firstName": "string",
              "lastName": "string",
              "email": "string",
              "company": "string",
              "language": "LANGUAGE_UNSPECIFIED",
              "link": "string"
            }
          ],
          "internalParticipants": [
            {
              "title": "string",
              "id": "string",
              "itemType": "ITEM_TYPE_UNSPECIFIED"
            }
          ],
          "informInternalParticipants": true,
          "informExternalParticipants": true,
          "responsibleUser": {
            "title": "string",
            "id": "string",
            "itemType": "ITEM_TYPE_UNSPECIFIED"
          },
          "creator": {
            "id": "string",
            "name": "string",
            "type": "string",
            "path": "string",
            "firstName": "string",
            "lastName": "string",
            "realName": "string",
            "title": "string",
            "email": "string",
            "href": "string",
            "logins": 0,
            "lastLogin": "2019-08-24T14:15:22Z",
            "language": "LANGUAGE_UNSPECIFIED",
            "locale": "LOCALE_UNSPECIFIED",
            "timezone": "string",
            "salutation": "SALUTATION_UNSPECIFIED",
            "isUserInactive": true,
            "isUserUnconfirmed": true,
            "isUserInvited": true,
            "phoneNr": "string",
            "mobilePhoneNr": "string",
            "itemType": "ITEM_TYPE_UNSPECIFIED",
            "effectivePermission": {
              "read": true,
              "write": true,
              "delete": true,
              "admin": true,
              "downloadRight": "DOWNLOAD_RIGHT_UNSPECIFIED",
              "readChildren": true,
              "writeChildren": true,
              "deleteChildren": true,
              "readMetadata": true,
              "sharedWrite": true,
              "writeComments": true,
              "questionPermissions": {
                "createQuestion": true,
                "deleteQuestion": true,
                "changeQuestionStatus": true,
                "changeQuestionText": true,
                "changeQuestionPriority": true,
                "changeQuestionAssignment": true,
                "changeQuestionCategory": true,
                "changeQuestionAttachments": true,
                "changeQuestionDeadline": true,
                "createAnswer": true
              },
              "answerPermissions": {
                "deleteAnswer": true,
                "changeAnswerText": true,
                "changeAnswerState": true,
                "changeAnswerAttachments": true
              },
              "readComments": true,
              "commentPermissions": {
                "changeCommentText": true,
                "deleteComment": true,
                "createReply": true,
                "changeCommentStatus": true,
                "changeCommentVisibility": true,
                "changeCommentAssignment": true
              }
            },
            "restrictAccessFrom": "2019-08-24T14:15:22Z",
            "restrictAccessTo": "2019-08-24T14:15:22Z",
            "visibility": "DEFAULT_VISIBILITY_OPTION_UNSPECIFIED",
            "mountpoint": "string",
            "company": "string",
            "userTitle": "string",
            "pkey": "string",
            "pubkey": "string",
            "pkeyBackup": "string",
            "isPendingAdminConfirmation": true,
            "enterpriseInfo": {
              "entries": [
                {
                  "title": "string",
                  "id": "string",
                  "isAdmin": true,
                  "isUserAdmin": true,
                  "adminHasLimitedRights": true,
                  "autoLogoff": "AUTO_LOG_OFF_UNSPECIFIED",
                  "adminCanAccessContractData": true,
                  "isExternal": true
                }
              ]
            },
            "dataroomInfo": {
              "entries": [
                {
                  "title": "string",
                  "id": "string",
                  "isConfirmed": true,
                  "isInvited": true,
                  "twoFactorEnabled": true,
                  "isAdmin": true
                }
              ]
            },
            "emailVerificationInfo": {
              "needsVerification": true,
              "isExternal": true,
              "verificationDate": "2019-08-24T14:15:22Z"
            },
            "singleSignOnEnabled": true,
            "singleSignOnId": "string",
            "singleSignOnVerificationRequired": true,
            "disclaimerState": "DISCLAIMER_STATE_UNSPECIFIED",
            "nfSendData": {
              "accounts": [
                {
                  "isAdmin": true,
                  "invitedBy": "string",
                  "contractId": "string"
                }
              ],
              "nfsendId": "string"
            },
            "nfSendInfo": {
              "isAdmin": true,
              "canBeSetAsAdmin": true
            },
            "isUserInvitationExpired": true
          },
          "rrule": "string",
          "accessFrom": "2019-08-24T14:15:22Z",
          "accessTo": "2019-08-24T14:15:22Z",
          "itemType": "ITEM_TYPE_UNSPECIFIED"
        }
      ],
      "totalNumChildren": 0,
      "iterator": "string",
      "startIndex": 0,
      "sortOrder": "SORT_ORDER_UNSPECIFIED",
      "sortDirection": "SORT_DIRECTION_UNSPECIFIED"
  } 
  

**400: An invalid identifier.**

.. code-block:: json

    {
      "errors": [
      {
        "field": "string",
        "code": "string",
        "args": {
        "property1": "string",
        "property2": "string"
          }
      }
      ]
    }

**401: User is not logged in.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**403: User does not have permission to access the resource.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**404: Item not found, or the user does not have access to it.**

.. code-block:: json

    "string"

**500: A server error.**

.. code-block:: json

    "string"

**default: An unexpected error occurred.**

.. code-block:: json

    {
      "code": 0,
      "message": "string",
      "details": [
        {
          "@type": "string",
          "property1": null,
          "property2": null
        }
      ]
    }


Mult Delete
===========

`POST /v1/video-conferences/{dataroomId}/multi-delete`

Deletes multiple video conferences at one time. We use ``POST`` method to multi-delete because several Ids must be submitted in order to delete the selected video conferences.

Authorizations
--------------

ApiKeyAuth

.. include:: ``ApiKeyAuth``

Parameters
----------

dataroomId: string, required
 The dataroom where the items are stored. They are generated automatically when a new dataroom is created.
 
 **Example:** /v1/video-conferences/**{dataroomId}**/multi-delete

Body Parameters
---------------

itemIds: array of strings, required
  The video conference Ids. They are generated automatically when a new dataroom is created.

jobId: string, required
  The websocket for ongoing status updates. As deleting several video conferences can take some time, we have set up a websocket sytem to alert the user.

Request sample
--------------

A request should look something like this:

.. code-block:: json
        
  {
    "itemIds": [
      "string"
    ],
    "jobId": "string"
  }

Responses
---------

**200: A successful response.**

**400: An invalid identifier.**

.. code-block:: json

    {
      "errors": [
      {
        "field": "string",
        "code": "string",
        "args": {
        "property1": "string",
        "property2": "string"
          }
      }
      ]
    }

**401: User is not logged in.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**403: User does not have permission to access the resource.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**404: Item not found, or the user does not have access to it.**

.. code-block:: json

    "string"

**500: A server error.**

.. code-block:: json

    "string"

**default: An unexpected error occurred.**

.. code-block:: json

    {
      "code": 0,
      "message": "string",
      "details": [
        {
          "@type": "string",
          "property1": null,
          "property2": null
        }
      ]
    }

Get Properties
==============

`GET /v1/video-conferences/{dataroomId}/{itemId}/properties`

Gets a video conference's properties, which includes its title (``title``), start and end date and time (``accessFrom`` and ``accessTo``), repetition rules (``rrule``), and internal and external participants (``internalParticipants`` and ``externalParticipants``).

Authorizations
--------------

ApiKeyAuth

.. include:: ``ApiKeyAuth``

Parameters
----------

dataroomId: string, required
 The dataroom where the item is stored. They are generated automatically when a new dataroom is created.
 
 **Example:** /v1/video-conferences/**{dataroomId}**/{itemId}/properties

itemId: string, required
 The video conference. They are generated automatically when a new item is created.
 
 **Example:** /v1/video-conferences/{dataroomId}/**{itemId}**/properties

Responses
---------

**200: A successful response.**
  A successful response returns an ``item``, which is json with the video conference's properties.

  item: object (VideoConferenceProperties)
    Video Conference's properties.

.. code-block:: json

    {
      "item": {
        "id": "string",
        "dataroomId": "string",
        "name": "string",
        "type": "string",
        "documentClass": "string",
        "title": {
          "value": "string",
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "description": {
          "value": "string",
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "effectivePermission": {
          "read": true,
          "write": true,
          "delete": true,
          "admin": true,
          "downloadRight": "DOWNLOAD_RIGHT_UNSPECIFIED",
          "readChildren": true,
          "writeChildren": true,
          "deleteChildren": true,
          "readMetadata": true,
          "sharedWrite": true,
          "writeComments": true,
          "questionPermissions": {
            "createQuestion": true,
            "deleteQuestion": true,
            "changeQuestionStatus": true,
            "changeQuestionText": true,
            "changeQuestionPriority": true,
            "changeQuestionAssignment": true,
            "changeQuestionCategory": true,
            "changeQuestionAttachments": true,
            "changeQuestionDeadline": true,
            "createAnswer": true
          },
          "answerPermissions": {
            "deleteAnswer": true,
            "changeAnswerText": true,
            "changeAnswerState": true,
            "changeAnswerAttachments": true
          },
          "readComments": true,
          "commentPermissions": {
            "changeCommentText": true,
            "deleteComment": true,
            "createReply": true,
            "changeCommentStatus": true,
            "changeCommentVisibility": true,
            "changeCommentAssignment": true
          }
        },
        "externalParticipants": {
          "value": [
            {
              "salutation": "SALUTATION_UNSPECIFIED",
              "firstName": "string",
              "lastName": "string",
              "email": "string",
              "company": "string",
              "language": "LANGUAGE_UNSPECIFIED",
              "link": "string"
            }
          ],
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true
        },
        "internalParticipants": {
          "value": [
            {
              "title": "string",
              "id": "string",
              "itemType": "ITEM_TYPE_UNSPECIFIED"
            }
          ],
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true
        },
        "informInternalParticipants": {
          "value": true,
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "informExternalParticipants": {
          "value": true,
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "responsibleUser": {
          "value": {
            "id": "string",
            "name": "string",
            "type": "string",
            "path": "string",
            "firstName": "string",
            "lastName": "string",
            "realName": "string",
            "title": "string",
            "email": "string",
            "href": "string",
            "logins": 0,
            "lastLogin": "2019-08-24T14:15:22Z",
            "language": "LANGUAGE_UNSPECIFIED",
            "locale": "LOCALE_UNSPECIFIED",
            "timezone": "string",
            "salutation": "SALUTATION_UNSPECIFIED",
            "isUserInactive": true,
            "isUserUnconfirmed": true,
            "isUserInvited": true,
            "phoneNr": "string",
            "mobilePhoneNr": "string",
            "itemType": "ITEM_TYPE_UNSPECIFIED",
            "effectivePermission": {
              "read": true,
              "write": true,
              "delete": true,
              "admin": true,
              "downloadRight": "DOWNLOAD_RIGHT_UNSPECIFIED",
              "readChildren": true,
              "writeChildren": true,
              "deleteChildren": true,
              "readMetadata": true,
              "sharedWrite": true,
              "writeComments": true,
              "questionPermissions": {
                "createQuestion": true,
                "deleteQuestion": true,
                "changeQuestionStatus": true,
                "changeQuestionText": true,
                "changeQuestionPriority": true,
                "changeQuestionAssignment": true,
                "changeQuestionCategory": true,
                "changeQuestionAttachments": true,
                "changeQuestionDeadline": true,
                "createAnswer": true
              },
              "answerPermissions": {
                "deleteAnswer": true,
                "changeAnswerText": true,
                "changeAnswerState": true,
                "changeAnswerAttachments": true
              },
              "readComments": true,
              "commentPermissions": {
                "changeCommentText": true,
                "deleteComment": true,
                "createReply": true,
                "changeCommentStatus": true,
                "changeCommentVisibility": true,
                "changeCommentAssignment": true
              }
            },
            "restrictAccessFrom": "2019-08-24T14:15:22Z",
            "restrictAccessTo": "2019-08-24T14:15:22Z",
            "visibility": "DEFAULT_VISIBILITY_OPTION_UNSPECIFIED",
            "mountpoint": "string",
            "company": "string",
            "userTitle": "string",
            "pkey": "string",
            "pubkey": "string",
            "pkeyBackup": "string",
            "isPendingAdminConfirmation": true,
            "enterpriseInfo": {
              "entries": [
                {
                  "title": "string",
                  "id": "string",
                  "isAdmin": true,
                  "isUserAdmin": true,
                  "adminHasLimitedRights": true,
                  "autoLogoff": "AUTO_LOG_OFF_UNSPECIFIED",
                  "adminCanAccessContractData": true,
                  "isExternal": true
                }
              ]
            },
            "dataroomInfo": {
              "entries": [
                {
                  "title": "string",
                  "id": "string",
                  "isConfirmed": true,
                  "isInvited": true,
                  "twoFactorEnabled": true,
                  "isAdmin": true
                }
              ]
            },
            "emailVerificationInfo": {
              "needsVerification": true,
              "isExternal": true,
              "verificationDate": "2019-08-24T14:15:22Z"
            },
            "singleSignOnEnabled": true,
            "singleSignOnId": "string",
            "singleSignOnVerificationRequired": true,
            "disclaimerState": "DISCLAIMER_STATE_UNSPECIFIED",
            "nfSendData": {
              "accounts": [
                {
                  "isAdmin": true,
                  "invitedBy": "string",
                  "contractId": "string"
                }
              ],
              "nfsendId": "string"
            },
            "nfSendInfo": {
              "isAdmin": true,
              "canBeSetAsAdmin": true
            },
            "isUserInvitationExpired": true
          },
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true
        },
        "accessFrom": {
          "value": "2019-08-24T14:15:22Z",
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "accessTo": {
          "value": "2019-08-24T14:15:22Z",
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "rrule": {
          "value": "string",
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "itemType": "ITEM_TYPE_UNSPECIFIED"
      }
    }

**400: An invalid identifier.**

.. code-block:: json

    {
      "errors": [
      {
        "field": "string",
        "code": "string",
        "args": {
        "property1": "string",
        "property2": "string"
          }
      }
      ]
    }

**401: User is not logged in.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**403: User does not have permission to access the resource.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**404: Item not found, or the user does not have access to it.**

.. code-block:: json

    "string"

**500: A server error.**

.. code-block:: json

    "string"

**default: An unexpected error occurred.**

.. code-block:: json

    {
      "code": 0,
      "message": "string",
      "details": [
        {
          "@type": "string",
          "property1": null,
          "property2": null
        }
      ]
    }

Update
======

`PATCH /v1/video-conferences/{dataroomId}/{itemId}/properties`

Updates an existing video conference's properties, generated by the ``Get Properties`` endpoint. which includes its title (``title``), start and end date and time (``accessFrom`` and ``accessTo``), repetition rules (``rrule``), and internal and external participants (``internalParticipants`` and ``externalParticipants``). The request sends only the properties you would like to change, but the response comes back with the full updated ``VideoConferenceProperties``.

Authorizations
--------------

ApiKeyAuth

.. include:: ``ApiKeyAuth``

Parameters
----------

dataroomId: string, required
 The dataroom where the item is stored. They are generated automatically when a new dataroom is created.
 
 **Example:** /v1/video-conferences/**{dataroomId}**/{itemId}/properties

itemId: string, required
 The video conference. They are generated automatically when a new item is created.
 
 **Example:** /v1/video-conferences/{dataroomId}/**{itemId}**/properties

Body Parameters
---------------

item: object (VideoConferenceProperties), required
  A video conference's properties. Generated by ``Get Properties``. 

jobId: string, required
  The websocket for ongoing status updates.

Request sample
--------------

A request should look something like this:

.. code-block:: json

  {
    "item": {
        "id": "591de946-8b78-462b-bafb-6536c9926091",
        "dataroomId": "ID-29855.6859054463344",
        "name": "conference1789477794423",
        "type": "",
        "documentClass": "",
        "title": {
            "value": "Sept 15",
            "editable": true
        },
        "description": {
            "value": "<p>This is my description</p>",
            "editable": true
        },
        "externalParticipants": {
            "value": [
                {
                    "salutation": 1,
                    "firstName": "RP Vue4",
                    "lastName": "QA Admin",
                    "email": "rpvue4qaadmin@rp.asp.de",
                    "language": 2,
                    "link": "video-conference-external/eyJ0b2tlbiI6ImZaZHhZMmxOUFZnc1U0Sk5Mc1lFWmpLQ05qbDRGUlRxIiwiZW1haWwiOiJycHZ1ZTRxYWFkbWluQHJwLmFzcC5kZSIsImlkIjoiNTkxZGU5NDYtOGI3OC00NjJiLWJhZmItNjUzNmM5OTI2MDkxIn0=/de"
                }
            ],
            "editable": true
        },
        "internalParticipants": {
            "value": [
                {
                    "title": "Ivan Ivanovitch",
                    "id": "4964ac42-8583-4f80-b652-40376df3902e",
                    "itemType": 15
                }
            ],
            "editable": true
        },
        "informInternalParticipants": {
            "value": true,
            "editable": true
        },
        "informExternalParticipants": {
            "value": true,
            "editable": true
        },
        "responsibleUser": {
            "value": {
                "id": "4964ac42-8583-4f80-b652-40376df3902e",
                "name": "",
                "title": "Ivan Ivanovitch",
                "itemType": 15
            },
            "editable": true
        },
        "accessFrom": {
            "value": "2026-09-15T13:09:28.000Z",
            "editable": true
        },
        "accessTo": {
            "value": "2026-09-15T14:09:28.000Z",
            "editable": true
        },
        "itemType": 48
    }
  }

Responses
---------

**200: A successful response.**
  A successful response returns the updated item ``VideoConferenceProperties``, with all the fulfilled parameters. 

.. code-block:: json

    {
      "item": {
        "id": "string",
        "dataroomId": "string",
        "name": "string",
        "type": "string",
        "documentClass": "string",
        "title": {
          "value": "string",
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "description": {
          "value": "string",
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "effectivePermission": {
          "read": true,
          "write": true,
          "delete": true,
          "admin": true,
          "downloadRight": "DOWNLOAD_RIGHT_UNSPECIFIED",
          "readChildren": true,
          "writeChildren": true,
          "deleteChildren": true,
          "readMetadata": true,
          "sharedWrite": true,
          "writeComments": true,
          "questionPermissions": {
            "createQuestion": true,
            "deleteQuestion": true,
            "changeQuestionStatus": true,
            "changeQuestionText": true,
            "changeQuestionPriority": true,
            "changeQuestionAssignment": true,
            "changeQuestionCategory": true,
            "changeQuestionAttachments": true,
            "changeQuestionDeadline": true,
            "createAnswer": true
          },
          "answerPermissions": {
            "deleteAnswer": true,
            "changeAnswerText": true,
            "changeAnswerState": true,
            "changeAnswerAttachments": true
          },
          "readComments": true,
          "commentPermissions": {
            "changeCommentText": true,
            "deleteComment": true,
            "createReply": true,
            "changeCommentStatus": true,
            "changeCommentVisibility": true,
            "changeCommentAssignment": true
          }
        },
        "externalParticipants": {
          "value": [
            {
              "salutation": "SALUTATION_UNSPECIFIED",
              "firstName": "string",
              "lastName": "string",
              "email": "string",
              "company": "string",
              "language": "LANGUAGE_UNSPECIFIED",
              "link": "string"
            }
          ],
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true
        },
        "internalParticipants": {
          "value": [
            {
              "title": "string",
              "id": "string",
              "itemType": "ITEM_TYPE_UNSPECIFIED"
            }
          ],
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true
        },
        "informInternalParticipants": {
          "value": true,
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "informExternalParticipants": {
          "value": true,
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "responsibleUser": {
          "value": {
            "id": "string",
            "name": "string",
            "type": "string",
            "path": "string",
            "firstName": "string",
            "lastName": "string",
            "realName": "string",
            "title": "string",
            "email": "string",
            "href": "string",
            "logins": 0,
            "lastLogin": "2019-08-24T14:15:22Z",
            "language": "LANGUAGE_UNSPECIFIED",
            "locale": "LOCALE_UNSPECIFIED",
            "timezone": "string",
            "salutation": "SALUTATION_UNSPECIFIED",
            "isUserInactive": true,
            "isUserUnconfirmed": true,
            "isUserInvited": true,
            "phoneNr": "string",
            "mobilePhoneNr": "string",
            "itemType": "ITEM_TYPE_UNSPECIFIED",
            "effectivePermission": {
              "read": true,
              "write": true,
              "delete": true,
              "admin": true,
              "downloadRight": "DOWNLOAD_RIGHT_UNSPECIFIED",
              "readChildren": true,
              "writeChildren": true,
              "deleteChildren": true,
              "readMetadata": true,
              "sharedWrite": true,
              "writeComments": true,
              "questionPermissions": {
                "createQuestion": true,
                "deleteQuestion": true,
                "changeQuestionStatus": true,
                "changeQuestionText": true,
                "changeQuestionPriority": true,
                "changeQuestionAssignment": true,
                "changeQuestionCategory": true,
                "changeQuestionAttachments": true,
                "changeQuestionDeadline": true,
                "createAnswer": true
              },
              "answerPermissions": {
                "deleteAnswer": true,
                "changeAnswerText": true,
                "changeAnswerState": true,
                "changeAnswerAttachments": true
              },
              "readComments": true,
              "commentPermissions": {
                "changeCommentText": true,
                "deleteComment": true,
                "createReply": true,
                "changeCommentStatus": true,
                "changeCommentVisibility": true,
                "changeCommentAssignment": true
              }
            },
            "restrictAccessFrom": "2019-08-24T14:15:22Z",
            "restrictAccessTo": "2019-08-24T14:15:22Z",
            "visibility": "DEFAULT_VISIBILITY_OPTION_UNSPECIFIED",
            "mountpoint": "string",
            "company": "string",
            "userTitle": "string",
            "pkey": "string",
            "pubkey": "string",
            "pkeyBackup": "string",
            "isPendingAdminConfirmation": true,
            "enterpriseInfo": {
              "entries": [
                {
                  "title": "string",
                  "id": "string",
                  "isAdmin": true,
                  "isUserAdmin": true,
                  "adminHasLimitedRights": true,
                  "autoLogoff": "AUTO_LOG_OFF_UNSPECIFIED",
                  "adminCanAccessContractData": true,
                  "isExternal": true
                }
              ]
            },
            "dataroomInfo": {
              "entries": [
                {
                  "title": "string",
                  "id": "string",
                  "isConfirmed": true,
                  "isInvited": true,
                  "twoFactorEnabled": true,
                  "isAdmin": true
                }
              ]
            },
            "emailVerificationInfo": {
              "needsVerification": true,
              "isExternal": true,
              "verificationDate": "2019-08-24T14:15:22Z"
            },
            "singleSignOnEnabled": true,
            "singleSignOnId": "string",
            "singleSignOnVerificationRequired": true,
            "disclaimerState": "DISCLAIMER_STATE_UNSPECIFIED",
            "nfSendData": {
              "accounts": [
                {
                  "isAdmin": true,
                  "invitedBy": "string",
                  "contractId": "string"
                }
              ],
              "nfsendId": "string"
            },
            "nfSendInfo": {
              "isAdmin": true,
              "canBeSetAsAdmin": true
            },
            "isUserInvitationExpired": true
          },
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true
        },
        "accessFrom": {
          "value": "2019-08-24T14:15:22Z",
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "accessTo": {
          "value": "2019-08-24T14:15:22Z",
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "rrule": {
          "value": "string",
          "editable": true,
          "fieldType": "string",
          "tooltipType": "string",
          "available": true,
          "adminEditable": true
        },
        "itemType": "ITEM_TYPE_UNSPECIFIED"
      }
    }

**400: An invalid identifier.**

.. code-block:: json

    {
      "errors": [
      {
        "field": "string",
        "code": "string",
        "args": {
        "property1": "string",
        "property2": "string"
          }
      }
      ]
    }

**401: User is not logged in.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**403: User does not have permission to access the resource.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**404: Item not found, or the user does not have access to it.**

.. code-block:: json

    "string"

**500: A server error.**

.. code-block:: json

    "string"

**default: An unexpected error occurred.**

.. code-block:: json

    {
      "code": 0,
      "message": "string",
      "details": [
        {
          "@type": "string",
          "property1": null,
          "property2": null
        }
      ]
    }

Join (Internal)
===============

`GET /v1/video-conferences/{dataroomId}/{itemId}/{audioMuted}/{videoMuted}/join`

Allows users who have an account in this data room to join a video conference.

Authorizations
--------------

ApiKeyAuth

.. include:: ``ApiKeyAuth``

Parameters
----------

dataroomId: string, required
 The dataroom where the item is stored. They are generated automatically when a new dataroom is created.
 
 **Example:** /v1/video-conferences/**{dataroomId}**/{itemId}/{audioMuted}/{videoMuted}/join

itemId: string, required
 The video conference. They are generated automatically when a new item is created.
 
 **Example:** /v1/video-conferences/{dataroomId}/**{itemId}**/{audioMuted}/{videoMuted}/join

audioMuted: integer <int64>, required
 A 0 or a 1, indicating whether the audio is muted or not.

 **Example:** /v1/video-conferences/{dataroomId}/{itemId}/**{audioMuted}**/{videoMuted}/join

videoMuted: integer <int64>, required
 A 0 or a 1, indicating whether the video is muted or not.

 **Example:** /v1/video-conferences/{dataroomId}/{itemId}/{audioMuted}/**{videoMuted}**/join

Responses
---------

**200: A successful response.**

**400: An invalid identifier.**

.. code-block:: json

    {
      "errors": [
      {
        "field": "string",
        "code": "string",
        "args": {
        "property1": "string",
        "property2": "string"
          }
      }
      ]
    }

**401: User is not logged in.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**403: User does not have permission to access the resource.**

.. code-block:: json

    {
      "errors": [
        {
          "field": "string",
          "code": "string",
          "args": {
            "property1": "string",
            "property2": "string"
          }
        }
      ]
    }

**404: Item not found, or the user does not have access to it.**

.. code-block:: json

    "string"

**500: A server error.**

.. code-block:: json

    "string"

**default: An unexpected error occurred.**

.. code-block:: json

    {
      "code": 0,
      "message": "string",
      "details": [
        {
          "@type": "string",
          "property1": null,
          "property2": null
        }
      ]
    }

