{"openapi":"3.0.1","info":{"title":"Compass API","version":"v3"},"servers":[{"url":"/"}],"security":[{"basicAuth":[]}],"paths":{"/voicemail/{id}":{"get":{"tags":["voicemail"],"summary":"Retrieve the properties for this resource","operationId":"get","parameters":[{"name":"id","in":"path","description":"The id of the voicemail","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the resource data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/VoicemailDto"}}}}}},"put":{"tags":["voicemail"],"description":"Replace an existing voicemail","operationId":"put","parameters":[{"name":"id","in":"path","description":"The id of the voicemail","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoicemailDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/VoicemailDto"}}}}}},"delete":{"tags":["voicemail"],"summary":"Delete resource","operationId":"delete","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove resource by also removing it where it is still in use","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}},"patch":{"tags":["voicemail"],"description":"- name: Change the name of this voicemail box\n- pin: Change the pin for this voicemail box\n- email: Change the email address for this voicemail box\n- promptId: Set the prompt for this voicemail.\n\nWARNING: Prompts recorded in the voicemail menu are not visible via this api and may be overridden","operationId":"patch","parameters":[{"name":"id","in":"path","description":"The id of the voicemail","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoicemailDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/VoicemailDto"}}}}}}},"/queue/{id}":{"get":{"tags":["queue"],"summary":"Retrieve the properties for this resource","operationId":"get_1","parameters":[{"name":"id","in":"path","description":"The id of the queue","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the resource data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/QueueDto"}}}}}},"put":{"tags":["queue"],"summary":"Replace an existing queue","operationId":"put_1","parameters":[{"name":"id","in":"path","description":"The id of the queue","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/QueueDto"}}}}}},"delete":{"tags":["queue"],"summary":"Delete resource","operationId":"delete_1","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove resource by also removing it where it is still in use","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}},"patch":{"tags":["queue"],"summary":"Update an existing queue","operationId":"patch_1","parameters":[{"name":"id","in":"path","description":"The id of the queue","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/QueueDto"}}}}}}},"/queue/{id}/member/{userId}":{"put":{"tags":["queue"],"summary":"\nUpdate the queue member settings for a user. The settings will be stored if the user is logged in or not.\n","operationId":"putQueueMember","parameters":[{"name":"id","in":"path","description":"The id of the queue","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"userId","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueMemberSettingDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/QueueMemberSettingDto"}}}}}}},"/prompt/{id}":{"get":{"tags":["prompt"],"summary":"Retrieve the properties for this resource","operationId":"get_2","parameters":[{"name":"id","in":"path","description":"The id of the prompt","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the resource data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PromptDto"}}}}}},"put":{"tags":["prompt"],"summary":"Replace an existing prompt","operationId":"put_2","parameters":[{"name":"id","in":"path","description":"The id of the prompt","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PromptDto"}}}}}},"delete":{"tags":["prompt"],"summary":"Delete resource","operationId":"delete_2","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove resource by also removing it where it is still in use","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}},"patch":{"tags":["prompt"],"summary":"Update an existing prompt","operationId":"patch_2","parameters":[{"name":"id","in":"path","description":"The id of the prompt","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PromptDto"}}}}}}},"/prompt/{id}/audio":{"get":{"tags":["prompt"],"summary":"Download prompt as wav file","operationId":"downloadAudio","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"audio/wav":{"schema":{"type":"string","format":"binary"}}}}}},"put":{"tags":["prompt"],"summary":"Upload audio file for the prompt","description":"The filename of the input must be specified using a header named X-Filename.\nThe extension of the filename is used to determine the input format.\nThe maximum filesize of uploaded audio files is 10 MB.\n\nSupported file formats:\n\n<ul>\n<li>wav</li>\n<li>mp3</li>\n</ul>\n\nFor best quality, use at least 16 bit, 16 kHz audio files.\n\nAfter uploading the audio file, the platform will schedule a conversion task. The returned object\ncontains a task id, which can be used to determine when the conversion is finished using the endpoint\n`GET /task/{id}`.","operationId":"uploadAudio","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"X-Filename","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"audio":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/TaskDto"}}}}}}},"/phoneModel/{id}":{"get":{"tags":["phoneModel"],"summary":"The properties for this phonemodel","operationId":"get_3","parameters":[{"name":"id","in":"path","description":"The id of the phoneModel","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the data object for this phonemodel","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneModelDto"}}}}}},"put":{"tags":["phoneModel"],"summary":"The properties for this phonemodel","operationId":"put_3","parameters":[{"name":"id","in":"path","description":"The id of the phoneModel","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneModelDto"}}},"required":true},"responses":{"200":{"description":"the data object for this phonemodel","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneModelDto"}}}}}},"delete":{"tags":["phoneModel"],"operationId":"delete_3","parameters":[{"name":"id","in":"path","description":"The id of the phoneModel","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove phoneModel by also removing it where it is still in use","required":true,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}},"patch":{"tags":["phoneModel"],"summary":"The properties for this phonemodel","operationId":"patch_3","parameters":[{"name":"id","in":"path","description":"The id of the phoneModel","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneModelDto"}}},"required":true},"responses":{"200":{"description":"the data object for this phonemodel","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneModelDto"}}}}}}},"/phone/{id}":{"get":{"tags":["phone"],"summary":"Retrieve the properties for this resource","operationId":"get_4","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the resource data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneDto"}}}}}},"put":{"tags":["phone"],"summary":"Replace an existing phone.","description":"After updating, call the \"reboot\" endpoint to make sure a provisioned phone will reconfigure itself.","operationId":"put_4","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneDto"}}}}}},"delete":{"tags":["phone"],"summary":"Delete resource","operationId":"delete_4","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove resource by also removing it where it is still in use","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}},"patch":{"tags":["phone"],"summary":"Update an existing phone.","description":"After updating, call the \"reboot\" endpoint to make sure a provisioned phone will reconfigure itself.","operationId":"patch_4","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneDto"}}}}}}},"/musiconhold/{id}":{"get":{"tags":["musiconhold"],"summary":"Retrieve the properties for this resource","operationId":"get_5","parameters":[{"name":"id","in":"path","description":"The id of the music on hold object","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the resource data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/MusicOnHoldDto"}}}}}},"put":{"tags":["musiconhold"],"summary":"Replace the musicOnHold resource","description":"Replace name of resource","operationId":"putHoldMusic","parameters":[{"name":"id","in":"path","description":"The id of the musicOnHold resource","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MusicOnHoldDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/MusicOnHoldDto"}}}}}},"delete":{"tags":["musiconhold"],"summary":"Delete resource","operationId":"delete_5","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove resource by also removing it where it is still in use","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}},"patch":{"tags":["musiconhold"],"summary":"Patch the musicOnHold resource","description":"Change the name of the musicOnHold resource","operationId":"patchHoldMusic","parameters":[{"name":"id","in":"path","description":"The id of the MusicOnHold resource","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MusicOnHoldDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/MusicOnHoldDto"}}}}}}},"/firmware/{id}":{"get":{"tags":["firmware"],"summary":"The properties for this firmware","operationId":"get_6","parameters":[{"name":"id","in":"path","description":"The id of the firmware","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the data object for this firmware","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/FirmwareDto"}}}}}},"put":{"tags":["firmware"],"operationId":"updateFirmware","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FirmwareDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/FirmwareDto"}}}}}},"delete":{"tags":["firmware"],"operationId":"deleteFirmware","parameters":[{"name":"id","in":"path","description":"The id of the firmware","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{}}}},"patch":{"tags":["firmware"],"operationId":"patchFirmware","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FirmwareDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/FirmwareDto"}}}}}}},"/firmware/{id}/file":{"put":{"tags":["firmware"],"summary":"Upload firmware file for the firmware","operationId":"uploadFirmwareFile","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"OK","content":{}}}}},"/user/{id}/verifyPermission":{"post":{"tags":["user"],"summary":"Check whether this entity has the specified permission on","description":"Check whether this entity has the specified permission on\nthe target entity. If access is denied, an InsufficientPrivileges\nexception is thrown. Otherwise, no value is returned.","operationId":"verifyPermission","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserVerifyPermissionInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/user/{id}/transferCall":{"post":{"tags":["user"],"summary":"Merge/transfer the two given calls of the user.","description":"Merge/transfer the two given calls of the user.\n\nBoth remote endpoints of the calls will be connected to each other.\n\nThis user must be involved in both calls. Afterwards, the user\nis no longer involved in either call.\n\nThe caller of this method must either be the user in the call,\nor have write permissions on the user.","operationId":"transferCall","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserTransferCallInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/user/{id}/status":{"get":{"tags":["user"],"summary":"Retrieve the status of a user.","operationId":"getStatus","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"userStatus object of the user","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/UserStatusDto"}}}}}},"post":{"tags":["user"],"summary":"Set the status of this user.","description":"Set the status of this user.\n\nThe receive calls parameter can be used to mark the user as 'away',\nmeaning the user won't be offered incoming calls. The user can still\ninitiate calls.\n\n<ul>\n<li>If receive calls is set to 'receiveAll', the user will receive calls normally</li>\n<li>If receive calls is set to 'receiveNone', the user will not receive any calls</li>\n<li>If receive calls is set to 'receiveOnlyDirect', the user will receive calls,\nbut not calls from a queue.\n</li>\n</ul>\n\nEach status change can be accompanied with a 'displayStatus', which is a\nfreeform string.\n\nIf the user is currently in wrap-up time, the wrap-up time will be ended.","operationId":"updateStatus","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserStatusInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/user/{id}/startWrapup":{"post":{"tags":["user"],"summary":"Start wrap-up time for the user.","description":"Start wrap-up time for the user.\n\nIn wrap-up, the receive calls state of the user is set to be 'only direct calls',\nie. the user will still receive direct calls, but not handle queue calls.\n\nIf the duration is set to a positive number, the platform will automatically revert user's state\nto 'receiveAll' after the given amount of seconds. If the user's status is set manually\nduring wrap-up time, the state will not be reverted.\nIf the duration is set to -1, the user's state will remain 'receiveOnlyDirect'\nuntil the status is manually overwritten otherwise (by using a POST on the user's status endpoint).\n\nWrap-up API feature needs to be enabled for the user calling this method.","operationId":"startWrapup","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserStartWrapupInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/user/{id}/sendDtmf":{"post":{"tags":["user"],"summary":"Send DTMF digits on a call.","description":"Send DTMF digits on a call.\n\nThe user must be involved in the call, ie. the user's phone is on\neither side of the call.\n\nThe caller of this method must either be the user in the call,\nor have write permissions on the user.\n\nA maximum of 10 DTMF digits can be sent simultaneously.","operationId":"sendDtmf","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserSendDtmfInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/user/{id}/redirectCall":{"post":{"tags":["user"],"summary":"Redirect the call of the user.","description":"Redirect the call of the user.\n\nThe other endpoint of the call will be redirected to the given destination.\n\nThis user must be involved in the call. Afterwards, the user is no longer\ninvolved in the call.\n\nThe caller of this method must either be the user in the call,\nor have write permissions on that user.","operationId":"redirectCall","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRedirectCallInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/user/{id}/pickupQueueCall":{"post":{"tags":["user"],"summary":"Let the specified user handle a queue call","description":"Even if the user is not a member of the queue, or if the call is not the first call in the queue.\nThis triggers an originate to the extension.\n\nThe phone of the user starts ringing. When the user picks up,\nthe call in the queue is taken from the queue, and given to the user.\n\n\n# Preconditions:\n\n- the call-id exists.\n- the extension belongs to the same company as the given call-id.\n- the given call-id is currently waiting in a queue.\n- the user of the api has the 'Queue pickup API' premium feature enabled.\n- the user of the api doesn't need any additional read/write rights on the company.\n\nIf the preconditions aren't met, an error is thrown.\n\n# Error codes:\n\n- `InvalidSyntax`: The call-id is empty, or has an invalid format.\n- `IdNotFound`: The call-id doesn't exist.\n- `InsufficientPrivileges`: The extension isn't allowed to take the call, because the call is in a different company.\n- `InvalidContainer`: The call is not currently waiting in a queue.","operationId":"pickupQueueCall","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PickupQueueCallInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"object"}}}}}}},"/user/{id}/logoutQueue":{"post":{"tags":["user"],"summary":"Remove all identities for this user from the queue","operationId":"logoutQueue","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueMemberLogoutInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/BooleanDto"}}}}}}},"/user/{id}/logon":{"post":{"tags":["user"],"summary":"Log this user on to a phone.","operationId":"logon","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLogonInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/user/{id}/logoff":{"post":{"tags":["user"],"summary":"Log off this user from the phone on which the user is currently logged in.","description":"Log off this user from the phone on which the user is currently logged in.\n\nIf the user is not logged on, this is a no-op.","operationId":"logoff","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/user/{id}/loginQueue":{"post":{"tags":["user"],"summary":"Log this users first identity on to a queue","description":"Log this user's first identity on to a queue.\n\nMethod is set or update\n'\nError codes:\n\n<ul><li><code>OutOfRange</code>: The specified priority was out of range (should be one of 1,2 or 3)</li></ul>","operationId":"loginQueue","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueMemberLoginInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{}}}}},"/user/{id}/listenIn":{"post":{"tags":["user"],"summary":"Listen in on a call.","description":"Listen in on a call.\n\nThe caller's phone rings, and when picked up the caller can listen in on the specified call.\nThe members of the call can't hear the person performing the listen in, but might be notified\nof the listen in in other ways (such as through the Bridge application, or by listening to API events).\n\nBe aware that there may be legal considerations for listening in on calls. By using this feature,\nyou accept responsibility for adhering to the appropriate requirements. Contact your reseller for more\ninformation.\n\nListen-in API feature needs to be enabled for the user calling this method.\nPreconditions:\n\n<ul>\n<li>the call-id is valid and exists.</li>\n<li>The corresponding call is in state 'answered'.</li>\n<li>the user performing the api-call has write-rights on the company that the call-id is in.</li>\n<li>the user performing the api-call has the Listen in API feature enabled.</li>\n<li>the user receiving the listen-in is in the same company that the call-id is in.</li>\n</ul>\n\nIf the preconditions aren't met, an error is thrown.\n\nA status is returned before the call is actually set up. As such, receiving a 200 OK status is not\na guarantee that the listen in call will be set up.\n\nPlease note that, if a call is transferred, the listening channel doesn't always follow the transfer and\nmight get disconnected.\nThe consultation part of an attended transfer is never followed, as this is considered to be a new call\nwith a new call-id on the platform.\n\nError codes:\n\n<ul>\n  <li><code>InvalidSyntax</code>: The callId is empty, or has an invalid format.</li>\n  <li><code>IdNotFound</code>: The callId doesn't exist.</li>\n  <li><code>InsufficientPrivileges</code>: The user isn't allowed to pick up the call because the user does not have the required privileges.</li>\n</ul>","operationId":"listenIn","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserListenInInput"}}},"required":true},"responses":{"200":{"description":"callId of the listenIn call.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PrimitiveWrapperString"}}}}}}},"/user/{id}/hangupCall":{"post":{"tags":["user"],"summary":"Hangs up the call.","description":"Hangs up the call.\n\nIf the call has been answered, it will be terminated,\nie. both sides will be hung up.\n\nIf the call is ringing on the user's phone, the call is rejected.\nThe call will continue it's path through the dialplan, as if the\nuser had rejected the call on the phone. If the call is in a\nqueue, other agents will be connected.\n\nThe caller of this method must either be the user in the call,\nor have write permissions on the user.","operationId":"hangupCall","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserHangupCallInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/user/{id}/features":{"get":{"tags":["user"],"summary":"Get a list of features that this user has enabled, and can use.","operationId":"getFeatures","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the (possibly empty) list of features this user has enabled.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FeatureDto"}}}}}}},"post":{"tags":["user"],"summary":"Set a list of features to enable for the user.","description":"Set a list of features to enable for the user.\n\nNOTE: Enabling features incurs monthly charges!\n\nAny features not in the given list will be disabled. Write permissions on the parent of this user (company/reseller) are required.","operationId":"updateFeatures","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"object"}}}}}}},"/user/{id}/dialUser":{"post":{"tags":["user"],"summary":"Dial to a user. The caller's phone rings and when picked up, the caller is connected","description":"Dial to a user. The caller's phone rings and when picked up, the caller is connected\nwith the specified user. Both users must be logged in on a phone.  If either the dialing\nor the dialed user has multiple identities, the first identity will be used.\n\nAcceptance of the request only indicates a call was set up; it does not guarantee the call\nwas successfully connected to either the user or the caller or the callee.","operationId":"dialUser","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDialUserInput"}}},"required":true},"responses":{"200":{"description":"the call-id of the call","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PrimitiveWrapperString"}}}}}}},"/user/{id}/dialNumber":{"post":{"tags":["user"],"summary":"Dial to a number. The caller's phone rings and when picked up, the caller is connected","description":"Dial to a number. The caller's phone rings and when picked up, the caller is connected\nwith the specified destination number. The calling user must be logged in on a phone.\n\nIf the dialing user has multiple identities, his first identity will be used.\n\nNumber formats accepted:\n\n<ul>\n<li>[extension]</li>\n<li>00[countrycode][areacode]1234</li>\n<li>[countrycode][areacode]1234</li>\n<li>0[areacode]1234</li>\n</ul>\n\nAcceptance of the request only indicates a call was set up; it does not guarantee the call\nwas successfully connected to either the user or the caller or the callee.","operationId":"dialNumber","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDialNumberInput"}}},"required":true},"responses":{"200":{"description":"the call-id of the call","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PrimitiveWrapperString"}}}}}}},"/user/{id}/createPrompt":{"post":{"tags":["user"],"summary":"Create a new prompt.","description":"Requires write permissions on the user. Use the <pre>PUT /prompt/id/audio</pre> endpoint to upload an audio files.","operationId":"createPrompt","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptDto"}}},"required":true},"responses":{"200":{"description":"Prompt object","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PromptDto"}}}}}}},"/user/{id}/createPhone":{"post":{"tags":["user"],"summary":"Create a new phone","operationId":"createPhone","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"x-no-redirect","in":"header","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneInput"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a phone.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a phone"}}}},"/user/{id}/checkPassword":{"post":{"tags":["user"],"summary":"Check the password of a user.","operationId":"checkPassword","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCheckPasswordInput"}}},"required":true},"responses":{"200":{"description":"True if password matches, false if not","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PrimitiveWrapperBoolean"}}}}}}},"/user/{id}/answerCall":{"post":{"tags":["user"],"summary":"Answer a ringing call to this phone.","description":"Answer a ringing call to this user.\n\nSignals the phone tied to the users first identity to answer the call.\n\nNOTE: not all phones support this operation, refer to the capability list of this phone. This operation is asynchronous; when it completes successfully, there is no guarantee the phone has received, accepted or processed the command.\n\nCall Control API feature needs to be enabled for the user calling this method.","operationId":"answerCall","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAnswerCallInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"object"}}}}}}},"/user/{id}/addRight":{"post":{"tags":["user"],"summary":"Add a right to this user.","description":"Add a right to this user.\n\nIf there is already a right from this user to the given target entity,\nan error is thrown (ie. there cannot be multiple rights from one user to\na specific entity).","operationId":"addRight","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAddRightInput"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a right.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/RightDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a right"}}}},"/reseller/{id}/createUser":{"post":{"tags":["reseller"],"summary":"Creates a user under this reseller.","description":"Creates a user under this reseller.\n\nError codes:\n\n<ul><li><code>UniqueValueAlreadyUsed</code>: The requested username is already in use.</li><li><code>InvalidSyntax</code>: The format of the username, full name or e-mail\naddress is not valid.</li></ul>","operationId":"createUser","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResellerUserInput"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a user.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a user"}}}},"/reseller/{id}/createReseller":{"post":{"tags":["reseller"],"summary":"Create a reseller under this reseller.","description":"Create a reseller under this reseller. The SIP domain can be\nspecified, or inherited from the parent reseller.\n\nThe outbound route is always inherited.\n\nError codes:\n\n<ul><li><code>UniqueValueAlreadyUsed</code>: The requested shortname is already used.\nextension is already in use.</li><li><code>InvalidSyntax</code>: The format of the reseller name is invalid.</li></ul>","operationId":"createReseller","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResellerInputDto"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a reseller.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ResellerDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a reseller"}}}},"/reseller/{id}/createPhoneModel":{"post":{"tags":["reseller"],"summary":"Create a new phoneModel.","description":"Requires write permissions on the reseller","operationId":"createPhoneModel","parameters":[{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneModelDto"}}},"required":true},"responses":{"200":{"description":"Phone model","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneModelDto"}}}}}}},"/reseller/{id}/createCompany":{"post":{"tags":["reseller"],"summary":"Create a company under this reseller.","description":"Create a company under this reseller. The SIP domain of the\ncompany is automatically set to this reseller's base domain,\nprepended by the company shortname. The outbound route is also\ncopied from the reseller. Music on hold is set to the default\nvalue.","operationId":"createCompany","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyInputDto"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company"}}}},"/phoneModel/{id}/createFirmware":{"post":{"tags":["phoneModel"],"summary":"Create firmware for this phoneModel","operationId":"createFirmware","parameters":[{"name":"id","in":"path","description":"The id of the phoneModel","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FirmwareDto"}}},"required":true},"responses":{"200":{"description":"the data object for this phoneModel","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/FirmwareDto"}}}}}}},"/phone/{id}/unholdCall":{"post":{"tags":["phone"],"summary":"Unhold a call on this phone.","description":"Unhold a call on this phone.\n\nSignals the phone to unhold the call, ie. make it active again and\nenable the audio stream.\n\nNOTE: not all phones support this operation, refer to the\ncapability list of this phone. This operation is asynchronous;\nwhen it completes successfully, there is no guarantee the phone\nhas received, accepted or processed the command.\n\nCall Control API feature needs to be enabled for the user calling this method.","operationId":"unholdCall","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneUnholdCallInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/phone/{id}/syncSettings":{"post":{"tags":["phone"],"summary":"Lets the phone refresh its settings from the platform.","description":"Lets the phone refresh its settings from the platform.\n\nThis operation waits for an answer from the phone, which may\ntake a while.","operationId":"syncSettings","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PrimitiveWrapperBoolean"}}}}}}},"/phone/{id}/reboot":{"post":{"tags":["phone"],"summary":"Reboots the phone.","description":"Reboots the phone.\n\nThis operation waits for an answer from the phone, which may\ntake a while.","operationId":"reboot","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PrimitiveWrapperBoolean"}}}}}}},"/phone/{id}/migrateToCompany":{"post":{"tags":["phone"],"summary":"Migrate this phone to another company","description":"Migrate this phone to another company\n\nAny logged in user will be logged out.\n\nThe caller of this method needs to have write permissions on both the source\nand the destination company of the phone.","operationId":"migrateToCompany","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneMigrateToCompanyInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/phone/{id}/holdCall":{"post":{"tags":["phone"],"summary":"Hold a call on this phone.","description":"Hold a call on this phone.\n\nSignals the phone to hold the call, ie. temporary don't send or receive\naudio on the line.\n\nNOTE: not all phones support this operation, refer to the\ncapability list of this phone. This operation is asynchronous;\nwhen it completes successfully, there is no guarantee the phone\nhas received, accepted or processed the command.\n\nCall Control API feature needs to be enabled for the user calling this method.","operationId":"holdCall","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneHoldCallInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/phone/{id}/answerCall":{"post":{"tags":["phone"],"summary":"Answer a ringing call to this phone.","description":"Using this functionality via the User or Identity endpoints is preferred, and may yield faster results.\n\nAnswer a ringing call to this phone.\n\nSignals the phone to answer the call.\n\nNOTE: not all phones support this operation, refer to the capability list of this phone. This operation is asynchronous; when it completes successfully, there is no guarantee the phone has received, accepted or processed the command.\n\nCall Control API feature needs to be enabled for the user calling this method.","operationId":"answerCall_1","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneAnswerCallInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"string"}}}}}}},"/musiconhold/{id}/file":{"post":{"tags":["musiconhold"],"summary":"Add audio file","description":"The filename of the input must be specified using a header named X-Filename.\nThe extension of the filename is used to determine the input format.\nThe maximum filesize of uploaded audio files is 10 MB.\n\nSupported file formats:\n\n<ul>\n<li>wav</li>\n<li>mp3</li>\n</ul>\n\nFor best quality, use at least 16 bit, 16 kHz audio files.\n\nAfter uploading the audio file, the platform will schedule a conversion task. The returned object\ncontains a task id, which can be used to determine when the conversion is finished using the endpoint\n`GET /task/{id}`.","operationId":"uploadMusic","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"X-Filename","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"audio":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/TaskDto"}}}}}}},"/identity/{id}/logoutQueue":{"post":{"tags":["identity"],"summary":"Remove this identity from a queue","operationId":"logoutQueue_1","parameters":[{"name":"id","in":"path","description":"The id of the identity","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueMemberLogoutInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/BooleanDto"}}}}}}},"/identity/{id}/loginQueue":{"post":{"tags":["identity"],"summary":"Log this identity on to a queue","description":"Log this identity on to a queue.\n\nMethod is set or update\n\nError codes:\n\n<ul><li><code>OutOfRange</code>: The specified priority was out of range (should be one of 1,2 or 3)</li></ul>","operationId":"loginQueue_1","parameters":[{"name":"id","in":"path","description":"The id of the identity","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueMemberLoginInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{}}}}},"/identity/{id}/answerCall":{"post":{"tags":["identity"],"summary":"Answer a ringing call to this phone.","description":"Answer a ringing call to this identity.\n\nSignals the phone tied to the identity to answer the call.\n\nNOTE: not all phones support this operation, refer to the capability list of this phone. This operation is asynchronous; when it completes successfully, there is no guarantee the phone has received, accepted or processed the command.\n\nCall Control API feature needs to be enabled for the user calling this method.","operationId":"answerCall_2","parameters":[{"name":"id","in":"path","description":"The id of the identity","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAnswerCallInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"object"}}}}}}},"/externalNumber/{id}/dialplan":{"get":{"tags":["externalNumber"],"summary":"Get the dialplan steps for this external number.","description":"Get the dialplan steps for this external number.\n\nRequires read rights on the company.\n\nA dial plan consists of a number of dial plan steps. The basic format is:\n\n```json\n{\n  \"steps\": [\n    {\n      \"type\": \"busy\"\n    }\n  ]\n}\n```\n\nEach step object can be of the following types:\n\n# Basics\n\n```json\n{\n  // Possible values: \"hangup\", \"busy\".\n  \"type\": \"hangup\"\n}\n```\n\n# Resource-based steps\n\nResource-based steps point to a company-wide resource. When creating a dial plan, every referenced resource needs to be created beforehand.\nWhen retrieving a dial plan, the `name` property will contain the descriptive name that was given to the referenced resource.\n\n```json\n{\n  // Possible values: \"conference\", \"forward\", \"prompt\", \"voicemail\"\n  \"type\": \"conference\",\n\n  // The resource id of the element to include in the dial plan.\n  \"id\": \"1911\",\n\n  // The name of the resource that the dial plan points to. Only used when retrieving a dial plan;\n  // the field is ignored when setting/updating a dial plan.\n  \"name\": \"Conference name\"\n}\n```\n\n# DTMF input\n\n```json\n{\n  \"type\": \"dtmfInput\",\n\n  // Descriptive name\n  \"name\": \"DTMF Input name\",\n\n  // Resource id of the prompt. Optional (can be left empty or set to 0 for no prompt).\n  \"promptId\": \"314159\",\n\n  // Timeout (in seconds) before the next repetition of the input (see 'repeat'). Can be between 1 and 65535.\n  \"timeout\": 20,\n\n  // Number of repetitions of the input, before aborting. Can be between 0 and 65535.\n  \"repeat\": 5,\n\n  // Number of digits to ask for. Leave empty (or set to 0) if variableLength is set to true, otherwise a\n  // number from 1 to 100 (inclusive).\n  \"digits\": 4,\n\n  // Whether the amount of digits to enter is variable. In that case, input can be ended by pressing '#'.\n  // Use 'false' for fixed inputs length. In that case, the digits parameter is required to be a positive number.\n  \"variableLength\": false\n}\n```\n\n# IVR menu\n\n```json\n{\n  \"type\": \"ivr\",\n\n  // Descriptive name\n  \"name\": \"IVR menu name\",\n\n  // Resource id of the prompt\n  \"promptId\": \"2600\",\n\n  // Timeout (in seconds) before the next repetition of the IVR input (see 'repeat'). Can be between 1 and 65535.\n  \"timeout\": 20,\n\n  // Number of repetitions of the IVR menu, before aborting. Can be between 0 and 65535.\n  \"repeat\": 5,\n\n  // A list of choices/branches. Each entry of this list describes a possible IVR input value,\n  // along with the dial plan steps to take.\n  \"branches\": [\n    {\n      // The DTMF key: a digit, a star '*' or the pound sign '#'.\n      \"key\": \"8\",\n\n      // The dial plan steps for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Number recognition\n\n```json\n{\n  \"type\": \"numberRecognition\",\n\n  // A list of number recognition branches/options. Each option contains a list of number prefixes to match.\n  // Options are evaluated in order - the dial plan follows the first option that has a matching prefix.\n  \"branches\": [\n    {\n      // Descriptive name\n      \"name\": \"Dutch phone numbers (+31...)\",\n\n      // List of number prefixes, in international number format.\n      // For example: 3120 is all numbers from Amsterdam, 32 is all Belgian numbers.\n      \"numberPrefixes\": [\n        \"31\"\n      ],\n\n      // Whether this branch matches anonymous numbers.\n      \"anonymous\": false,\n\n      // The dial plan steps for this branch\n      \"steps\": [ ... ]\n    }\n  ],\n\n  // List of dial plan steps to execute when no number prefix matches.\n  \"defaultSteps\": [ ... ]\n}\n```\n\n# Caller ID Prefix\n\n```json\n{\n  \"type\": \"prefix\",\n\n  // The prefix to add to the caller id.\n  \"prefix\": \"[Support]\"\n}\n```\n\n# Time-based routing\n\n```json\n{\n  \"type\": \"timeSwitch\",\n\n  // A list of branches for this time-based switch.\n  \"branches\": [\n\n    {\n      // Descriptive name\n      \"name\": \"Office hours\",\n\n      // The condition when to match this branch.\n      \"condition\": {\n\n        // Time range. Can be '03:00-14:59' for a branch matching from 03:00 to 14:59:59, effectively 15:00.\n        // Start and end time should be in 24-hour clock (HH:mm) format, seperated by a dash (-).\n        // If not set, matches the whole day (same as range '00:00-23:59').\n        \"timeRange\": \"9:00-18:00\",\n\n        // Day of week range. Can be 'mon' for a single day or 'mon-tue' for a day range.\n        // If not set, matches all days of the week.\n        \"weekDayRange\": \"mon-fri\",\n\n        // Day of month range. Can be '8' for the 8th day of the month or '1-8' for the first eight days of a month.\n        // If not set, matches all days of the month.\n        \"monthDayRange\": \"\",\n\n        // Month range. Can be 'jan' for January or 'mar-apr' for a range of months.\n        // If not set, matches all months.\n        \"monthRange\": \"\"\n      },\n\n      // The dial plan steps to follow for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Dial plan switch\n\n```json\n{\n  \"type\": \"dpSwitch\",\n\n  // Descriptive name\n  \"name\": \"Switch name\",\n\n  // Optional resource ID of an existing switch to reuse.\n  // New switch will be created when not provided.\n  \"id\": 1911,\n\n  // Shortcode of the dial plan switch. Must be unique within the company.\n  // Maximum 5 digits.\n  \"shortcode\": \"1010\",\n\n  // The number of the current settings (1-9, or 0 for tenth option).\n  // If not set, will default to setting 1 (the first setting).\n  \"currentSetting\": \"1\",\n\n  // A list of settings for this dial plan switch.\n  // Minimum 2 settings.\n  // For a switch of 1-n settings (max. 9), include branches with numbers 1...n.\n  // For a switch with 10 settings, include branches with numbers 1..9 and 0.\n  \"settings\": [\n    {\n      // The number of this settings (0-9).\n      \"number\": \"1\",\n\n      // The name of this setting.\n      \"name\": \"Switch setting 1\",\n\n      // The dial plan steps to follow for this branch.\n      \"steps\": [ ... ]\n    },\n    {\n      // A dpSwitch requires at least 2 settings.\n      \"number\": \"2\",\n      \"name\": \"Switch setting 2\",\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Queue\n\n```json\n{\n  \"type\": \"queue\",\n  \n  // The resource id of the queue to include in the dial plan\n  \"id\": \"1911\",\n\n  // The name of the queue that the dial plan points to. Only used when retrieving a dial plan;\n  // the field is ignored when setting/updating a dial plan.\n  \"name\": \"Queue name\",\n\n  // A list of choices/branches. Each entry of this list describes a possible queue input value,\n  // along with the dial plan steps to take.\n  \"branches\": [\n    {\n      // The specific condition: TIMEOUT, FULL or KEY.\n      \"condition\": \"KEY\",\n\n      // Optional DTMF key: a digit, a star '*' or the pound sign '#'.\n      // Required if the condition is ACTION, otherwise ignored.\n      \"key\": \"8\",\n      \n      // The dial plan steps for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# User\n\n```json\n{\n  \"type\": \"user\",\n\n  // The name of the user. When setting a dial plan, this will be ignored. When reading dial plan,\n  // this will contain the name of the user.\n  \"name\": \"Arya Stark\",\n\n  // The entity id of the user of the element to include in the dial plan.\n  // If not set, or set to 0, this will be inferred automatically from the given 'identityId'.\n  \"userId\": \"777\",\n\n  // The identity id of the element to include in the dial plan.\n  // This can be used to call a specific identity of the user.\n  // If not set, or set to 0, the 'userId' property must be set, and the dial plan step will use the first\n  // identity of that user.\n  \"identityId\": \"0\"\n}\n```","operationId":"getDialplan","parameters":[{"name":"id","in":"path","description":"The id of the externalNumber","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the dialplan","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/DialplanDto"},"example":{"steps":[{"type":"busy"}]}}}}}},"post":{"tags":["externalNumber"],"summary":"Update the dialplan for this external number. The existing dialplan is replaced.","description":"Update the dialplan for this external number. The existing dialplan is replaced.\n\nRequires write rights on the company.\n\nA dial plan consists of a number of dial plan steps. The basic format is:\n\n```json\n{\n  \"steps\": [\n    {\n      \"type\": \"busy\"\n    }\n  ]\n}\n```\n\nEach step object can be of the following types:\n\n# Basics\n\n```json\n{\n  // Possible values: \"hangup\", \"busy\".\n  \"type\": \"hangup\"\n}\n```\n\n# Resource-based steps\n\nResource-based steps point to a company-wide resource. When creating a dial plan, every referenced resource needs to be created beforehand.\nWhen retrieving a dial plan, the `name` property will contain the descriptive name that was given to the referenced resource.\n\n```json\n{\n  // Possible values: \"conference\", \"forward\", \"prompt\", \"voicemail\"\n  \"type\": \"conference\",\n\n  // The resource id of the element to include in the dial plan.\n  \"id\": \"1911\",\n\n  // The name of the resource that the dial plan points to. Only used when retrieving a dial plan;\n  // the field is ignored when setting/updating a dial plan.\n  \"name\": \"Conference name\"\n}\n```\n\n# DTMF input\n\n```json\n{\n  \"type\": \"dtmfInput\",\n\n  // Descriptive name\n  \"name\": \"DTMF Input name\",\n\n  // Resource id of the prompt. Optional (can be left empty or set to 0 for no prompt).\n  \"promptId\": \"314159\",\n\n  // Timeout (in seconds) before the next repetition of the input (see 'repeat'). Can be between 1 and 65535.\n  \"timeout\": 20,\n\n  // Number of repetitions of the input, before aborting. Can be between 0 and 65535.\n  \"repeat\": 5,\n\n  // Number of digits to ask for. Leave empty (or set to 0) if variableLength is set to true, otherwise a\n  // number from 1 to 100 (inclusive).\n  \"digits\": 4,\n\n  // Whether the amount of digits to enter is variable. In that case, input can be ended by pressing '#'.\n  // Use 'false' for fixed inputs length. In that case, the digits parameter is required to be a positive number.\n  \"variableLength\": false\n}\n```\n\n# IVR menu\n\n```json\n{\n  \"type\": \"ivr\",\n\n  // Descriptive name\n  \"name\": \"IVR menu name\",\n\n  // Resource id of the prompt\n  \"promptId\": \"2600\",\n\n  // Timeout (in seconds) before the next repetition of the IVR input (see 'repeat'). Can be between 1 and 65535.\n  \"timeout\": 20,\n\n  // Number of repetitions of the IVR menu, before aborting. Can be between 0 and 65535.\n  \"repeat\": 5,\n\n  // A list of choices/branches. Each entry of this list describes a possible IVR input value,\n  // along with the dial plan steps to take.\n  \"branches\": [\n    {\n      // The DTMF key: a digit, a star '*' or the pound sign '#'.\n      \"key\": \"8\",\n\n      // The dial plan steps for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Number recognition\n\n```json\n{\n  \"type\": \"numberRecognition\",\n\n  // A list of number recognition branches/options. Each option contains a list of number prefixes to match.\n  // Options are evaluated in order - the dial plan follows the first option that has a matching prefix.\n  \"branches\": [\n    {\n      // Descriptive name\n      \"name\": \"Dutch phone numbers (+31...)\",\n\n      // List of number prefixes, in international number format.\n      // For example: 3120 is all numbers from Amsterdam, 32 is all Belgian numbers.\n      \"numberPrefixes\": [\n        \"31\"\n      ],\n\n      // Whether this branch matches anonymous numbers.\n      \"anonymous\": false,\n\n      // The dial plan steps for this branch\n      \"steps\": [ ... ]\n    }\n  ],\n\n  // List of dial plan steps to execute when no number prefix matches.\n  \"defaultSteps\": [ ... ]\n}\n```\n\n# Caller ID Prefix\n\n```json\n{\n  \"type\": \"prefix\",\n\n  // The prefix to add to the caller id.\n  \"prefix\": \"[Support]\"\n}\n```\n\n# Time-based routing\n\n```json\n{\n  \"type\": \"timeSwitch\",\n\n  // A list of branches for this time-based switch.\n  \"branches\": [\n\n    {\n      // Descriptive name\n      \"name\": \"Office hours\",\n\n      // The condition when to match this branch.\n      \"condition\": {\n\n        // Time range. Can be '03:00-14:59' for a branch matching from 03:00 to 14:59:59, effectively 15:00.\n        // Start and end time should be in 24-hour clock (HH:mm) format, seperated by a dash (-).\n        // If not set, matches the whole day (same as range '00:00-23:59').\n        \"timeRange\": \"9:00-18:00\",\n\n        // Day of week range. Can be 'mon' for a single day or 'mon-tue' for a day range.\n        // If not set, matches all days of the week.\n        \"weekDayRange\": \"mon-fri\",\n\n        // Day of month range. Can be '8' for the 8th day of the month or '1-8' for the first eight days of a month.\n        // If not set, matches all days of the month.\n        \"monthDayRange\": \"\",\n\n        // Month range. Can be 'jan' for January or 'mar-apr' for a range of months.\n        // If not set, matches all months.\n        \"monthRange\": \"\"\n      },\n\n      // The dial plan steps to follow for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Dial plan switch\n\n```json\n{\n  \"type\": \"dpSwitch\",\n\n  // Descriptive name\n  \"name\": \"Switch name\",\n\n  // Optional resource ID of an existing switch to reuse.\n  // New switch will be created when not provided.\n  \"id\": 1911,\n\n  // Shortcode of the dial plan switch. Must be unique within the company.\n  // Maximum 5 digits.\n  \"shortcode\": \"1010\",\n\n  // The number of the current settings (1-9, or 0 for tenth option).\n  // If not set, will default to setting 1 (the first setting).\n  \"currentSetting\": \"1\",\n\n  // A list of settings for this dial plan switch.\n  // Minimum 2 settings.\n  // For a switch of 1-n settings (max. 9), include branches with numbers 1...n.\n  // For a switch with 10 settings, include branches with numbers 1..9 and 0.\n  \"settings\": [\n    {\n      // The number of this settings (0-9).\n      \"number\": \"1\",\n\n      // The name of this setting.\n      \"name\": \"Switch setting 1\",\n\n      // The dial plan steps to follow for this branch.\n      \"steps\": [ ... ]\n    },\n    {\n      // A dpSwitch requires at least 2 settings.\n      \"number\": \"2\",\n      \"name\": \"Switch setting 2\",\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Queue\n\n```json\n{\n  \"type\": \"queue\",\n  \n  // The resource id of the queue to include in the dial plan\n  \"id\": \"1911\",\n\n  // The name of the queue that the dial plan points to. Only used when retrieving a dial plan;\n  // the field is ignored when setting/updating a dial plan.\n  \"name\": \"Queue name\",\n\n  // A list of choices/branches. Each entry of this list describes a possible queue input value,\n  // along with the dial plan steps to take.\n  \"branches\": [\n    {\n      // The specific condition: TIMEOUT, FULL or KEY.\n      \"condition\": \"KEY\",\n\n      // Optional DTMF key: a digit, a star '*' or the pound sign '#'.\n      // Required if the condition is ACTION, otherwise ignored.\n      \"key\": \"8\",\n      \n      // The dial plan steps for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# User\n\n```json\n{\n  \"type\": \"user\",\n\n  // The name of the user. When setting a dial plan, this will be ignored. When reading dial plan,\n  // this will contain the name of the user.\n  \"name\": \"Arya Stark\",\n\n  // The entity id of the user of the element to include in the dial plan.\n  // If not set, or set to 0, this will be inferred automatically from the given 'identityId'.\n  \"userId\": \"777\",\n\n  // The identity id of the element to include in the dial plan.\n  // This can be used to call a specific identity of the user.\n  // If not set, or set to 0, the 'userId' property must be set, and the dial plan step will use the first\n  // identity of that user.\n  \"identityId\": \"0\"\n}\n```","operationId":"setDialplan","parameters":[{"name":"id","in":"path","description":"The id of the externalNumber","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DialplanDto"},"example":{"steps":[{"type":"busy"}]}}},"required":true},"responses":{"200":{"description":"the saved dialplan","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/externalNumber/{id}/callback":{"post":{"tags":["externalNumber"],"summary":"Dial a phone number and connect them to this external number.","description":"Dial a phone number and connect them to this external number.\n\nThe platform will call the given outbound number first. When that party answers the call,\nit is connected to this external number.","operationId":"callback","parameters":[{"name":"id","in":"path","description":"The id of the externalNumber","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalNumberCallbackInput"}}},"required":true},"responses":{"200":{"description":"the call id of the call","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PrimitiveWrapperString"}}}}}}},"/extension/{id}/pickupQueueCall":{"post":{"tags":["extension"],"summary":"Let the specified extension handle a queue call","description":"This triggers an originate to the given extension. \nIt will do this even if the extension does not belong to a member of the queue, or if the call is not the first call in the queue.\n\nThe phone of the extension starts ringing. If the first element it encounters is a user, it will wait for an answer. \nOn answer, the call in the queue is taken from the queue, and given to the extension.\n \nIf the extension is associated with another dialplan element, it is transferred immediately.\nFor example, if the extension contains a dialplan with a prompt, followed by a user, it will not wait for the user to answer\n\n\n# Preconditions:\n\n- the call-id exists.\n- the extension belongs to the same company as the given call-id.\n- the given call-id is currently waiting in a queue.\n- the user of the api has the 'Queue pickup API' premium feature enabled.\n- the user of the api doesn't need any additional read/write rights on the company.\n\nIf the preconditions aren't met, an error is thrown.\n\n# Error codes:\n\n- `InvalidSyntax`: The call-id is empty, or has an invalid format.\n- `IdNotFound`: The call-id doesn't exist.\n- `InsufficientPrivileges`: The extension isn't allowed to take the call, because the call is in a different company.\n- `InvalidContainer`: The call is not currently waiting in a queue.","operationId":"pickupQueueCall_1","parameters":[{"name":"id","in":"path","description":"The id of the extension","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PickupQueueCallInput"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"object"}}}}}}},"/extension/{id}/dialplan":{"get":{"tags":["extension"],"summary":"Get the dialplan steps for this extension.","description":"Get the dialplan steps for this extension.\n\nRequires read rights on the company.\n\nA dial plan consists of a number of dial plan steps. The basic format is:\n\n```json\n{\n  \"steps\": [\n    {\n      \"type\": \"busy\"\n    }\n  ]\n}\n```\n\nEach step object can be of the following types:\n\n# Basics\n\n```json\n{\n  // Possible values: \"hangup\", \"busy\".\n  \"type\": \"hangup\"\n}\n```\n\n# Resource-based steps\n\nResource-based steps point to a company-wide resource. When creating a dial plan, every referenced resource needs to be created beforehand.\nWhen retrieving a dial plan, the `name` property will contain the descriptive name that was given to the referenced resource.\n\n```json\n{\n  // Possible values: \"conference\", \"forward\", \"prompt\", \"voicemail\"\n  \"type\": \"conference\",\n\n  // The resource id of the element to include in the dial plan.\n  \"id\": \"1911\",\n\n  // The name of the resource that the dial plan points to. Only used when retrieving a dial plan;\n  // the field is ignored when setting/updating a dial plan.\n  \"name\": \"Conference name\"\n}\n```\n\n# DTMF input\n\n```json\n{\n  \"type\": \"dtmfInput\",\n\n  // Descriptive name\n  \"name\": \"DTMF Input name\",\n\n  // Resource id of the prompt. Optional (can be left empty or set to 0 for no prompt).\n  \"promptId\": \"314159\",\n\n  // Timeout (in seconds) before the next repetition of the input (see 'repeat'). Can be between 1 and 65535.\n  \"timeout\": 20,\n\n  // Number of repetitions of the input, before aborting. Can be between 0 and 65535.\n  \"repeat\": 5,\n\n  // Number of digits to ask for. Leave empty (or set to 0) if variableLength is set to true, otherwise a\n  // number from 1 to 100 (inclusive).\n  \"digits\": 4,\n\n  // Whether the amount of digits to enter is variable. In that case, input can be ended by pressing '#'.\n  // Use 'false' for fixed inputs length. In that case, the digits parameter is required to be a positive number.\n  \"variableLength\": false\n}\n```\n\n# IVR menu\n\n```json\n{\n  \"type\": \"ivr\",\n\n  // Descriptive name\n  \"name\": \"IVR menu name\",\n\n  // Resource id of the prompt\n  \"promptId\": \"2600\",\n\n  // Timeout (in seconds) before the next repetition of the IVR input (see 'repeat'). Can be between 1 and 65535.\n  \"timeout\": 20,\n\n  // Number of repetitions of the IVR menu, before aborting. Can be between 0 and 65535.\n  \"repeat\": 5,\n\n  // A list of choices/branches. Each entry of this list describes a possible IVR input value,\n  // along with the dial plan steps to take.\n  \"branches\": [\n    {\n      // The DTMF key: a digit, a star '*' or the pound sign '#'.\n      \"key\": \"8\",\n\n      // The dial plan steps for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Number recognition\n\n```json\n{\n  \"type\": \"numberRecognition\",\n\n  // A list of number recognition branches/options. Each option contains a list of number prefixes to match.\n  // Options are evaluated in order - the dial plan follows the first option that has a matching prefix.\n  \"branches\": [\n    {\n      // Descriptive name\n      \"name\": \"Dutch phone numbers (+31...)\",\n\n      // List of number prefixes, in international number format.\n      // For example: 3120 is all numbers from Amsterdam, 32 is all Belgian numbers.\n      \"numberPrefixes\": [\n        \"31\"\n      ],\n\n      // Whether this branch matches anonymous numbers.\n      \"anonymous\": false,\n\n      // The dial plan steps for this branch\n      \"steps\": [ ... ]\n    }\n  ],\n\n  // List of dial plan steps to execute when no number prefix matches.\n  \"defaultSteps\": [ ... ]\n}\n```\n\n# Caller ID Prefix\n\n```json\n{\n  \"type\": \"prefix\",\n\n  // The prefix to add to the caller id.\n  \"prefix\": \"[Support]\"\n}\n```\n\n# Time-based routing\n\n```json\n{\n  \"type\": \"timeSwitch\",\n\n  // A list of branches for this time-based switch.\n  \"branches\": [\n\n    {\n      // Descriptive name\n      \"name\": \"Office hours\",\n\n      // The condition when to match this branch.\n      \"condition\": {\n\n        // Time range. Can be '03:00-14:59' for a branch matching from 03:00 to 14:59:59, effectively 15:00.\n        // Start and end time should be in 24-hour clock (HH:mm) format, seperated by a dash (-).\n        // If not set, matches the whole day (same as range '00:00-23:59').\n        \"timeRange\": \"9:00-18:00\",\n\n        // Day of week range. Can be 'mon' for a single day or 'mon-tue' for a day range.\n        // If not set, matches all days of the week.\n        \"weekDayRange\": \"mon-fri\",\n\n        // Day of month range. Can be '8' for the 8th day of the month or '1-8' for the first eight days of a month.\n        // If not set, matches all days of the month.\n        \"monthDayRange\": \"\",\n\n        // Month range. Can be 'jan' for January or 'mar-apr' for a range of months.\n        // If not set, matches all months.\n        \"monthRange\": \"\"\n      },\n\n      // The dial plan steps to follow for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Dial plan switch\n\n```json\n{\n  \"type\": \"dpSwitch\",\n\n  // Descriptive name\n  \"name\": \"Switch name\",\n\n  // Optional resource ID of an existing switch to reuse.\n  // New switch will be created when not provided.\n  \"id\": 1911,\n\n  // Shortcode of the dial plan switch. Must be unique within the company.\n  // Maximum 5 digits.\n  \"shortcode\": \"1010\",\n\n  // The number of the current settings (1-9, or 0 for tenth option).\n  // If not set, will default to setting 1 (the first setting).\n  \"currentSetting\": \"1\",\n\n  // A list of settings for this dial plan switch.\n  // Minimum 2 settings.\n  // For a switch of 1-n settings (max. 9), include branches with numbers 1...n.\n  // For a switch with 10 settings, include branches with numbers 1..9 and 0.\n  \"settings\": [\n    {\n      // The number of this settings (0-9).\n      \"number\": \"1\",\n\n      // The name of this setting.\n      \"name\": \"Switch setting 1\",\n\n      // The dial plan steps to follow for this branch.\n      \"steps\": [ ... ]\n    },\n    {\n      // A dpSwitch requires at least 2 settings.\n      \"number\": \"2\",\n      \"name\": \"Switch setting 2\",\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Queue\n\n```json\n{\n  \"type\": \"queue\",\n  \n  // The resource id of the queue to include in the dial plan\n  \"id\": \"1911\",\n\n  // The name of the queue that the dial plan points to. Only used when retrieving a dial plan;\n  // the field is ignored when setting/updating a dial plan.\n  \"name\": \"Queue name\",\n\n  // A list of choices/branches. Each entry of this list describes a possible queue input value,\n  // along with the dial plan steps to take.\n  \"branches\": [\n    {\n      // The specific condition: TIMEOUT, FULL or KEY.\n      \"condition\": \"KEY\",\n\n      // Optional DTMF key: a digit, a star '*' or the pound sign '#'.\n      // Required if the condition is ACTION, otherwise ignored.\n      \"key\": \"8\",\n      \n      // The dial plan steps for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# User\n\n```json\n{\n  \"type\": \"user\",\n\n  // The name of the user. When setting a dial plan, this will be ignored. When reading dial plan,\n  // this will contain the name of the user.\n  \"name\": \"Arya Stark\",\n\n  // The entity id of the user of the element to include in the dial plan.\n  // If not set, or set to 0, this will be inferred automatically from the given 'identityId'.\n  \"userId\": \"777\",\n\n  // The identity id of the element to include in the dial plan.\n  // This can be used to call a specific identity of the user.\n  // If not set, or set to 0, the 'userId' property must be set, and the dial plan step will use the first\n  // identity of that user.\n  \"identityId\": \"0\"\n}\n```","operationId":"getDialplan_1","parameters":[{"name":"id","in":"path","description":"The id of the extension","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the dialplan","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/DialplanDto"},"example":{"steps":[{"type":"busy"}]}}}}}},"post":{"tags":["extension"],"summary":"Update the dialplan for this extension. The existing dialplan is replaced.","description":"Update the dialplan for this extension. The existing dialplan is replaced.\n\nRequires write rights on the company.\n\nA dial plan consists of a number of dial plan steps. The basic format is:\n\n```json\n{\n  \"steps\": [\n    {\n      \"type\": \"busy\"\n    }\n  ]\n}\n```\n\nEach step object can be of the following types:\n\n# Basics\n\n```json\n{\n  // Possible values: \"hangup\", \"busy\".\n  \"type\": \"hangup\"\n}\n```\n\n# Resource-based steps\n\nResource-based steps point to a company-wide resource. When creating a dial plan, every referenced resource needs to be created beforehand.\nWhen retrieving a dial plan, the `name` property will contain the descriptive name that was given to the referenced resource.\n\n```json\n{\n  // Possible values: \"conference\", \"forward\", \"prompt\", \"voicemail\"\n  \"type\": \"conference\",\n\n  // The resource id of the element to include in the dial plan.\n  \"id\": \"1911\",\n\n  // The name of the resource that the dial plan points to. Only used when retrieving a dial plan;\n  // the field is ignored when setting/updating a dial plan.\n  \"name\": \"Conference name\"\n}\n```\n\n# DTMF input\n\n```json\n{\n  \"type\": \"dtmfInput\",\n\n  // Descriptive name\n  \"name\": \"DTMF Input name\",\n\n  // Resource id of the prompt. Optional (can be left empty or set to 0 for no prompt).\n  \"promptId\": \"314159\",\n\n  // Timeout (in seconds) before the next repetition of the input (see 'repeat'). Can be between 1 and 65535.\n  \"timeout\": 20,\n\n  // Number of repetitions of the input, before aborting. Can be between 0 and 65535.\n  \"repeat\": 5,\n\n  // Number of digits to ask for. Leave empty (or set to 0) if variableLength is set to true, otherwise a\n  // number from 1 to 100 (inclusive).\n  \"digits\": 4,\n\n  // Whether the amount of digits to enter is variable. In that case, input can be ended by pressing '#'.\n  // Use 'false' for fixed inputs length. In that case, the digits parameter is required to be a positive number.\n  \"variableLength\": false\n}\n```\n\n# IVR menu\n\n```json\n{\n  \"type\": \"ivr\",\n\n  // Descriptive name\n  \"name\": \"IVR menu name\",\n\n  // Resource id of the prompt\n  \"promptId\": \"2600\",\n\n  // Timeout (in seconds) before the next repetition of the IVR input (see 'repeat'). Can be between 1 and 65535.\n  \"timeout\": 20,\n\n  // Number of repetitions of the IVR menu, before aborting. Can be between 0 and 65535.\n  \"repeat\": 5,\n\n  // A list of choices/branches. Each entry of this list describes a possible IVR input value,\n  // along with the dial plan steps to take.\n  \"branches\": [\n    {\n      // The DTMF key: a digit, a star '*' or the pound sign '#'.\n      \"key\": \"8\",\n\n      // The dial plan steps for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Number recognition\n\n```json\n{\n  \"type\": \"numberRecognition\",\n\n  // A list of number recognition branches/options. Each option contains a list of number prefixes to match.\n  // Options are evaluated in order - the dial plan follows the first option that has a matching prefix.\n  \"branches\": [\n    {\n      // Descriptive name\n      \"name\": \"Dutch phone numbers (+31...)\",\n\n      // List of number prefixes, in international number format.\n      // For example: 3120 is all numbers from Amsterdam, 32 is all Belgian numbers.\n      \"numberPrefixes\": [\n        \"31\"\n      ],\n\n      // Whether this branch matches anonymous numbers.\n      \"anonymous\": false,\n\n      // The dial plan steps for this branch\n      \"steps\": [ ... ]\n    }\n  ],\n\n  // List of dial plan steps to execute when no number prefix matches.\n  \"defaultSteps\": [ ... ]\n}\n```\n\n# Caller ID Prefix\n\n```json\n{\n  \"type\": \"prefix\",\n\n  // The prefix to add to the caller id.\n  \"prefix\": \"[Support]\"\n}\n```\n\n# Time-based routing\n\n```json\n{\n  \"type\": \"timeSwitch\",\n\n  // A list of branches for this time-based switch.\n  \"branches\": [\n\n    {\n      // Descriptive name\n      \"name\": \"Office hours\",\n\n      // The condition when to match this branch.\n      \"condition\": {\n\n        // Time range. Can be '03:00-14:59' for a branch matching from 03:00 to 14:59:59, effectively 15:00.\n        // Start and end time should be in 24-hour clock (HH:mm) format, seperated by a dash (-).\n        // If not set, matches the whole day (same as range '00:00-23:59').\n        \"timeRange\": \"9:00-18:00\",\n\n        // Day of week range. Can be 'mon' for a single day or 'mon-tue' for a day range.\n        // If not set, matches all days of the week.\n        \"weekDayRange\": \"mon-fri\",\n\n        // Day of month range. Can be '8' for the 8th day of the month or '1-8' for the first eight days of a month.\n        // If not set, matches all days of the month.\n        \"monthDayRange\": \"\",\n\n        // Month range. Can be 'jan' for January or 'mar-apr' for a range of months.\n        // If not set, matches all months.\n        \"monthRange\": \"\"\n      },\n\n      // The dial plan steps to follow for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Dial plan switch\n\n```json\n{\n  \"type\": \"dpSwitch\",\n\n  // Descriptive name\n  \"name\": \"Switch name\",\n\n  // Optional resource ID of an existing switch to reuse.\n  // New switch will be created when not provided.\n  \"id\": 1911,\n\n  // Shortcode of the dial plan switch. Must be unique within the company.\n  // Maximum 5 digits.\n  \"shortcode\": \"1010\",\n\n  // The number of the current settings (1-9, or 0 for tenth option).\n  // If not set, will default to setting 1 (the first setting).\n  \"currentSetting\": \"1\",\n\n  // A list of settings for this dial plan switch.\n  // Minimum 2 settings.\n  // For a switch of 1-n settings (max. 9), include branches with numbers 1...n.\n  // For a switch with 10 settings, include branches with numbers 1..9 and 0.\n  \"settings\": [\n    {\n      // The number of this settings (0-9).\n      \"number\": \"1\",\n\n      // The name of this setting.\n      \"name\": \"Switch setting 1\",\n\n      // The dial plan steps to follow for this branch.\n      \"steps\": [ ... ]\n    },\n    {\n      // A dpSwitch requires at least 2 settings.\n      \"number\": \"2\",\n      \"name\": \"Switch setting 2\",\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# Queue\n\n```json\n{\n  \"type\": \"queue\",\n  \n  // The resource id of the queue to include in the dial plan\n  \"id\": \"1911\",\n\n  // The name of the queue that the dial plan points to. Only used when retrieving a dial plan;\n  // the field is ignored when setting/updating a dial plan.\n  \"name\": \"Queue name\",\n\n  // A list of choices/branches. Each entry of this list describes a possible queue input value,\n  // along with the dial plan steps to take.\n  \"branches\": [\n    {\n      // The specific condition: TIMEOUT, FULL or KEY.\n      \"condition\": \"KEY\",\n\n      // Optional DTMF key: a digit, a star '*' or the pound sign '#'.\n      // Required if the condition is ACTION, otherwise ignored.\n      \"key\": \"8\",\n      \n      // The dial plan steps for this branch.\n      \"steps\": [ ... ]\n    }\n  ]\n}\n```\n\n# User\n\n```json\n{\n  \"type\": \"user\",\n\n  // The name of the user. When setting a dial plan, this will be ignored. When reading dial plan,\n  // this will contain the name of the user.\n  \"name\": \"Arya Stark\",\n\n  // The entity id of the user of the element to include in the dial plan.\n  // If not set, or set to 0, this will be inferred automatically from the given 'identityId'.\n  \"userId\": \"777\",\n\n  // The identity id of the element to include in the dial plan.\n  // This can be used to call a specific identity of the user.\n  // If not set, or set to 0, the 'userId' property must be set, and the dial plan step will use the first\n  // identity of that user.\n  \"identityId\": \"0\"\n}\n```","operationId":"setDialplan_1","parameters":[{"name":"id","in":"path","description":"The id of the extension","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DialplanDto"},"example":{"steps":[{"type":"busy"}]}}},"required":true},"responses":{"200":{"description":"the saved dialplan","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/extension/{id}/callback":{"post":{"tags":["extension"],"summary":"Dial a phone number and connect them to this extension.","description":"Dial a phone number and connect them to this extension.\n\nThe platform will call the given outbound number first. When that party answers the call,\nit is connected to this extension.","operationId":"callback_1","parameters":[{"name":"id","in":"path","description":"The id of the extension","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtensionCallbackInput"}}},"required":true},"responses":{"200":{"description":"the call id of the call","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PrimitiveWrapperString"}}}}}}},"/company/{id}/createVoicemail":{"post":{"tags":["company"],"summary":"Create a new voicemail.","description":"Requires write permissions on the company.","operationId":"createVoicemail","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoicemailDto"}}},"required":true},"responses":{"200":{"description":"Voicemail object","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/VoicemailDto"}}}}}}},"/company/{id}/createUser":{"post":{"tags":["company"],"summary":"Creates a user with an optional extension.","description":"Creates a user with an optional extension.\n\nError codes:\n\n<ul><li><code>UniqueValueAlreadyUsed</code>: If the extension is already in use.</li><li><code>OutOfRange</code>: The requested extension is not valid.</li><li><code>InvalidSyntax</code>: The format of the username, full name or e-mail\naddress is not valid.</li></ul>","operationId":"createUser_1","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyUserInput"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a user.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a user"}}}},"/company/{id}/createSoftphone":{"post":{"tags":["company"],"summary":"Create a new softphone","operationId":"createSoftphone","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SoftphoneInput"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a phone.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a phone"}}}},"/company/{id}/createQueue":{"post":{"tags":["company"],"summary":"Create a new queue.","description":"Requires write permissions on the company.","operationId":"createQueue","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/QueueDto"}}}}}}},"/company/{id}/createPrompt":{"post":{"tags":["company"],"summary":"Create a new prompt.","description":"Requires write permissions on the company. Use the <pre>PUT /prompt/id/audio</pre> endpoint to upload an audio files.","operationId":"createPrompt_1","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptDto"}}},"required":true},"responses":{"200":{"description":"Prompt object","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PromptDto"}}}}}}},"/company/{id}/createPhone":{"post":{"tags":["company"],"summary":"Create a new phone","operationId":"createPhone_1","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneInput"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a phone.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a phone"}}}},"/company/{id}/createMusiconhold":{"post":{"tags":["company"],"summary":"Create new musicOnHold resource.","description":"Requires write permissions on the company.","operationId":"createMusiconhold","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MusicOnHoldDto"}}},"required":true},"responses":{"200":{"description":"Create musicOnHold resource","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/MusicOnHoldDto"}}}}}}},"/company/{id}/createForward":{"post":{"tags":["company"],"summary":"Create a forward for use in a dialplan.","description":"Create a forward for use in a dialplan.\n\nYou must have write rights on the company to create a forward.\n\nError codes:\n\n<ul><li><code>OutOfRange</code>: The specified ringtime was out of range\n(should be one of 0,5,10,15,...,90).</li><li><code>InvalidSyntax</code>: The destination\nhas an invalid syntax (should be either an internal\nextension or an external number (6 digits or more).</li></ul>","operationId":"createForward","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCreateForwardInput"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a forward.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ForwardDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a forward"}}}},"/company/{id}/createExternalNumber":{"post":{"tags":["company"],"summary":"Creates an external number with the specified number and description.","description":"Creates an external number with the specified number and description.\n\nError codes:\n\n<ul><li><code>InvalidSyntax</code>: The requested number is not valid.</li></ul>","operationId":"createExternalNumber","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCreateExternalNumberInput"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of an externalNumber.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ExternalNumberDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to an externalNumber"}}}},"/company/{id}/createExtension":{"post":{"tags":["company"],"summary":"Creates an extension with the specified name and number.","description":"Creates an extension with the specified name and number.\n\nError codes:\n\n<ul><li><code>OutOfRange</code>: The requested extension is out of range.\nIt should start a digit in the range 2-9, should have a length\nbetween 2 and 5 digits inclusive and should not be 911.</li></ul>","operationId":"createExtension","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCreateExtensionInput"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of an extension.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ExtensionDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to an extension"}}}},"/company/{id}/createConference":{"post":{"tags":["company"],"summary":"Create a new conference box.","description":"Create a new conference box.\n\nThis operation requires write rights on the company.","operationId":"createConference","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCreateConferenceInput"}}},"required":true},"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a conference.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ConferenceDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a conference"}}}},"/company/{id}/configureTrunk":{"post":{"tags":["company"],"summary":"Configure a trunk to use for outbound calls of this company.","description":"Configure a trunk to use for outbound calls of this company.\n\nYou must have reseller-write rights for this action.\n\nThe syntax and restrictions on the username and password depend on the type of trunk.\nRefer to the documentation of your trunk provider.","operationId":"configureTrunk","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfigureTrunkInputDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/user/{id}":{"get":{"tags":["user"],"summary":"Get the properties for this entity.","operationId":"getData","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the entity data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}}},"delete":{"tags":["user"],"summary":"Delete user","operationId":"delete_6","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}},"patch":{"tags":["user"],"description":"- name: Change the name of this entity.\n- theLanguage: Change the language for entity\n- contact: Change the email address for entity\n- password: Set the password of the user.\n\nIf an empty password is specified, the user will be given\na randomly generated password.","operationId":"patch_5","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}}}}},"/right/{id}":{"get":{"tags":["right"],"summary":"Get the data of this right.","operationId":"getData_1","parameters":[{"name":"id","in":"path","description":"The id of the right","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the right data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/RightDto"}}}}}},"delete":{"tags":["right"],"summary":"Delete right","operationId":"delete_7","parameters":[{"name":"id","in":"path","description":"The id of the right","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}},"patch":{"tags":["right"],"description":"- permType: Set the permission type of this right.\n\nYou can update this right from read-only to read-write and the\nother way around. Using permission type \"permNone\" is not allowed.","operationId":"patch_6","parameters":[{"name":"id","in":"path","description":"The id of the right","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RightDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/RightDto"}}}}}}},"/reseller/{id}":{"get":{"tags":["reseller"],"summary":"Get the properties for this entity.","operationId":"getData_2","parameters":[{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the entity data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ResellerDto"}}}}}},"delete":{"tags":["reseller"],"summary":"Delete reseller","operationId":"delete_8","parameters":[{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}},"patch":{"tags":["reseller"],"description":"- name: Change the name of this reseller\n- theLanguage: Change the language for reseller\n- contact: Change the email address for reseller","operationId":"patch_7","parameters":[{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResellerDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ResellerDto"}}}}}}},"/reseller/{id}/phoneModel/{phone_model_id}/settings":{"get":{"tags":["reseller"],"summary":"Retrieve the settings that are configured for this phone model.","operationId":"getSettings","parameters":[{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"phone_model_id","in":"path","description":"The id of the phoneModel","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneSettingsDto"}}}}}},"patch":{"tags":["reseller"],"summary":"\n            Change the settings that are configured for this phone model.  All settings in specified properties are replaced and properties that are not specified remain unchanged.\n            ","operationId":"patchSettings","parameters":[{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"phone_model_id","in":"path","description":"The id of the phoneModel","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneSettingsDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneSettingsDto"}}}}}}},"/phone/{id}/settings":{"get":{"tags":["phone"],"summary":"Retrieve the settings that are configured for this phone.","operationId":"getSettings_1","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneSettingsDto"}}}}}},"patch":{"tags":["phone"],"summary":"\n            Change the settings that are configured for this phone.  All settings in specified properties are replaced and properties that are not specified remain unchanged.\n            ","operationId":"patchSettings_1","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneSettingsDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneSettingsDto"}}}}}}},"/identity/{id}":{"get":{"tags":["identity"],"summary":"The properties for this identity","operationId":"getData_3","parameters":[{"name":"id","in":"path","description":"The id of the identity","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"The data object for this identity","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/IdentityDto"}}}}}},"patch":{"tags":["identity"],"description":"Patch the Identity","operationId":"patch_8","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentityDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/IdentityDto"}}}}}}},"/externalNumber/{id}":{"get":{"tags":["externalNumber"],"summary":"Retrieve the properties for this resource","operationId":"get_7","parameters":[{"name":"id","in":"path","description":"The id of the external number","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the resource data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ExternalNumberDto"}}}}}},"delete":{"tags":["externalNumber"],"summary":"Delete resource","operationId":"delete_9","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove resource by also removing it where it is still in use","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}},"patch":{"tags":["externalNumber"],"description":"- name: Change the name of this external number\n- cli: Change the current caller identification name\n- cliName: Change the current caller identification name (deprecated, use 'cli' instead)\n- recording: Change the current call recording delivery strategy","operationId":"patch_9","parameters":[{"name":"id","in":"path","description":"The id of the externalNumber","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExternalNumberDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ExternalNumberDto"}}}}}}},"/entity/{id}":{"get":{"tags":["entity"],"summary":"Get the properties for this entity.","operationId":"getData_4","parameters":[{"name":"id","in":"path","description":"The id of the entity","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the entity data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EntityDto"},{"$ref":"#/components/schemas/CompanyDto"},{"$ref":"#/components/schemas/ResellerDto"},{"$ref":"#/components/schemas/UserDto"}]}}}}}},"delete":{"tags":["entity"],"summary":"Delete entity","operationId":"delete_10","parameters":[{"name":"id","in":"path","description":"The id of the entity","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}},"patch":{"tags":["entity"],"description":"- name: Change the name of this entity.\n- theLanguage: Change the language for entity\n- contact: Change the email address for entity","operationId":"patch_10","parameters":[{"name":"id","in":"path","description":"The id of the entity","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EntityDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/EntityDto"},{"$ref":"#/components/schemas/CompanyDto"},{"$ref":"#/components/schemas/ResellerDto"},{"$ref":"#/components/schemas/UserDto"}]}}}}}}},"/dpSwitch/{id}":{"get":{"tags":["dpSwitch"],"summary":"Retrieve the properties for this resource.","operationId":"get_8","parameters":[{"name":"id","in":"path","description":"The id of the dpSwitch","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the resource data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/DpSwitchDto"}}}}}},"delete":{"tags":["dpSwitch"],"summary":"Delete resource","operationId":"delete_11","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove resource by also removing it where it is still in use","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}},"patch":{"tags":["dpSwitch"],"description":"- currentSetting: Change the current setting of dpSwitch","operationId":"patch_11","parameters":[{"name":"id","in":"path","description":"The id of the dpSwitch","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DpSwitchPatch"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/DpSwitchDto"}}}}}}},"/company/{id}":{"get":{"tags":["company"],"summary":"Retrieve Company for an entity.","operationId":"get_9","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company"}}},"delete":{"tags":["company"],"summary":"Delete company","operationId":"delete_12","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}},"patch":{"tags":["company"],"description":"- name: Change the name of this entity.\n- theLanguage: Change the language for entity\n- contact: Change the email address for entity\n- musicOnHold: Change the music on hold of the company\n- defaultCliId: Change the default CLI\n- codecProfileId: Change the codec profile\n- pickupGroups: Toggle using pickup groups","operationId":"patch_12","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}}}}},"/company/{id}/phoneModel/{phone_model_id}/settings":{"get":{"tags":["company"],"summary":"Retrieve the settings that are configured for this phone model.","operationId":"getSettings_2","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"phone_model_id","in":"path","description":"The id of the phoneModel","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneSettingsDto"}}}}}},"patch":{"tags":["company"],"summary":"\n            Change the settings that are configured for this phone model.  All settings in specified properties are replaced and properties that are not specified remain unchanged.\n            ","operationId":"patchSettings_2","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"phone_model_id","in":"path","description":"The id of the phoneModel","required":true,"schema":{"type":"integer","format":"int64"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhoneSettingsDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneSettingsDto"}}}}}}},"/voicemail/{id}/resources":{"get":{"tags":["voicemail"],"summary":"Fetch other resources that directly use this resource","operationId":"getResources","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of resource objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/voicemail/{id}/messages":{"get":{"tags":["voicemail"],"description":"Get all voicemail messages in the voicemail box","operationId":"getMessages","parameters":[{"name":"id","in":"path","description":"The id of the voicemail","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","format":"int32"},"example":0},{"name":"size","in":"query","description":"The size of the page to be returned (default 20)","required":false,"schema":{"maximum":500,"minimum":1,"type":"integer","format":"int32"},"example":20}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PageDtoVoicemailMessageDto"}}}}}}},"/voicemail/{id}/messages/{messageId}":{"get":{"tags":["voicemail"],"description":"Get details of a specific voicemail message in the voicemail box","operationId":"getMessage","parameters":[{"name":"id","in":"path","description":"The id of the voicemail box","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"messageId","in":"path","description":"The id of the voicemail message","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/VoicemailMessageDto"}}}}}},"delete":{"tags":["voicemail"],"summary":"Delete voicemail message","operationId":"deleteMessage","parameters":[{"name":"id","in":"path","description":"The id of the voicemail box","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"messageId","in":"path","description":"The id of the voicemail message","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/voicemail/{id}/messages/{messageId}/audio":{"get":{"tags":["voicemail"],"summary":"Download voicemail message as wav file","operationId":"downloadAudio_1","parameters":[{"name":"id","in":"path","description":"The id of the voicemail box","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"messageId","in":"path","description":"The id of the voicemail message","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"audio/wav":{"schema":{"type":"string","format":"binary"}}}}}}},"/voicemail/{id}/company":{"get":{"tags":["voicemail"],"summary":"Retrieve Company for an resource, if resource is owned by a company.","description":"If the resource is owned by an entity which is not a company, the containing company for the owner is returned.","operationId":"getCompany","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/user":{"get":{"tags":["user"],"summary":"A shortcut that returns the current user","operationId":"get_10","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a user.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a user"}}}},"/user/{id}/rights":{"get":{"tags":["user"],"summary":"Get a list of rights that this user has.","operationId":"getRights","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of rights for this user","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RightDto"}}}}}}}},"/user/{id}/right":{"get":{"tags":["user"],"summary":"Get the right that this user has on the target entity.","description":"Get the right that this user has on the target entity.\n\nNOTE: even if no rights have been set for a user on an entity, it may still have permissions on the\ntarget entity, for example in case it has permissions on a parent of the target entity,\nor if the target entity is the user itself.\n\nUse getPermission to check whether a user has access to an entity or not.","operationId":"getRight","parameters":[{"name":"targetEntity","in":"query","description":"the target entity on which the right is retrieved","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a right.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/RightDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a right"}}}},"/user/{id}/resourcesFiltered":{"get":{"tags":["user"],"summary":"Retrieve base resource information of all resources belonging to this entity.","operationId":"getResourcesFiltered","parameters":[{"name":"filter","in":"query","description":"The resource type to filter on.","required":true,"schema":{"type":"string","enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}},{"name":"id","in":"path","description":"The id of the entity","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of resources for this entity of the given resource type","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/user/{id}/reseller":{"get":{"tags":["user"],"summary":"Get the reseller that contains this entity.","description":"Get the reseller that contains this entity.\n\nThe reseller may itself be contained in another reseller. In that case,\nthe closest ancestor reseller is returned.\n\nThe caller of this method may have no privileges on the returned reseller.","operationId":"getReseller","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a reseller.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ResellerDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a reseller"}}}},"/user/{id}/phones":{"get":{"tags":["user"],"summary":"Fetch all phones of this user","operationId":"getPhones","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of phone objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhoneDto"}}}}}}}},"/user/{id}/permission":{"get":{"tags":["user"],"summary":"Get the permissions this user has on a given entity.","description":"Get the permissions this user has on a given entity.\n\nThis may be a permissions assigned by a right, or a permission\ngranted by having rights on a parent of the entity.","operationId":"getPermission","parameters":[{"name":"targetEntity","in":"query","description":"the target entity for which the permissions are retrieved","required":true,"schema":{"type":"string"}},{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PrimitiveWrapperPermissionTypeDto"}}}}}}},"/user/{id}/identities":{"get":{"tags":["user"],"summary":"Get the Identities for this user.","description":"Get the Identities for this user.\n\nThe returned sequence is ordered on the\n'order' property of the identities.","operationId":"getIdentities","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a sequence of identity objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IdentityDto"}}}}}}}},"/user/{id}/extensions":{"get":{"tags":["user"],"summary":"Get a list of extensions this user can log in with. Usually, the","description":"Get a list of extensions this user can log in with. Usually, the\nuser is also reachable via these extensions, but there is no\nguarantee for that. The extensions are taken from the\ninternal caller-ID's of the user's identities. Can be an empty\nlist.","operationId":"getExtensions","parameters":[{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the (possibly empty) list of extensions this user can log in with","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExtensionDto"}}}}}}}},"/user/{id}/entitiesFiltered":{"get":{"tags":["user"],"summary":"Retrieve base entity information of all entities that are direct children","description":"Retrieve base entity information of all entities that are direct children\nof this entity.","operationId":"getEntitiesFiltered","parameters":[{"name":"filter","in":"query","description":"The entity type to filter on","required":true,"schema":{"type":"string","enum":["reseller","company","department","group","user","unknownEntityType"]}},{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of entities that are direct children of this entity","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/EntityDto"},{"$ref":"#/components/schemas/CompanyDto"},{"$ref":"#/components/schemas/ResellerDto"},{"$ref":"#/components/schemas/UserDto"}]}}}}}}}},"/user/{id}/company":{"get":{"tags":["user"],"summary":"Retrieve Company for a user.","operationId":"getCompany_1","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/user/{id}/accessibleChildren":{"get":{"tags":["user"],"summary":"Get a list of entities contained in a specific reseller, on which this user has (at least)","description":"Get a list of entities contained in a specific reseller, on which this user has (at least)\nthe given permission.\n\nCan be used to request a list of accessible resellers, or a list of accessible companies\nunder a reseller. Cannot be used to retrieve of a list of users.\n\nOnly direct children of the parent are returned.","operationId":"getAccessibleChildren","parameters":[{"name":"parent","in":"query","description":"The reseller under which to find accessible entities.","required":true,"schema":{"type":"string"}},{"name":"typeFilter","in":"query","description":"The type of entities for find. May be reseller or company. If 'unknownEntityType' is given, no filtering is performed, and the returned list may contain both resellers and companies.","required":true,"schema":{"type":"string","enum":["reseller","company","department","group","user","unknownEntityType"]}},{"name":"permType","in":"query","description":"The type of permission that this user must have on the returned entities (read or write).","required":true,"schema":{"type":"string","enum":["permNone","permRead","permWrite","permUnknown"]}},{"name":"id","in":"path","description":"The id of the user","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of entities. Based on the entityType parameter, this list may contain resellers, companies or both.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/EntityDto"},{"$ref":"#/components/schemas/CompanyDto"},{"$ref":"#/components/schemas/ResellerDto"},{"$ref":"#/components/schemas/UserDto"}]}}}}}}}},"/user/lookup":{"get":{"tags":["user"],"summary":"Find user by username.","description":"Find user by username.","operationId":"getLookup","parameters":[{"name":"username","in":"query","description":"The username to look for","required":true,"schema":{"type":"string"}},{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a user.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a user"}}}},"/trunk/{id}":{"get":{"tags":["trunk"],"operationId":"getData_5","parameters":[{"name":"id","in":"path","description":"The id of the trunk","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/TrunkDto"}}}}}}},"/task/{id}":{"get":{"tags":["task"],"summary":"Retrieve the properties of a scheduled task.","description":"You can only retrieve tasks that you started yourself.\n\nDo not request too often. More than once per second is considered as abuse.","operationId":"get_11","parameters":[{"name":"id","in":"path","description":"The id of the scheduled task","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"The scheduled task","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/TaskDto"}}}}}}},"/resource/{id}":{"get":{"tags":["resource"],"summary":"Retrieve the properties for this resource","operationId":"get_12","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the resource data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}},"delete":{"tags":["resource"],"summary":"Delete resource","operationId":"delete_13","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove resource by also removing it where it is still in use","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}}},"/resource/{id}/resources":{"get":{"tags":["resource"],"summary":"Fetch other resources that directly use this resource","operationId":"getResources_1","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of resource objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/resource/{id}/company":{"get":{"tags":["resource"],"summary":"Retrieve Company for an resource, if resource is owned by a company.","description":"If the resource is owned by an entity which is not a company, the containing company for the owner is returned.","operationId":"getCompany_2","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/reseller":{"get":{"tags":["reseller"],"summary":"A shortcut that returns the current user's reseller","operationId":"get_13","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a reseller.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ResellerDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a reseller"}}}},"/reseller/{id}/users":{"get":{"tags":["reseller"],"summary":"Return a list of users under this reseller.","description":"Return a list of users under this reseller. This does not include users that are\nmember of a company under this reseller.","operationId":"getUsers","parameters":[{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the list of reseller users","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserDto"}}}}}}}},"/reseller/{id}/supportedTrunks":{"get":{"tags":["reseller"],"summary":"Get a list of trunks that can be used for companies under this reseller.","operationId":"getSupportedTrunks","parameters":[{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of trunk objects that can be used for companies","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrunkDto"}}}}}}}},"/reseller/{id}/stats":{"get":{"tags":["reseller"],"summary":"Returns statistics","operationId":"getStats","parameters":[{"name":"id","in":"path","description":"The id of the entity","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompanyStatsDto"}}}}}}}},"/reseller/{id}/resourcesFiltered":{"get":{"tags":["reseller"],"summary":"Retrieve base resource information of all resources belonging to this entity.","operationId":"getResourcesFiltered_1","parameters":[{"name":"filter","in":"query","description":"The resource type to filter on.","required":true,"schema":{"type":"string","enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}},{"name":"id","in":"path","description":"The id of the entity","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of resources for this entity of the given resource type","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/reseller/{id}/resellers":{"get":{"tags":["reseller"],"summary":"Return a list of child resellers.","operationId":"getResellers","parameters":[{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the list of resellers","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ResellerDto"}}}}}}}},"/reseller/{id}/reseller":{"get":{"tags":["reseller"],"summary":"Get the reseller that contains this entity.","description":"Get the reseller that contains this entity.\n\nThe reseller may itself be contained in another reseller. In that case,\nthe closest ancestor reseller is returned.\n\nThe caller of this method may have no privileges on the returned reseller.","operationId":"getReseller_1","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a reseller.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ResellerDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a reseller"}}}},"/reseller/{id}/phoneModels":{"get":{"tags":["reseller"],"summary":"Retrieve the phone models for this entity","operationId":"getPhoneModels","parameters":[{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhoneModelDto"}}}}}}}},"/reseller/{id}/entitiesFiltered":{"get":{"tags":["reseller"],"summary":"Retrieve base entity information of all entities that are direct children","description":"Retrieve base entity information of all entities that are direct children\nof this entity.","operationId":"getEntitiesFiltered_1","parameters":[{"name":"filter","in":"query","description":"The entity type to filter on","required":true,"schema":{"type":"string","enum":["reseller","company","department","group","user","unknownEntityType"]}},{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of entities that are direct children of this entity","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/EntityDto"},{"$ref":"#/components/schemas/CompanyDto"},{"$ref":"#/components/schemas/ResellerDto"},{"$ref":"#/components/schemas/UserDto"}]}}}}}}}},"/reseller/{id}/defaultTrunk":{"get":{"tags":["reseller"],"summary":"Get the default trunk for this reseller. May raise an error if there is no default trunk configured.","operationId":"getDefaultTrunk","parameters":[{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the default trunk for this reseller","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/TrunkDto"}}}}}}},"/reseller/{id}/companies":{"get":{"tags":["reseller"],"summary":"Return a list of companies under the specified reseller.","operationId":"getCompanies","parameters":[{"name":"id","in":"path","description":"The id of the entity","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"object"}}}}}}},"/recording/{id}":{"get":{"tags":["recording"],"summary":"Get details of a specific call recording","description":"Returns the metadata for a specific call recording","operationId":"getData_6","parameters":[{"name":"id","in":"path","description":"The id of the recording","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CallRecordingDto"}}}}}},"delete":{"tags":["recording"],"summary":"Delete a call recording","description":"Deletes a call recording and its associated audio file","operationId":"delete_14","parameters":[{"name":"id","in":"path","description":"The id of the recording","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{}}}}}},"/recording/{id}/audio":{"get":{"tags":["recording"],"summary":"Download the call recording in mp3 format","operationId":"getAudio","parameters":[{"name":"id","in":"path","description":"The id of the recording","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"audio/mpeg":{"schema":{"type":"string","format":"binary"}}}}}}},"/queue/{id}/resources":{"get":{"tags":["queue"],"summary":"Fetch other resources that directly use this resource","operationId":"getResources_2","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of resource objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/queue/{id}/members":{"get":{"tags":["queue"],"summary":"Fetch the queue members.","operationId":"getMembers","parameters":[{"name":"id","in":"path","description":"The id of the queue","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"filter","in":"query","description":"Filter the queue members.\n\n- active (default): only return active queue members\n- all: return all queue members, also the inactive ones, which are not logged in to the queue but do \nhave queue settings like their priority.","required":false,"schema":{"type":"string","enum":["Active","All"]}}],"responses":{"200":{"description":"A sequence of queue members","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/QueueMemberDto"}}}}}}}},"/queue/{id}/company":{"get":{"tags":["queue"],"summary":"Retrieve Company for an resource, if resource is owned by a company.","description":"If the resource is owned by an entity which is not a company, the containing company for the owner is returned.","operationId":"getCompany_3","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/prompt/{id}/resources":{"get":{"tags":["prompt"],"summary":"Fetch other resources that directly use this resource","operationId":"getResources_3","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of resource objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/prompt/{id}/company":{"get":{"tags":["prompt"],"summary":"Retrieve Company for an resource, if resource is owned by a company.","description":"If the resource is owned by an entity which is not a company, the containing company for the owner is returned.","operationId":"getCompany_4","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/phoneModel/{id}/firmwares":{"get":{"tags":["phoneModel"],"summary":"The available firmware for this phoneModel","operationId":"listFirmware","parameters":[{"name":"id","in":"path","description":"The id of the phoneModel","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the data object for this phoneModel","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FirmwareDto"}}}}}}}},"/phoneModel/list":{"get":{"tags":["phoneModel"],"summary":"Get all known phoneModels","operationId":"getList","responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhoneModelDto"}}}}}}}},"/phone/{id}/sipAccounts":{"get":{"tags":["phone"],"summary":"Fetch all the SIP accounts that this phone has.","description":"Fetch all the SIP accounts that this phone has.\n\nin order of username","operationId":"getSipAccounts","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the list of sip accounts","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SipAccountDto"}}}}}}}},"/phone/{id}/resources":{"get":{"tags":["phone"],"summary":"Fetch other resources that directly use this resource","operationId":"getResources_4","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of resource objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/phone/{id}/phoneStatus":{"get":{"tags":["phone"],"summary":"Fetch the status properties of this phone,","description":"Fetch the status properties of this phone,\nincluding the logged in user and the registration status.","operationId":"getPhoneStatus","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PhoneStatusDto"}}}}}}},"/phone/{id}/company":{"get":{"tags":["phone"],"summary":"Retrieve Company for an resource, if resource is owned by a company.","description":"If the resource is owned by an entity which is not a company, the containing company for the owner is returned.","operationId":"getCompany_5","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/phone/{id}/capabilities":{"get":{"tags":["phone"],"summary":"Get capabilities of this phone instance.","description":"Get capabilities of this phone instance.\n\nThe capabilities determine which call control API methods\ncan be used with this phone.\n\nThis call returns a list of strings, which can be any combination\nof these capabilities:\n\n<ul>\n<li>answer</li>\n<li>hold</li>\n<li>unhold</li>\n</ul>","operationId":"getCapabilities","parameters":[{"name":"id","in":"path","description":"The id of the phone","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of capabilities, represented as strings","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PrimitiveWrapperString"}}}}}}}},"/phone/filter":{"get":{"tags":["phone"],"summary":"Find phones by their MAC address.","description":"Find phones by their MAC address.\n\nMultiple phone instances can share the same MAC address for DECT phones.\nIf you don't have access to the organisation containing the phone,\nyou'll receive 403 Forbidden.","operationId":"getFilter","parameters":[{"name":"mac","in":"query","description":"The mac address to look for in IEEE 802 format (separated by either hyphens or colons)","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhoneDto"}}}}}}}},"/musiconhold/{resourceId}/file/{entryId}":{"get":{"tags":["musiconhold"],"summary":"Get the specific musicOnHold file.","operationId":"getEntry","parameters":[{"name":"resourceId","in":"path","description":"The id of the musicOnHold resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"entryId","in":"path","description":"The id of the musicOnHold file","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"audio/wav":{"schema":{"type":"string","format":"binary"}}}}}},"delete":{"tags":["musiconhold"],"summary":"Delete the specific file for the specified musicOnHold resource.","operationId":"deleteEntry","parameters":[{"name":"resourceId","in":"path","description":"The id of the musicOnHold resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"entryId","in":"path","description":"The id of the musicOnHold file","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"object"}}}}}}},"/musiconhold/{id}/resources":{"get":{"tags":["musiconhold"],"summary":"Fetch other resources that directly use this resource","operationId":"getResources_5","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of resource objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/musiconhold/{id}/files":{"get":{"tags":["musiconhold"],"summary":"Get all music files associated with this musicOnHold resource.","operationId":"getEntries","parameters":[{"name":"id","in":"path","description":"The id of the musicOnHold object","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MusicOnHoldFileDto"}}}}}}}},"/musiconhold/{id}/company":{"get":{"tags":["musiconhold"],"summary":"Retrieve Company for an resource, if resource is owned by a company.","description":"If the resource is owned by an entity which is not a company, the containing company for the owner is returned.","operationId":"getCompany_6","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/musiconhold/global":{"get":{"tags":["musiconhold"],"summary":"Get all platform-global music on hold resources.","description":"These global music on hold resources are platform-global and can not be edited.\nThey can be used for any queue, in addition to the company-specific music on hold entries.","operationId":"getGlobal","responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MusicOnHoldDto"}}}}}}}},"/identity/{id}/user":{"get":{"tags":["identity"],"summary":"Retrieves the user this identity belongs to","operationId":"getUser","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the identity","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a user.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a user"}}}},"/identity/{id}/recordings":{"get":{"tags":["identity"],"summary":"Get all call recordings for this identity","description":"Returns a paginated list of call recordings for this identity","operationId":"getRecordings","parameters":[{"name":"id","in":"path","description":"The id of the identity","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","format":"int32"},"example":0},{"name":"size","in":"query","description":"The size of the page to be returned (default 20)","required":false,"schema":{"maximum":500,"minimum":1,"type":"integer","format":"int32"},"example":20}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PageDtoCallRecordingDto"}}}}}}},"/identity/{id}/queueMemberships":{"get":{"tags":["identity"],"summary":"Retrieve all the queues this identity is member of","operationId":"getQueueMemberships","parameters":[{"name":"id","in":"path","description":"The id of the identity","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"filter","in":"query","description":"Filter the queue members.\n\n- active (default): only return active queue members\n- all: return all queue members, also the inactive ones, which are not logged in to the queue but do \nhave queue settings like their priority.","required":false,"schema":{"type":"string","enum":["Active","All"]}}],"responses":{"200":{"description":"all queues of which this identity is a member","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/QueueMemberDto"}}}}}}}},"/forward/{id}":{"get":{"tags":["forward"],"summary":"Retrieve the properties for this resource","operationId":"get_14","parameters":[{"name":"id","in":"path","description":"The id of the forward","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the resource data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ForwardDto"}}}}}},"delete":{"tags":["forward"],"summary":"Delete resource","operationId":"delete_15","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove resource by also removing it where it is still in use","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}}},"/forward/{id}/resources":{"get":{"tags":["forward"],"summary":"Fetch other resources that directly use this resource","operationId":"getResources_6","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of resource objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/forward/{id}/company":{"get":{"tags":["forward"],"summary":"Retrieve Company for an resource, if resource is owned by a company.","description":"If the resource is owned by an entity which is not a company, the containing company for the owner is returned.","operationId":"getCompany_7","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/externalNumber/{id}/resources":{"get":{"tags":["externalNumber"],"summary":"Fetch other resources that directly use this resource","operationId":"getResources_7","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of resource objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/externalNumber/{id}/recordings":{"get":{"tags":["externalNumber"],"summary":"Get all call recordings for this external number","description":"Returns a paginated list of call recordings for this external number","operationId":"getRecordings_1","parameters":[{"name":"id","in":"path","description":"The id of the external number","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"page","in":"query","description":"Zero-based page index (0..N)","required":false,"schema":{"minimum":0,"type":"integer","format":"int32"},"example":0},{"name":"size","in":"query","description":"The size of the page to be returned (default 20)","required":false,"schema":{"maximum":500,"minimum":1,"type":"integer","format":"int32"},"example":20}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/PageDtoCallRecordingDto"}}}}}}},"/externalNumber/{id}/company":{"get":{"tags":["externalNumber"],"summary":"Retrieve Company for an resource, if resource is owned by a company.","description":"If the resource is owned by an entity which is not a company, the containing company for the owner is returned.","operationId":"getCompany_8","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/externalNumber/lookup":{"get":{"tags":["externalNumber"],"summary":"Find external number by telephone number.","description":"Find external number by telephone number.\n\nReturns a 404 if the phone number could not be found.\n\nIf the phone number is registered in your company, no privileges are required. If the phone number is\nregistered in another company, read privileges are required on that company. If you don't have enough\nprivileges to read the external number object, a 403 is returned.","operationId":"getLookup_1","parameters":[{"name":"phoneNumber","in":"query","description":"The phone number to look for. This should be a full international phone number; including country code, without any special characters (plus sign, dashes, spaces).","required":true,"schema":{"type":"string"},"example":3161234567},{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of an externalNumber.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ExternalNumberDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to an externalNumber"}}}},"/extension/{id}":{"get":{"tags":["extension"],"summary":"Retrieve the properties for this resource","operationId":"get_15","parameters":[{"name":"id","in":"path","description":"The id of the extension","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the resource data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ExtensionDto"}}}}}},"delete":{"tags":["extension"],"summary":"Delete resource","operationId":"delete_16","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove resource by also removing it where it is still in use","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}}},"/extension/{id}/user":{"get":{"tags":["extension"],"summary":"Get the user for this extension","operationId":"getUser_1","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the extension","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a user.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/UserDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a user"}}}},"/extension/{id}/resources":{"get":{"tags":["extension"],"summary":"Fetch other resources that directly use this resource","operationId":"getResources_8","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of resource objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/extension/{id}/identity":{"get":{"tags":["extension"],"summary":"Get the identity for this extension","operationId":"getIdentity","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the extension","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of an identity.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/IdentityDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to an identity"}}}},"/extension/{id}/company":{"get":{"tags":["extension"],"summary":"Retrieve Company for an resource, if resource is owned by a company.","description":"If the resource is owned by an entity which is not a company, the containing company for the owner is returned.","operationId":"getCompany_9","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/entity/{id}/resourcesFiltered":{"get":{"tags":["entity"],"summary":"Retrieve base resource information of all resources belonging to this entity.","operationId":"getResourcesFiltered_2","parameters":[{"name":"filter","in":"query","description":"The resource type to filter on.","required":true,"schema":{"type":"string","enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}},{"name":"id","in":"path","description":"The id of the entity","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of resources for this entity of the given resource type","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/entity/{id}/reseller":{"get":{"tags":["entity"],"summary":"Get the reseller that contains this entity.","description":"Get the reseller that contains this entity.\n\nThe reseller may itself be contained in another reseller. In that case,\nthe closest ancestor reseller is returned.\n\nThe caller of this method may have no privileges on the returned reseller.","operationId":"getReseller_2","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a reseller.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ResellerDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a reseller"}}}},"/entity/{id}/entitiesFiltered":{"get":{"tags":["entity"],"summary":"Retrieve base entity information of all entities that are direct children","description":"Retrieve base entity information of all entities that are direct children\nof this entity.","operationId":"getEntitiesFiltered_2","parameters":[{"name":"filter","in":"query","description":"The entity type to filter on","required":true,"schema":{"type":"string","enum":["reseller","company","department","group","user","unknownEntityType"]}},{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of entities that are direct children of this entity","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/EntityDto"},{"$ref":"#/components/schemas/CompanyDto"},{"$ref":"#/components/schemas/ResellerDto"},{"$ref":"#/components/schemas/UserDto"}]}}}}}}}},"/entity/{id}/company":{"get":{"tags":["entity"],"summary":"Retrieve Company for an entity, if entity is of a type that can have an owning company.","operationId":"getCompany_10","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the entity","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/dpSwitch/{id}/resources":{"get":{"tags":["dpSwitch"],"summary":"Fetch other resources that directly use this resource","operationId":"getResources_9","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of resource objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/dpSwitch/{id}/company":{"get":{"tags":["dpSwitch"],"summary":"Retrieve Company for an resource, if resource is owned by a company.","description":"If the resource is owned by an entity which is not a company, the containing company for the owner is returned.","operationId":"getCompany_11","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/conference/{id}":{"get":{"tags":["conference"],"summary":"Retrieve the properties for this resource","operationId":"get_16","parameters":[{"name":"id","in":"path","description":"The id of the conference","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the resource data","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ConferenceDto"}}}}}},"delete":{"tags":["conference"],"summary":"Delete resource","operationId":"delete_17","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}},{"name":"force","in":"query","description":"Forcefully remove resource by also removing it where it is still in use","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{}}}}},"/conference/{id}/resources":{"get":{"tags":["conference"],"summary":"Fetch other resources that directly use this resource","operationId":"getResources_10","parameters":[{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of resource objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/conference/{id}/company":{"get":{"tags":["conference"],"summary":"Retrieve Company for an resource, if resource is owned by a company.","description":"If the resource is owned by an entity which is not a company, the containing company for the owner is returned.","operationId":"getCompany_12","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the resource","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company."}}}},"/company":{"get":{"tags":["company"],"summary":"A shortcut that returns the current user's company","operationId":"get_17","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company"}}}},"/company/{id}/voicemails":{"get":{"tags":["company"],"summary":"Fetch all voicemail boxes in this company","operationId":"getVoicemails","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of voicemail resources","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VoicemailDto"}}}}}}}},"/company/{id}/users":{"get":{"tags":["company"],"summary":"Fetch all users in this company.","operationId":"getUsers_1","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of user objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UserDto"}}}}}}}},"/company/{id}/trunk":{"get":{"tags":["company"],"summary":"Get the trunk information for this company, if this is configured. Otherwise, an error is returned.","description":"Get the trunk information for this company, if this is configured. Otherwise, an error is returned.\n\nYou must have reseller-read rights for this action.","operationId":"getTrunk","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"the trunk and trunk account information","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/TrunkAccountDto"}}}}}}},"/company/{id}/resourcesFiltered":{"get":{"tags":["company"],"summary":"Retrieve base resource information of all resources belonging to this entity.","operationId":"getResourcesFiltered_3","parameters":[{"name":"filter","in":"query","description":"The resource type to filter on.","required":true,"schema":{"type":"string","enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}},{"name":"id","in":"path","description":"The id of the entity","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of resources for this entity of the given resource type","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/ResourceDto"},{"$ref":"#/components/schemas/ConferenceDto"},{"$ref":"#/components/schemas/DpSwitchDto"},{"$ref":"#/components/schemas/DtmfInputDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"},{"$ref":"#/components/schemas/ForwardDto"},{"$ref":"#/components/schemas/IvrDto"},{"$ref":"#/components/schemas/MusicOnHoldDto"},{"$ref":"#/components/schemas/NamePrefixDto"},{"$ref":"#/components/schemas/PhoneDto"},{"$ref":"#/components/schemas/PromptDto"},{"$ref":"#/components/schemas/QueueDto"},{"$ref":"#/components/schemas/TelephoneNumberDto"},{"$ref":"#/components/schemas/VoicemailDto"},{"$ref":"#/components/schemas/ExtensionDto"},{"$ref":"#/components/schemas/ExternalNumberDto"}]}}}}}}}},"/company/{id}/reseller":{"get":{"tags":["company"],"summary":"Get the reseller that contains this entity.","description":"Get the reseller that contains this entity.\n\nThe reseller may itself be contained in another reseller. In that case,\nthe closest ancestor reseller is returned.\n\nThe caller of this method may have no privileges on the returned reseller.","operationId":"getReseller_3","parameters":[{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a reseller.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ResellerDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a reseller"}}}},"/company/{id}/queues":{"get":{"tags":["company"],"summary":"Fetch all queues in this company","operationId":"getQueues","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of queue objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/QueueDto"}}}}}}}},"/company/{id}/prompts":{"get":{"tags":["company"],"summary":"Fetch all prompts in this company","description":"Requires at least read rights on the company","operationId":"getPrompts","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of prompt objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PromptDto"}}}}}}}},"/company/{id}/phones":{"get":{"tags":["company"],"summary":"Fetch all phones in this company","operationId":"getPhones_1","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of phone objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhoneDto"}}}}}}}},"/company/{id}/phoneModels":{"get":{"tags":["company"],"summary":"Retrieve the phone models for this entity","operationId":"getPhoneModels_1","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PhoneModelDto"}}}}}}}},"/company/{id}/musiconhold":{"get":{"tags":["company"],"summary":"Fetch all music-on-hold resources from a company","operationId":"getMusicOnHold","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of music-on-hold objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MusicOnHoldDto"}}}}}}}},"/company/{id}/identities":{"get":{"tags":["company"],"summary":"Fetch all (user) identities in this company. Requires read rights on the company.","operationId":"getIdentities_1","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of identity objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IdentityDto"}}}}}}}},"/company/{id}/forwards":{"get":{"tags":["company"],"summary":"Fetch all forwards in this company","operationId":"getForwards","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of forward resources","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ForwardDto"}}}}}}}},"/company/{id}/externalNumbers":{"get":{"tags":["company"],"summary":"Fetch all external numbers in this company","operationId":"getExternalNumbers","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of external number objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExternalNumberDto"}}}}}}}},"/company/{id}/extensions":{"get":{"tags":["company"],"summary":"Fetch all extensions in this company","operationId":"getExtensions_1","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of extension resources","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExtensionDto"}}}}}}}},"/company/{id}/extension":{"get":{"tags":["company"],"summary":"Find an extension in a company by its number","operationId":"getExtension","parameters":[{"name":"number","in":"query","description":"Extension to look for","required":true,"schema":{"type":"string"}},{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}},{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of an extension.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/ExtensionDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to an extension"}}}},"/company/{id}/entitiesFiltered":{"get":{"tags":["company"],"summary":"Retrieve base entity information of all entities that are direct children","description":"Retrieve base entity information of all entities that are direct children\nof this entity.","operationId":"getEntitiesFiltered_3","parameters":[{"name":"filter","in":"query","description":"The entity type to filter on","required":true,"schema":{"type":"string","enum":["reseller","company","department","group","user","unknownEntityType"]}},{"name":"id","in":"path","description":"The id of the reseller","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"a list of entities that are direct children of this entity","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/EntityDto"},{"$ref":"#/components/schemas/CompanyDto"},{"$ref":"#/components/schemas/ResellerDto"},{"$ref":"#/components/schemas/UserDto"}]}}}}}}}},"/company/{id}/dpswitches":{"get":{"tags":["company"],"summary":"Fetch all dpswitches in this company","operationId":"getDpswitch","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of dpswitch resources","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DpSwitchDto"}}}}}}}},"/company/{id}/dpSwitches":{"get":{"tags":["company"],"summary":"Fetch all dialplan switches in this company","operationId":"getDpSwitches","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of dialplan switch objects","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DpSwitchDto"}}}}}}}},"/company/{id}/dpSwitch":{"get":{"tags":["company"],"summary":"Find a dialplan switch with the given shortcode","operationId":"getDpSwitch","parameters":[{"name":"shortcode","in":"query","description":"The shortcode to look for","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a dpSwitch.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/DpSwitchDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a dpSwitch"}}}},"/company/{id}/conferences":{"get":{"tags":["company"],"summary":"Fetch all conferences in this company","operationId":"getConferences","parameters":[{"name":"id","in":"path","description":"The id of the company","required":true,"schema":{"type":"integer","format":"int64"}}],"responses":{"200":{"description":"sequence of conference resources","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ConferenceDto"}}}}}}}},"/company/lookup":{"get":{"tags":["company"],"summary":"Get company by its unique shortname.","operationId":"getLookup_2","parameters":[{"name":"shortname","in":"query","description":"The shortname of the company to retrieve","required":true,"schema":{"type":"string"}},{"name":"x-no-redirect","in":"header","description":"Disallow HTTP redirect","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"If the header \"x-no-redirect\" is set to true, it returns a 200 with the data of a company.","content":{"application/vnd.iperity.compass.v3+json":{"schema":{"$ref":"#/components/schemas/CompanyDto"}}}},"303":{"description":"Without the header or if the header is set to false, it returns a redirect to a company"}}}}},"components":{"schemas":{"ConferenceDto":{"required":["name","theType"],"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"name":{"maxLength":64,"minLength":1,"type":"string"},"pin":{"type":"string","description":"Optional PIN to enter the conference"},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}}]},"DpSwitchDto":{"required":["name","theType"],"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"name":{"maxLength":64,"minLength":1,"type":"string"},"settings":{"type":"array","description":"A list of possible settings for this switch","items":{"$ref":"#/components/schemas/DpSwitchSetting"}},"currentSetting":{"type":"integer","description":"The currently selected setting","format":"int32"},"shortcode":{"type":"integer","description":"The shortcode of the switch. This code is unique for each dialplan switch (in one company).","format":"int32"},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}}]},"DpSwitchSetting":{"type":"object","properties":{"number":{"type":"integer","description":"the number for this setting, in the range of 0-9","format":"int32"},"name":{"type":"string","description":"the name for this setting"}},"description":"Information on a dpswitch setting"},"DtmfInputDto":{"required":["name","theType"],"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"name":{"maxLength":64,"minLength":1,"type":"string"},"promptId":{"type":"integer","format":"int64"},"timeout":{"type":"integer","format":"int32"},"repeat":{"type":"integer","format":"int32"},"digits":{"type":"integer","format":"int32"},"varlength":{"type":"boolean"},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}}]},"ExtensionDto":{"required":["name","theType"],"type":"object","description":"Internal extension","allOf":[{"$ref":"#/components/schemas/TelephoneNumberDto"},{"type":"object","properties":{"number":{"type":"string"},"self":{"type":"string","readOnly":true},"resourceId":{"type":"integer","format":"int64","readOnly":true},"owner":{"type":"integer","format":"int64","readOnly":true},"name":{"maxLength":64,"minLength":1,"type":"string"},"userId":{"type":"integer","description":"The user id of this extension, if this extension was assigned while creating a user","format":"int64"},"identityId":{"type":"integer","description":"The identity associated with extension, if given","format":"int64"},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}},{"$ref":"#/components/schemas/ResourceDto"}]},"ExternalNumberDto":{"required":["name","theType"],"type":"object","description":"External number","allOf":[{"$ref":"#/components/schemas/TelephoneNumberDto"},{"type":"object","properties":{"number":{"type":"string"},"self":{"type":"string","readOnly":true},"resourceId":{"type":"integer","format":"int64","readOnly":true},"owner":{"type":"integer","format":"int64","readOnly":true},"name":{"maxLength":64,"minLength":1,"type":"string"},"useAsCli":{"type":"boolean","description":"This external number object can be used as a CLI"},"useForInbound":{"type":"boolean","readOnly":true},"recording":{"oneOf":[{"$ref":"#/components/schemas/RecordingDeliveryApiOnlyDto"},{"$ref":"#/components/schemas/RecordingDeliveryEmailDto"}]},"cli":{"type":"string","description":"Name used when dialling out"},"cliName":{"type":"string","description":"Name used when dialling out","writeOnly":true,"deprecated":true},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}},{"$ref":"#/components/schemas/ResourceDto"}]},"IvrDto":{"required":["name","theType"],"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"name":{"maxLength":64,"minLength":1,"type":"string"},"timeout":{"type":"integer","format":"int32"},"repeat":{"type":"integer","format":"int32"},"promptId":{"type":"integer","format":"int64"},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}}]},"MusicOnHoldDto":{"required":["fileCount","global","name","theType","uniqueUsageCount"],"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"name":{"maxLength":64,"minLength":1,"type":"string"},"companyId":{"type":"integer","description":"Company id that owns this resource, or null for a global music on hold","format":"int64","readOnly":true,"deprecated":true},"global":{"type":"boolean","readOnly":true},"uniqueUsageCount":{"type":"integer","format":"int32","readOnly":true},"fileCount":{"type":"integer","format":"int32","readOnly":true},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}}]},"NamePrefixDto":{"required":["name","theType"],"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"name":{"maxLength":64,"minLength":1,"type":"string"},"prefix":{"type":"string"},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}}]},"PhoneDto":{"required":["expansionPads","forceEncryption","instance","model","name","theType"],"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"name":{"maxLength":64,"minLength":1,"type":"string"},"model":{"type":"string","description":"A reference to the phone model"},"macAddress":{"type":"array","description":"MAC address","items":{"type":"integer","description":"MAC address","format":"int32"}},"loggedInUser":{"type":"string","readOnly":true},"forceEncryption":{"type":"boolean","description":"Whether the phone is configured to enforce an encrypted connection"},"firmwareId":{"minimum":0,"type":"integer","description":"Optional reference to the firmware that should be installed on the phone","format":"int64"},"expansionPads":{"maximum":60,"minimum":0,"type":"integer","description":"Optional number of expansion pads that are configured for this phone","format":"int32"},"codecProfileId":{"minimum":0,"type":"integer","description":"Optional reference to the codec profile that is configured for this phone. If not set, the company default codec profile is used.","format":"int64"},"vlan":{"maximum":4094,"minimum":0,"type":"integer","description":"Optional VLAN ID that is configured for this phone","format":"int32"},"instance":{"minimum":1,"type":"integer","description":"Instance number that is configured for this phone","format":"int32"},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}}]},"PromptDto":{"required":["description","name","theType"],"type":"object","description":"A Sound prompt for use in dialplans.","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"name":{"maxLength":64,"minLength":1,"type":"string"},"description":{"maxLength":256,"minLength":0,"type":"string","description":"Description of the prompt"},"inUseCount":{"type":"integer","format":"int32","readOnly":true},"uniqueUsageCount":{"type":"integer","format":"int32","readOnly":true},"companyId":{"type":"integer","format":"int64","readOnly":true},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}}]},"QueueDto":{"required":["announceHoldtime","escape","exitKeys","ignoreUserStatus","joinEmpty","leaveWhenEmpty","maxLen","maxWaittime","name","ringInUse","strategy","theType","timeout","weight"],"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"name":{"maxLength":64,"minLength":1,"type":"string","description":"Name of the queue"},"strategy":{"type":"string","description":"The ring strategy of the queue\n\nPossible values: <ul><li><tt>FewestCalls</tt>: choose agent with fewest calls from this queue</li><li><tt>LeastRecent</tt>: choose agent least recently called from this queue</li><li><tt>Random</tt>: choose agent arbitrarily</li><li><tt>RingAll</tt>: ring all agents simultaneously</li><li><tt>RoundRobin</tt>: activate available agents alternatingly</li></ul>","enum":["ringall","roundrobin","leastrecent","fewestcalls","random"]},"joinEmpty":{"type":"string","description":"Whether a caller can enter the queue when there are no agents available. If not specified, 'no' is used.\n\nPossible values: <ul><li><tt>Loose</tt>: when no agents are active</li><li><tt>No</tt>: not when no agents are available</li><li><tt>Yes</tt>: when no agents are available</li></ul>","enum":["yes","no","loose"]},"leaveWhenEmpty":{"type":"string","description":"Whether a caller should leave the queue when there are no agents available. If not specified, 'yes' is used.\n\nPossible values: <ul><li><tt>Loose</tt>: when no agents are active</li><li><tt>No</tt>: not when no agents are available</li><li><tt>Yes</tt>: when no agents are available</li></ul>","enum":["yes","no","loose"]},"maxWaittime":{"minimum":0,"type":"integer","description":"The maximum amount of seconds a caller can wait before exiting the queue. Defaults to 600 seconds.","format":"int32","example":600},"timeout":{"minimum":0,"type":"integer","description":"The duration of one call round. Defaults to 20 seconds. Use 0 for infinite duration.","format":"int32","example":15},"weight":{"maximum":40,"minimum":0,"type":"integer","description":"Relative weight of the queue. If an agent is logged in on multiple queues, the weight of the queue\ndetermines which caller is offered first. A higher number means more priority is given to the queue.\nPossible values are 0, 10, 20, 30 or 40. Defaults to 0.","format":"int32","example":0},"ringInUse":{"type":"boolean","description":"Whether to offer calls to agents that are already in-use (in a call). Defaults to true."},"ignoreUserStatus":{"type":"boolean","description":"Whether this queue ignores user status.\n\nIf set, this queue will always offer calls to its members,\nindependent of their 'receiveCalls' state.\n\nThis can be used for queues with very important calls, that should be handled\nat all times.\n\nDefaults to false.","example":false},"wrapupTime":{"maximum":3600,"minimum":-1,"type":"integer","description":"The amount of seconds for which an agent will not receive a queue call,\nwhen it has handled a call from this queue. null if wrap-up is disabled,\nand -1 if wrap-up does not end automatically.\n\nNOTE: wrap-up is only applied if the agent has enabled the 'wrap-up' user feature.","format":"int32","example":60},"queueRule":{"type":"string","description":"Queue rules can optionally be used to ring additional agents if a call is not answered for a long time.\n\nThe two values indicate the period of time after which agents with higher priority value are rung as well.\n\nAvailable options are:\n<ul>\n<li>30/30</li>\n<li>60/60</li>\n<li>60/180</li>\n<li>180/180</li>\n</ul>","example":"30/30"},"maxLen":{"minimum":0,"type":"integer","description":"Maximum number of callers that can be waiting in the queue. If 0 is specified, there is no maximum.","format":"int32"},"escape":{"type":"boolean","description":"Whether the caller can type a key to escape from the queue and continue in the dialplan. Defaults to false."},"exitKeys":{"uniqueItems":true,"type":"array","description":"List of keys which will cause the caller to escape from the queue. Only relevant if `escape` is true.\nIf escape is true and this list is null, the key `1` will cause the caller to continue to the next\nelement in the dialplan. This list can also be null if `escape` is false.","example":["1","2","3","4","5","6","7","8","9","0","#","*"],"items":{"type":"string","description":"\n        List of keys which will cause the caller to escape from the queue. Only relevant if `escape` is true.\n        If escape is true and this list is null, the key `1` will cause the caller to continue to the next\n        element in the dialplan. This list can also be null if `escape` is false.\n        ","example":"[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\",\"8\",\"9\",\"0\",\"#\",\"*\"]"}},"periodicAnnouncementId":{"type":"integer","description":"The identifier of a prompt that is played periodically for waiting callers. Can be null.","format":"int64"},"periodicAnnouncementInterval":{"minimum":1,"type":"integer","description":"The interval in seconds between each periodic announcement, if one is configured.\nCan be null to not play periodic announcements.","format":"int32","example":30},"announceHoldtime":{"type":"string","description":"Whether the queue should announce the average waiting time of calls.\n\nPossible values: <ul><li><tt>No</tt>: no announcement</li><li><tt>Once</tt>: only when the caller enters the queue</li><li><tt>Yes</tt>: periodic announcement</li></ul>","enum":["yes","no","once"]},"announceHoldtimeInterval":{"minimum":1,"type":"integer","description":"The interval in seconds between each announcement of the hold time, if enabled.","format":"int32","example":30},"announceHoldtimeRoundSeconds":{"type":"integer","description":"Round the announced hold time to the given number of seconds. Only has effect if announce holdtime is enabled.\n\nPossible values are:\n<ul>\n<li>0</li>\n<li>5</li>\n<li>10</li>\n<li>15</li>\n<li>20</li>\n<li>30</li>\n</ul>","format":"int32"},"musicOnHoldId":{"type":"integer","description":"The resource identifier of the music on hold to play for callers in the queue.\n\nThis can be either a music on hold resource that is uploaded within this company (which can be retrieved\nvia `/company/musiconhold`) or a platform-global music on hold (which can be retrieved via `/musiconhold/global`).\n\nCan be null to default to wake tone.","format":"int64"},"shortcode":{"maximum":99999,"minimum":1,"type":"integer","description":"An optional shortcode for the queue. A shortcode can be used to log agents into a queue via starcode *48*<shortcode>.\n\nIf set, should be non-zero and max 5 digits.","format":"int32","example":1337},"uniqueUsageCount":{"type":"integer","description":"Number of current references to this queue","format":"int32","readOnly":true},"timeoutRestart":{"type":"boolean","description":"Do not use. Only present for API backwards compatibility.","readOnly":true,"deprecated":true},"retry":{"type":"integer","description":"Do not use. Only present for API backwards compatibility.","format":"int32","readOnly":true,"deprecated":true},"reportHoldTime":{"type":"boolean","description":"Do not use. Only present for API backwards compatibility.","readOnly":true,"deprecated":true},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}}]},"RecordingDeliveryApiOnlyDto":{"required":["type"],"type":"object","description":"No delivery of the call recordings","allOf":[{"$ref":"#/components/schemas/RecordingDeliveryDto"},{"type":"object","properties":{"type":{"type":"string","description":"the type of delivery","enum":["email","apiOnly"]}}}]},"RecordingDeliveryDto":{"required":["type"],"type":"object","properties":{"type":{"type":"string","enum":["email","apiOnly"]}},"description":"Data about how the callrecording files should be delivered","discriminator":{"propertyName":"type"}},"RecordingDeliveryEmailDto":{"required":["address","type"],"type":"object","description":"Delivery of the call recordings by email","allOf":[{"$ref":"#/components/schemas/RecordingDeliveryDto"},{"type":"object","properties":{"address":{"type":"string","description":"the email address","format":"email"},"type":{"type":"string","description":"the type of delivery","enum":["email","apiOnly"]}}}]},"ResourceDto":{"required":["name"],"type":"object","properties":{"resourceId":{"type":"integer","format":"int64","readOnly":true},"self":{"type":"string","readOnly":true},"owner":{"type":"integer","format":"int64","readOnly":true},"name":{"maxLength":64,"minLength":1,"type":"string","description":"Displayable name for this resource"},"theType":{"type":"string","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}},"description":"Resource object containing all info."},"TelephoneNumberDto":{"required":["name"],"type":"object","description":"Resource which is a telephone number which can be dialled.","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"number":{"type":"string","description":"number"},"name":{"maxLength":64,"minLength":1,"type":"string"}}}]},"VoicemailDto":{"required":["name","pin","theType"],"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"name":{"maxLength":64,"minLength":1,"type":"string"},"pin":{"type":"string"},"email":{"type":"string"},"sipUri":{"type":"string","readOnly":true},"promptId":{"type":"integer","format":"int64"},"uniqueUsageCount":{"type":"integer","format":"int32","readOnly":true},"associatedUsers":{"type":"array","readOnly":true,"items":{"type":"integer","format":"int64"}},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}}]},"QueueMemberSettingDto":{"required":["callForward","priority"],"type":"object","properties":{"identityId":{"type":"integer","description":"The id of the identity of the user. If left empty, the settings will be applied on the first identity of the user.","format":"int64"},"priority":{"maximum":3,"minimum":1,"type":"integer","description":"Priority of a member. Either 1, 2 or 3.","format":"int32"},"callForward":{"type":"boolean","description":"True if call forwards of the identity are followed when a call is received from this queue"}}},"TaskDto":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"type":{"type":"string","readOnly":true},"state":{"type":"string","readOnly":true,"enum":["PENDING","RUNNING","FINISHED","ERROR"]},"createdAt":{"type":"string","format":"date-time","readOnly":true},"startedAt":{"type":"string","format":"date-time","readOnly":true},"endedAt":{"type":"string","format":"date-time","readOnly":true}}},"PhoneModelDto":{"required":["buttons","capabilities","certified","codecPts","deprecated","expansionPadButtons","hasmac","instances","manufacturer","maxIdentities","name","owner","shortname","supportsEncryption","supportsVlan"],"type":"object","properties":{"phoneModelId":{"type":"integer","format":"int64","readOnly":true},"self":{"type":"string","readOnly":true},"owner":{"type":"integer","format":"int64","readOnly":true},"manufacturer":{"type":"string"},"name":{"type":"string"},"shortname":{"type":"string"},"hasmac":{"type":"boolean"},"supportsEncryption":{"type":"boolean"},"supportsVlan":{"type":"boolean"},"instances":{"minimum":1,"type":"integer","format":"int32"},"certified":{"type":"boolean"},"deprecated":{"type":"boolean"},"maxIdentities":{"minimum":1,"type":"integer","format":"int32"},"buttons":{"type":"integer","format":"int32"},"expansionPadButtons":{"type":"integer","format":"int32"},"codecPts":{"type":"array","items":{"type":"integer","format":"int32"}},"capabilities":{"type":"array","items":{"type":"string","enum":["answer","hold","unhold"]}}},"description":"Description of a phone model."},"FirmwareDto":{"required":["certified","expectedUserAgent","name","phoneModelId"],"type":"object","properties":{"firmwareId":{"type":"integer","format":"int64","readOnly":true},"phoneModelId":{"type":"integer","format":"int64","readOnly":true},"name":{"pattern":"^(\\d+\\.){3}\\d+$","type":"string","description":"The name of the firmware. Must be in the format '123.123.123.123'.","example":"29.81.188.7"},"certified":{"type":"boolean","description":"Whether the firmware is certified to work with Compass."},"expectedUserAgent":{"type":"string","description":"The phone name expected to be in the user agent of the phone. Provisioning will not send firmware if this doesn't match the request of the phone.","example":"SIP-T42G"}}},"UserVerifyPermissionInput":{"required":["permType","targetEntity"],"type":"object","properties":{"targetEntity":{"type":"string","description":"the target entity for which the permission\nmust be checked."},"permType":{"type":"string","description":"the type of permission that is requested","enum":["permNone","permRead","permWrite","permUnknown"]}}},"UserTransferCallInput":{"required":["callId1","callId2"],"type":"object","properties":{"callId1":{"type":"string","description":"the first call id. In reports, all further call events will have\nthis call id."},"callId2":{"type":"string","description":"the second call id. In reports, the call with this id is ended after\nthe merge."}}},"UserStatusInput":{"required":["receiveCalls"],"type":"object","properties":{"receiveCalls":{"type":"string","description":"the new setting for receiving calls","enum":["receiveAll","receiveNone","receiveOnlyDirect"]},"displayStatus":{"type":"string","description":"an optional user-defined display string"}}},"UserStartWrapupInput":{"required":["callId","duration"],"type":"object","properties":{"callId":{"type":"string","description":"call id to which the wrap-up period relates"},"duration":{"type":"integer","description":"the amount of seconds the wrap-up should be active, or -1 for indefinite wrap-up","format":"int32"}}},"UserSendDtmfInput":{"required":["callId","digits"],"type":"object","properties":{"callId":{"type":"string","description":"id of the call"},"digits":{"type":"string","description":"A non-empty string of DTMF digits to send.\\nA DTMF digit is a number (0-9), star (*), the pound sign (#)\\nor a capital letter in the range of A-D."}}},"UserRedirectCallInput":{"required":["callId","destination"],"type":"object","properties":{"callId":{"type":"string","description":"the call id"},"destination":{"type":"string","description":"the destination phone number (internal or external)"}}},"PickupQueueCallInput":{"required":["callId","queue"],"type":"object","properties":{"queue":{"type":"string","description":"The url of the queue to pick the call from"},"callId":{"type":"string","description":"The call-id of the call to be picked up."}}},"QueueMemberLogoutInput":{"required":["queue"],"type":"object","properties":{"queue":{"type":"string","description":"The queue to logout from"}}},"BooleanDto":{"required":["value"],"type":"object","properties":{"value":{"type":"boolean"}}},"UserLogonInput":{"required":["phone"],"type":"object","properties":{"phone":{"type":"string","description":"The phone on which the user must be logged on."}}},"QueueMemberLoginInput":{"required":["queue"],"type":"object","properties":{"priority":{"maximum":3,"minimum":1,"type":"integer","description":"Priority of the member. Either 1, 2, or 3","format":"int32"},"callForward":{"type":"boolean","description":"True if call forwards of the identity are followed when a call is received from this queue"},"queue":{"type":"string","description":"The queue to logon to"}}},"UserListenInInput":{"required":["callId"],"type":"object","properties":{"callId":{"type":"string","description":"id of the call to listen in on."}}},"PrimitiveWrapperString":{"required":["value"],"type":"object","properties":{"value":{"type":"string"}}},"UserHangupCallInput":{"required":["callId"],"type":"object","properties":{"callId":{"type":"string","description":"the call id"}}},"FeatureInput":{"required":["featureList"],"type":"object","properties":{"featureList":{"uniqueItems":true,"type":"array","items":{"type":"string"}}}},"UserDialUserInput":{"required":["callee"],"type":"object","properties":{"callee":{"type":"string","description":"The user we want to dial"}}},"UserDialNumberInput":{"required":["callForward","destination"],"type":"object","properties":{"destination":{"type":"string","description":"The phone number with which the caller will be connected."},"callForward":{"type":"boolean","description":"True if call forwards of the identity are followed"}}},"PhoneInput":{"required":["name","phonemodel"],"type":"object","properties":{"name":{"type":"string"},"phonemodel":{"type":"string"},"mac":{"type":"string"}}},"UserCheckPasswordInput":{"required":["password"],"type":"object","properties":{"password":{"type":"string","description":"Password in cleartext"}}},"PrimitiveWrapperBoolean":{"required":["value"],"type":"object","properties":{"value":{"type":"boolean"}}},"UserAnswerCallInput":{"required":["callId"],"type":"object","properties":{"callId":{"type":"string","description":"The call ID"}}},"UserAddRightInput":{"required":["permType","targetEntity"],"type":"object","properties":{"targetEntity":{"type":"string","description":"the entity on which the user is granted the right"},"permType":{"type":"string","description":"the permission type of the granted right. permNone is not allowed.","enum":["permNone","permRead","permWrite","permUnknown"]}}},"RightDto":{"type":"object","properties":{"self":{"type":"string","readOnly":true},"rightId":{"type":"integer","format":"int64","readOnly":true},"user":{"type":"string","readOnly":true},"target":{"type":"string","readOnly":true},"permType":{"type":"string","description":"The permission type given by this right.","enum":["permNone","permRead","permWrite","permUnknown"]},"permissionType":{"type":"string","description":"The permission type given by this right.","writeOnly":true,"deprecated":true,"enum":["permNone","permRead","permWrite","permUnknown"]}}},"ResellerUserInput":{"required":["fullname","password","username"],"type":"object","properties":{"username":{"type":"string","description":"Username of user to create"},"password":{"type":"string","description":"The plain-text password for the user. May not be equal\nto the username."},"fullname":{"type":"string","description":"Full name of the user. Must be a non-empty string."},"lang":{"type":"string","description":"The language for the user. If not given,\nthe language of the the containing entity is used."},"email":{"type":"string","description":"Contact email for this user"}}},"CompanyDto":{"required":["theType"],"type":"object","allOf":[{"$ref":"#/components/schemas/EntityDto"},{"type":"object","properties":{"name":{"type":"string"},"theLanguage":{"type":"string","enum":["unknownLanguage","en","nl"]},"contact":{"type":"string"},"shortname":{"type":"string","readOnly":true},"sipDomain":{"type":"string","readOnly":true},"musicOnHold":{"type":"integer","description":"Default Music-on-Hold identifier for this company","format":"int64"},"xmppDomain":{"type":"string","readOnly":true},"pbx":{"type":"string","readOnly":true},"defaultCliId":{"type":"integer","description":"Default CLI id","format":"int64"},"codecProfileId":{"type":"integer","description":"Codec Profile id","format":"int64"},"pickupGroups":{"type":"boolean"}}}]},"EntityDto":{"required":["theType"],"type":"object","properties":{"entityId":{"type":"integer","format":"int64","readOnly":true},"self":{"type":"string","readOnly":true},"name":{"maxLength":100,"minLength":1,"type":"string","description":"Displayable name of entity"},"theLanguage":{"type":"string","description":"Preferred language for entity","enum":["unknownLanguage","en","nl"]},"contact":{"type":"string","description":"E-mail address of entity"},"theType":{"type":"string","readOnly":true,"enum":["reseller","company","department","group","user","unknownEntityType"]}}},"ResellerDto":{"required":["theType"],"type":"object","allOf":[{"$ref":"#/components/schemas/EntityDto"},{"type":"object","properties":{"name":{"type":"string"},"contact":{"type":"string"},"theLanguage":{"type":"string","enum":["unknownLanguage","en","nl"]},"sipDomain":{"type":"string","readOnly":true},"guiUrl":{"type":"string","readOnly":true}}}]},"UserDto":{"required":["theType"],"type":"object","allOf":[{"$ref":"#/components/schemas/EntityDto"},{"type":"object","properties":{"theLanguage":{"type":"string","enum":["unknownLanguage","en","nl"]},"name":{"type":"string"},"contact":{"type":"string"},"pin":{"type":"string","readOnly":true},"username":{"type":"string","readOnly":true},"password":{"type":"string","description":"Password is only visible when randomly generated"},"loggedInPhoneIds":{"type":"array","readOnly":true,"items":{"type":"integer","format":"int64"}}}}]},"ResellerInputDto":{"required":["name"],"type":"object","properties":{"name":{"type":"string","description":"The name of the reseller. Must be a non-empty string."},"shortname":{"type":"string","description":"Optional reseller shortname"},"sipDomain":{"type":"string","description":"SIP domain. If empty, will be inherited from parent."}}},"CompanyInputDto":{"required":["fullname","shortname"],"type":"object","properties":{"fullname":{"type":"string","description":"Company full name. Must be a non-empty string."},"shortname":{"type":"string","description":"Company shortname."},"lang":{"type":"string","description":"Company language. If not set,\nthe language of the reseller is used."}}},"PhoneUnholdCallInput":{"required":["callId"],"type":"object","properties":{"callId":{"type":"string","description":"the call id"}}},"PhoneMigrateToCompanyInput":{"required":["newCompany"],"type":"object","properties":{"newCompany":{"type":"string","description":"A reference the new company"}}},"PhoneHoldCallInput":{"required":["callId"],"type":"object","properties":{"callId":{"type":"string","description":"the call id"}}},"PhoneAnswerCallInput":{"required":["callId"],"type":"object","properties":{"callId":{"type":"string","description":"The call ID"}}},"DialplanDto":{"required":["steps"],"type":"object","properties":{"steps":{"type":"array","description":"list of dialplan steps","items":{"oneOf":[{"$ref":"#/components/schemas/DpElementDtmfDto"},{"$ref":"#/components/schemas/DpElementDto"},{"$ref":"#/components/schemas/DpElementIvrDto"},{"$ref":"#/components/schemas/DpElementNumberRecognitionDto"},{"$ref":"#/components/schemas/DpElementPrefixDto"},{"$ref":"#/components/schemas/DpElementQueueDto"},{"$ref":"#/components/schemas/DpElementResourceDto"},{"$ref":"#/components/schemas/DpElementSwitchDto"},{"$ref":"#/components/schemas/DpElementTimeSwitchDto"},{"$ref":"#/components/schemas/DpElementUserDto"}]}}}},"DpElementBaseDto":{"required":["type"],"type":"object","properties":{"type":{"type":"string","enum":["busy","dtmfInput","hangup","ivr","numberRecognition","prefix","timeSwitch","dpSwitch","conference","forward","prompt","queue","user","voicemail"]}},"description":"list of dialplan steps"},"DpElementDtmfDto":{"required":["digits","name","promptId","repeat","timeout","type","variableLength"],"type":"object","allOf":[{"$ref":"#/components/schemas/DpElementBaseDto"},{"type":"object","properties":{"name":{"type":"string"},"promptId":{"type":"integer","format":"int32"},"timeout":{"type":"integer","format":"int32"},"repeat":{"type":"integer","format":"int32"},"digits":{"type":"integer","format":"int32"},"variableLength":{"type":"boolean"}}}]},"DpElementDto":{"required":["type"],"type":"object","allOf":[{"$ref":"#/components/schemas/DpElementBaseDto"}]},"DpElementIvrDto":{"required":["branches","name","promptId","repeat","timeout","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/DpElementBaseDto"},{"type":"object","properties":{"name":{"type":"string"},"promptId":{"type":"integer","format":"int32"},"timeout":{"type":"integer","format":"int32"},"repeat":{"type":"integer","format":"int32"},"branches":{"type":"array","items":{"$ref":"#/components/schemas/IvrBranchDto"}}}}]},"DpElementNumberRecognitionDto":{"required":["branches","defaultSteps","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/DpElementBaseDto"},{"type":"object","properties":{"branches":{"type":"array","items":{"$ref":"#/components/schemas/NumberRecognitionBranchDto"}},"defaultSteps":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/DpElementDtmfDto"},{"$ref":"#/components/schemas/DpElementDto"},{"$ref":"#/components/schemas/DpElementIvrDto"},{"$ref":"#/components/schemas/DpElementNumberRecognitionDto"},{"$ref":"#/components/schemas/DpElementPrefixDto"},{"$ref":"#/components/schemas/DpElementQueueDto"},{"$ref":"#/components/schemas/DpElementResourceDto"},{"$ref":"#/components/schemas/DpElementSwitchDto"},{"$ref":"#/components/schemas/DpElementTimeSwitchDto"},{"$ref":"#/components/schemas/DpElementUserDto"}]}}}}]},"DpElementPrefixDto":{"required":["prefix","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/DpElementBaseDto"},{"type":"object","properties":{"prefix":{"type":"string"}}}]},"DpElementQueueDto":{"required":["id","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/DpElementBaseDto"},{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"},"branches":{"type":"array","items":{"$ref":"#/components/schemas/QueueBranchDto"}}}}]},"DpElementResourceDto":{"required":["id","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/DpElementBaseDto"},{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"name":{"type":"string"}}}]},"DpElementSwitchDto":{"required":["currentSetting","name","settings","shortcode","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/DpElementBaseDto"},{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"integer","format":"int64"},"shortcode":{"type":"integer","format":"int32"},"currentSetting":{"type":"integer","format":"int32"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/SwitchBranchDto"}}}}]},"DpElementTimeSwitchDto":{"required":["branches","type"],"type":"object","allOf":[{"$ref":"#/components/schemas/DpElementBaseDto"},{"type":"object","properties":{"branches":{"type":"array","items":{"$ref":"#/components/schemas/TimeSwitchBranchDto"}}}}]},"DpElementUserDto":{"required":["type"],"type":"object","allOf":[{"$ref":"#/components/schemas/DpElementBaseDto"},{"type":"object","properties":{"userId":{"type":"integer","format":"int64"},"identityId":{"type":"integer","format":"int64"},"name":{"type":"string"}}}]},"IvrBranchDto":{"required":["key","steps"],"type":"object","properties":{"key":{"type":"string"},"steps":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/DpElementDtmfDto"},{"$ref":"#/components/schemas/DpElementDto"},{"$ref":"#/components/schemas/DpElementIvrDto"},{"$ref":"#/components/schemas/DpElementNumberRecognitionDto"},{"$ref":"#/components/schemas/DpElementPrefixDto"},{"$ref":"#/components/schemas/DpElementQueueDto"},{"$ref":"#/components/schemas/DpElementResourceDto"},{"$ref":"#/components/schemas/DpElementSwitchDto"},{"$ref":"#/components/schemas/DpElementTimeSwitchDto"},{"$ref":"#/components/schemas/DpElementUserDto"}]}}}},"NumberRecognitionBranchDto":{"required":["anonymous","name","numberPrefixes"],"type":"object","properties":{"name":{"type":"string"},"numberPrefixes":{"type":"array","items":{"type":"string"}},"anonymous":{"type":"boolean"}}},"QueueBranchDto":{"required":["condition"],"type":"object","properties":{"condition":{"type":"string","enum":["MAX_WAITTIME","MAX_LEN","KEY"]},"key":{"type":"string"}}},"SwitchBranchDto":{"required":["name","number"],"type":"object","properties":{"number":{"type":"integer","format":"int32"},"name":{"type":"string"}}},"TimeSwitchBranchDto":{"required":["name"],"type":"object","properties":{"name":{"type":"string"},"condition":{"$ref":"#/components/schemas/TimeSwitchConditionDto"}}},"TimeSwitchConditionDto":{"type":"object","properties":{"timeRange":{"type":"string","description":"Time range. Can be '03:00-14:59' for a branch matching from 03:00 to 14:59:59, effectively 15:00.\\n\\nStart and end time should be in 24-hour clock (HH:mm) format, seperated by a dash (-).\\nIf not set, matches the whole day (same as range '00:00-23:59')."},"weekDayRange":{"type":"string","description":"Day of week range. Can be 'mon' for a single day or 'mon-tue' for a day range.\\n\\nIf not set, matches all days of the week."},"monthDayRange":{"type":"string","description":"Day of month range. Can be '8' for the 8th day of the month or '1-8' for the first eight days of a month.\\n\\nIf not set, matches all days of the month."},"monthRange":{"type":"string","description":"Month range. Can be 'jan' for January or 'mar-apr' for a range of months.\n\nIf not set, matches all months."}}},"CallerIdDto":{"type":"object","properties":{"number":{"type":"string"},"name":{"type":"string"}},"description":"Definition of a caller ID.\n\nNote that most trunk providers do not use the name part."},"ExternalNumberCallbackInput":{"required":["outboundNumber"],"type":"object","properties":{"outboundNumber":{"type":"string","description":"The phone number that is called first"},"outboundCli":{"type":"string","description":"A reference to the Compass external number that is used as caller id for the outbound call.\\nIf not given, this external number (the callback destination) is used as caller id."},"outboundAnonymous":{"type":"boolean","description":"Whether the outbound call should be made anonymously"},"inboundCli":{"$ref":"#/components/schemas/CallerIdDto"}}},"ExtensionCallbackInput":{"required":["outboundCli","outboundNumber"],"type":"object","properties":{"outboundNumber":{"type":"string","description":"The phone number that is called first"},"outboundCli":{"type":"string","description":"A reference to the Compass external number that is used as caller id for the outbound call.\\nMust be set, even if outboundAnonymous is true."},"outboundAnonymous":{"type":"boolean","description":"Whether the outbound call should be made anonymously"},"inboundCli":{"$ref":"#/components/schemas/CallerIdDto"}}},"CompanyUserInput":{"required":["fullname","password","username"],"type":"object","properties":{"username":{"type":"string","description":"Username of user to create"},"fullname":{"type":"string","description":"Full name of the user. Must be a non-empty string"},"password":{"type":"string","description":"The plain-text password for the user. May not be equal to the username."},"lang":{"type":"string","description":"The language for the user. If not given, the language of the the containing entity is used."},"email":{"type":"string","description":"Contact email for this user, may be empty"},"pin":{"type":"string","description":"For logging in this user, may be empty"},"extension":{"type":"string","description":"Desired extension of the user. The extension is configured to route directly to the user to be created. The extension will also be used as internal caller ID for the user. This parameter can be left empty if no extension is required for the user."},"extensionDescription":{"type":"string","description":"An optional description of the extension for this user"},"cli":{"type":"string","description":"An optional reference to the external number with which this user can make outbound calls. If no CLI is given, the user can only make internal calls."}}},"SoftphoneInput":{"required":["name"],"type":"object","properties":{"name":{"type":"string"}}},"CompanyCreateForwardInput":{"required":["destination","keepCli","name","ringtime","voicemailDetection"],"type":"object","properties":{"destination":{"type":"string","description":"The internal or external number to\nforward to."},"name":{"type":"string","description":"A descriptive name of the forward. Also used as\\nCaller-ID name when an external incoming call has the\\nCaller-ID number as specified in the 'destination' parameter and no\\nCaller-ID name is present (or is equal to the number)."},"keepCli":{"type":"boolean","description":"Whether to re-use the Caller ID from the\noriginal call (true) or use the Caller ID of the company\n(false)."},"ringtime":{"type":"integer","description":"Number of seconds the forward will ring\\nbefore the forward is considered to have failed. Should be\\nin the range 0-90 inclusive in increments of 5 seconds.","format":"int32"},"voicemailDetection":{"type":"boolean","description":"Whether the call should first be\\nacknowledged by the receiver by pressing a key before the\\noriginal call is transferred to the receiver. This can be\\nused to avoid forwarding to a voicemail box."}}},"ForwardDto":{"required":["name","theType"],"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceDto"},{"type":"object","properties":{"resourceId":{"type":"integer","format":"int64","readOnly":true},"self":{"type":"string","readOnly":true},"owner":{"type":"integer","format":"int64","readOnly":true},"name":{"maxLength":64,"minLength":1,"type":"string"},"destination":{"type":"string"},"keepCli":{"type":"boolean"},"ringtime":{"type":"integer","format":"int32"},"voicemailDetection":{"type":"boolean"},"theType":{"type":"string","description":"Resource type","readOnly":true,"enum":["unknownResourceType","conference","extension","forward","ivr","musiconhold","nameprefix","phone","prompt","queue","voicemail","dpswitch","externalNumber","input"]}}}]},"CompanyCreateExternalNumberInput":{"required":["name","number"],"type":"object","properties":{"number":{"type":"string","description":"The external number. Must be a full international phone number without leading zeros,\ncontaining of only digits."},"name":{"type":"string","description":"Name of the external number, can be empty."}}},"CompanyCreateExtensionInput":{"required":["name","number"],"type":"object","properties":{"number":{"type":"string","description":"The extension number, must be between 2 and 5 digits\nlong, must not start with a zero or one and can not be 911."},"name":{"type":"string","description":"Name of the extension."}}},"CompanyCreateConferenceInput":{"required":["description","pin"],"type":"object","properties":{"description":{"type":"string","description":"The human-readable description of the conference box. Does not need to be unique. Must be non-empty and less then 64 characters."},"pin":{"type":"string","description":"PIN code for the conference box. Can be empty (no pincode), or a pincode of 1-8 digits."}}},"ConfigureTrunkInputDto":{"required":["password","trunk","username"],"type":"object","properties":{"trunk":{"type":"string","description":"The trunk instance to use."},"username":{"type":"string","description":"The username to use"},"password":{"type":"string","description":"The password to use. Depending on the trunk provider, this may or may not be empty."}}},"PhoneCustomSettingDto":{"required":["key","value"],"type":"object","properties":{"key":{"type":"string"},"value":{"type":"string"}},"description":"Phone setting for any custom key that is not necessarily supported."},"PhoneFunctionKeyDto":{"required":["action","index","type"],"type":"object","properties":{"type":{"type":"string","enum":["none","extension","key","line","speeddial"]},"index":{"maximum":2147483647,"minimum":1,"type":"integer","description":"Number of the function key, the first starting at 1","format":"int32"},"action":{"type":"string","description":"Optional action parameter for some types, takes \\\"hold\\\"/\\\"transfer\\\"/\\\"dnd\\\"/\\\"redial\\\" for \\\"key\\\" type and a number for \\\"extension\\\" or \\\"speeddial\\\" type"}},"description":"Function keys"},"PhoneSettingsDto":{"type":"object","properties":{"functionKeys":{"type":"array","description":"Function keys","items":{"$ref":"#/components/schemas/PhoneFunctionKeyDto"}},"standardSettings":{"type":"array","description":"Standard settings","items":{"$ref":"#/components/schemas/PhoneStandardSettingDto"}},"customSettings":{"type":"array","description":"Custom settings (unsupported)","items":{"$ref":"#/components/schemas/PhoneCustomSettingDto"}}}},"PhoneStandardSettingDto":{"required":["type","value"],"type":"object","properties":{"type":{"type":"string","enum":["callWaiting"]},"value":{"type":"string","description":"Value of this setting, takes \"0\" (off) or \"1\" (on) for \"callWaiting\" type."}},"description":"Phone setting that is limited to a number of supported types."},"IdentityDto":{"required":["cliTransFwd","description","identityId","order","outboundAnonymousCli","userId","voicemailDetection"],"type":"object","properties":{"self":{"type":"string","readOnly":true},"identityId":{"type":"integer","format":"int64","readOnly":true},"userId":{"type":"integer","format":"int64","readOnly":true},"order":{"type":"integer","format":"int32","readOnly":true},"description":{"maxLength":128,"minLength":1,"type":"string","description":"Description of the identity"},"name":{"maxLength":128,"minLength":1,"type":"string","description":"Name of the identity"},"idName":{"type":"string","readOnly":true},"cfim":{"type":"string","description":"Call forward immediate."},"cfor":{"type":"string","description":"Call forward Out of Reach."},"cfbs":{"type":"string","description":"Call forward when Busy."},"cfna":{"type":"string","description":"Call forward when Not Answered"},"ringtime":{"maximum":90,"minimum":0,"type":"integer","description":"Delay in seconds before call is considered not answered","format":"int32"},"cliTransFwd":{"type":"boolean","description":"Caller-Id transparancy when call forwarded"},"voicemail":{"type":"string","description":"A reference to a voicemailbox"},"cli":{"type":"string","description":"Id of external number used for outbound calling"},"outboundAnonymousCli":{"type":"boolean","description":"Outbound caller-Id anonymous"},"recording":{"oneOf":[{"$ref":"#/components/schemas/RecordingDeliveryApiOnlyDto"},{"$ref":"#/components/schemas/RecordingDeliveryEmailDto"}]},"voicemailDetection":{"type":"boolean","description":"Voicemail detect option: whether a forwarded call needs confirmation before it is considered answered"},"extension":{"type":"string","description":"Id of extension used for internal calls and routing. Should be unique within the containing company"}}},"DpSwitchPatch":{"required":["currentSetting"],"type":"object","properties":{"currentSetting":{"type":"integer","description":"the setting to use","format":"int32"}}},"PageDtoVoicemailMessageDto":{"required":["content","page","size","total"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/VoicemailMessageDto"}},"total":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"}}},"VoicemailMessageDto":{"required":["callerId","durationSeconds","isNew","messageId","receivedAt","voicemailId"],"type":"object","properties":{"messageId":{"type":"integer","format":"int64"},"voicemailId":{"type":"integer","format":"int64"},"callerId":{"type":"string"},"receivedAt":{"type":"string","format":"date-time"},"durationSeconds":{"type":"integer","format":"int32"},"isNew":{"type":"boolean"}}},"UserStatusDto":{"type":"object","properties":{"online":{"type":"boolean","description":"Whether the user is logged in to a\nphone and that phone has registered in the past hour."},"phone":{"type":"string","description":"A reference to the phone"},"receiveCalls":{"type":"string","enum":["receiveAll","receiveNone","receiveOnlyDirect"]},"displayStatus":{"type":"string"},"wrapupState":{"$ref":"#/components/schemas/WrapupStateDto"}},"description":"Structure with various status properties of a user."},"WrapupStateDto":{"type":"object","properties":{"callId":{"type":"string","description":"Call id for which the user is in wrap-up time"},"endTime":{"type":"integer","description":"End time as unix timestamp at which the user's wrap-up is ending.\\n\\nIf -1, the wrap-up time is indefinite, and needs to be disabled manually.","format":"int64"}}},"PrimitiveWrapperPermissionTypeDto":{"required":["value"],"type":"object","properties":{"value":{"type":"string","enum":["permNone","permRead","permWrite","permUnknown"]}}},"FeatureDto":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"TrunkDto":{"required":["name","self","trunkId","type"],"type":"object","properties":{"trunkId":{"type":"integer","format":"int64"},"self":{"type":"string"},"name":{"type":"string"},"type":{"$ref":"#/components/schemas/TrunkTypeDto"}}},"TrunkTypeDto":{"required":["authType","name"],"type":"object","properties":{"name":{"type":"string"},"authType":{"type":"string","enum":["authTypeUsernameOnly","authTypeUsernamePassword"]}}},"CompanyStatsDto":{"type":"object","properties":{"name":{"type":"string"},"resellerName":{"type":"string"},"shortname":{"type":"string"},"entities":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}},"resources":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}},"features":{"type":"object","additionalProperties":{"type":"integer","format":"int32"}}}},"CallRecordingDto":{"required":["callId","calleeId","callerId","duration","isInbound","startTime"],"type":"object","properties":{"recordingId":{"type":"integer","format":"int64"},"identityId":{"type":"integer","description":"Identity that was in this call and had recording configured, if it exists","format":"int64"},"resourceId":{"type":"integer","description":"External number that was used for this call and had recording configured, if it exists","format":"int64"},"callId":{"type":"string"},"startTime":{"type":"string","description":"ISO 8601 datetime indicating when the call recording was started","format":"date-time"},"duration":{"type":"integer","description":"In seconds","format":"int64"},"callerId":{"type":"string"},"calleeId":{"type":"string"},"isInbound":{"type":"boolean","description":"Indicates whether the recording was from calling in or calling out"}}},"QueueMemberDto":{"required":["active","callForward","priority"],"type":"object","properties":{"user":{"type":"string","description":"A reference to the user in the queue","readOnly":true},"queue":{"type":"string","description":"A reference to this queue","readOnly":true},"identity":{"type":"string","description":"A reference to the identity in the queue","readOnly":true},"priority":{"maximum":3,"minimum":1,"type":"integer","description":"Priority of a member. Either 1, 2 or 3","format":"int32"},"callForward":{"type":"boolean","description":"True if call forwards of the identity are followed when a call is received from this queue","readOnly":true},"active":{"type":"boolean","description":"True if the user is an active member of the queue (will receive calls), false if we're just storing the last-used queue member settings.","readOnly":true}}},"SipAccountDto":{"required":["domain","secret","username"],"type":"object","properties":{"username":{"type":"string"},"domain":{"type":"string"},"secret":{"type":"string"}},"description":"A basic username and password as sip account"},"PhoneStatusDto":{"required":["encrypted","expires","online","privateIP","publicIP","userAgent"],"type":"object","properties":{"publicIP":{"type":"string","description":"Public IP address + port, if online (registered)"},"privateIP":{"type":"string","description":"Private IP address + port, if online (registered)"},"expires":{"type":"integer","description":"Expiry of the phone's registration, as number of milliseconds since\\nJanuary 1, 1970, 00:00:00 GMT, if online (registered)","format":"int64"},"online":{"type":"boolean","description":"True if the phone is registered with the platform"},"encrypted":{"type":"boolean","description":"Whether the phone is connected using SIP over TLS (encrypted connection). This does\\nnot guarantee that audio is also encrypted.\\n\\nIs always set to false if the phone is offline."},"userAgent":{"type":"string","description":"The user agent as received in the phone's registration, if online"},"user":{"type":"string","description":"Optional reference to the logged-in user"}},"description":"Structure with various status properties of a phone."},"MusicOnHoldFileDto":{"type":"object","properties":{"id":{"type":"integer","description":"Id of the entry","format":"int64"},"fileName":{"type":"string","description":"Name of the uploaded music file"}}},"PageDtoCallRecordingDto":{"required":["content","page","size","total"],"type":"object","properties":{"content":{"type":"array","items":{"$ref":"#/components/schemas/CallRecordingDto"}},"total":{"type":"integer","format":"int32"},"page":{"type":"integer","format":"int32"},"size":{"type":"integer","format":"int32"}}},"TrunkAccountDto":{"required":["trunkData","username"],"type":"object","properties":{"trunkData":{"$ref":"#/components/schemas/TrunkDto"},"username":{"type":"string"}}}},"securitySchemes":{"basicAuth":{"type":"http","scheme":"basic"}}}}