ExoVoIPDeveloper guide

Full reference

The interactive reference with all endpoints, parameters, request and response schemas and examples is in the API Swagger. The OpenAPI 3.1 document is available at openapi.json: you can import it into Postman, Insomnia or a client generator.

To try endpoints from Swagger, click Authorize and enter your API key.

All endpoints

List generated from the OpenAPI document, grouped by area, with the required scope and the corresponding SDK method.

Stato servizio

RequestScopeSDK method
GET /health—health()

Accesso

RequestScopeSDK method
GET /auth/me—auth.me()

Aziende

RequestScopeSDK method
GET /v1/tenantstenants:readtenants.list()
POST /v1/tenantstenants:writetenants.create()
GET /v1/tenants/currentextensions:readtenants.current()
GET /v1/tenants/:idtenants:readtenants.get()
PATCH /v1/tenants/:idtenants:writetenants.update()
DELETE /v1/tenants/:idtenants:writetenants.delete()
PUT /v1/tenants/:id/limitstenants:writetenants.limits()
POST /v1/tenants/:id/suspendtenants:writetenants.suspend()
POST /v1/tenants/:id/resumetenants:writetenants.resume()
POST /v1/tenants/:id/impersonatetenants:impersonatetenants.impersonate()
GET /v1/tenants/:id/voice-nodetenants:readtenants.getVoiceNode() · py: tenants.get_voice_node()
PUT /v1/tenants/:id/voice-nodetenants:writetenants.setVoiceNode() · py: tenants.set_voice_node()

featureCodes

RequestScopeSDK method
GET /v1/feature-codes/settingsextensions:readfeatureCodes.getSettings() · py: feature_codes.get_settings()
PUT /v1/feature-codes/settingsextensions:writefeatureCodes.setSettings() · py: feature_codes.set_settings()

Interni

RequestScopeSDK method
GET /v1/extensionsextensions:readextensions.list()
POST /v1/extensionsextensions:writeextensions.create()
GET /v1/extensions/:idextensions:readextensions.get()
PATCH /v1/extensions/:idextensions:writeextensions.update()
DELETE /v1/extensions/:idextensions:writeextensions.delete()
PUT /v1/extensions/:id/follow-meextensions:writeextensions.followMe() · py: extensions.follow_me()
GET /v1/extensions/:id/dndextensions:readextensions.getDnd() · py: extensions.get_dnd()
PUT /v1/extensions/:id/dndextensions:writeextensions.setDnd() · py: extensions.set_dnd()
GET /v1/extensions/:id/availabilityextensions:readextensions.getAvailability() · py: extensions.get_availability()
PUT /v1/extensions/:id/availabilityextensions:writeextensions.setAvailability() · py: extensions.set_availability()
POST /v1/extensions/:id/passwordextensions:writeextensions.resetPassword() · py: extensions.reset_password()
GET /v1/extensions/:id/sip-credentialsextensions:writeextensions.sipCredentials() · py: extensions.sip_credentials()

Linee

RequestScopeSDK method
GET /v1/trunks/approvalssecurity:readtrunks.approvals()
POST /v1/trunks/:id/approvesecurity:writetrunks.approve()
POST /v1/trunks/:id/rejectsecurity:writetrunks.reject()
GET /v1/trunkstrunks:readtrunks.list()
POST /v1/trunkstrunks:writetrunks.create()
GET /v1/trunks/:idtrunks:readtrunks.get()
PATCH /v1/trunks/:idtrunks:writetrunks.update()
DELETE /v1/trunks/:idtrunks:writetrunks.delete()

Numeri

RequestScopeSDK method
GET /v1/numbersnumbers:readnumbers.list()
POST /v1/numbersnumbers:writenumbers.create()
POST /v1/numbers/bulknumbers:writenumbers.bulkCreate() · py: numbers.bulk_create()
GET /v1/numbers/:idnumbers:readnumbers.get()
PATCH /v1/numbers/:idnumbers:writenumbers.update()
DELETE /v1/numbers/:idnumbers:writenumbers.delete()
PUT /v1/numbers/:id/assignmentnumbers:writenumbers.assign()
GET /v1/numbers/:id/calendarnumbers:readnumbers.getCalendar() · py: numbers.get_calendar()
PUT /v1/numbers/:id/calendarnumbers:writenumbers.setCalendar() · py: numbers.set_calendar()

Regole in entrata

RequestScopeSDK method
GET /v1/inbound-routesinbound_routes:readinboundRoutes.list() · py: inbound_routes.list()
POST /v1/inbound-routesinbound_routes:writeinboundRoutes.create() · py: inbound_routes.create()
PUT /v1/inbound-routes/orderinbound_routes:writeinboundRoutes.reorder() · py: inbound_routes.reorder()
GET /v1/inbound-routes/:idinbound_routes:readinboundRoutes.get() · py: inbound_routes.get()
PATCH /v1/inbound-routes/:idinbound_routes:writeinboundRoutes.update() · py: inbound_routes.update()
DELETE /v1/inbound-routes/:idinbound_routes:writeinboundRoutes.delete() · py: inbound_routes.delete()

Regole di uscita

RequestScopeSDK method
GET /v1/outbound-routesoutbound_routes:readoutboundRoutes.list() · py: outbound_routes.list()
POST /v1/outbound-routesoutbound_routes:writeoutboundRoutes.create() · py: outbound_routes.create()
PUT /v1/outbound-routes/orderoutbound_routes:writeoutboundRoutes.reorder() · py: outbound_routes.reorder()
GET /v1/outbound-routes/policyoutbound_routes:readoutboundRoutes.getPolicy() · py: outbound_routes.get_policy()
PUT /v1/outbound-routes/policyoutbound_routes:writeoutboundRoutes.setPolicy() · py: outbound_routes.set_policy()
POST /v1/outbound-routes/simulateoutbound_routes:readoutboundRoutes.simulate() · py: outbound_routes.simulate()
GET /v1/outbound-routes/:idoutbound_routes:readoutboundRoutes.get() · py: outbound_routes.get()
PATCH /v1/outbound-routes/:idoutbound_routes:writeoutboundRoutes.update() · py: outbound_routes.update()
DELETE /v1/outbound-routes/:idoutbound_routes:writeoutboundRoutes.delete() · py: outbound_routes.delete()

Segreteria

RequestScopeSDK method
GET /v1/voicemail/settingsvoicemail:readvoicemail.getSettings() · py: voicemail.get_settings()
PUT /v1/voicemail/settingsvoicemail:writevoicemail.setSettings() · py: voicemail.set_settings()
GET /v1/voicemail/boxesvoicemail:readvoicemail.listBoxes() · py: voicemail.list_boxes()
GET /v1/voicemail/boxes/:extensionIdvoicemail:readvoicemail.getBox() · py: voicemail.get_box()
PUT /v1/voicemail/boxes/:extensionIdvoicemail:writevoicemail.updateBox() · py: voicemail.update_box()
GET /v1/voicemail/boxes/:extensionId/messagesvoicemail:readvoicemail.listMessages() · py: voicemail.list_messages()
GET /v1/voicemail/boxes/:extensionId/messages/:messageId/audiovoicemail:readvoicemail.messageAudio() · py: voicemail.message_audio()
PATCH /v1/voicemail/boxes/:extensionId/messages/:messageIdvoicemail:writevoicemail.updateMessage() · py: voicemail.update_message()
DELETE /v1/voicemail/boxes/:extensionId/messages/:messageIdvoicemail:writevoicemail.deleteMessage() · py: voicemail.delete_message()
GET /v1/voicemail/boxes/:extensionId/messages/:messageId/metavoicemail:readvoicemail.messageMeta() · py: voicemail.message_meta()
GET /v1/voicemail/boxes/:extensionId/messages/:messageId/transcriptvoicemail:readvoicemail.messageTranscript() · py: voicemail.message_transcript()
POST /v1/voicemail/boxes/:extensionId/messages/:messageId/transcribevoicemail:writevoicemail.transcribeMessage() · py: voicemail.transcribe_message()
POST /v1/voicemail/boxes/:extensionId/messages/:messageId/emailvoicemail:writevoicemail.resendEmail() · py: voicemail.resend_email()

Registro chiamate

RequestScopeSDK method
GET /v1/cdrcdr:readcdr.list()
GET /v1/cdr/export.csvcdr:readcdr.export()
GET /v1/cdr/:linkedidcdr:readcdr.get()

Chiavi API

RequestScopeSDK method
GET /v1/api-keysapi_keys:readapiKeys.list() · py: api_keys.list()
POST /v1/api-keysapi_keys:writeapiKeys.create() · py: api_keys.create()
GET /v1/api-keys/:idapi_keys:readapiKeys.get() · py: api_keys.get()
PATCH /v1/api-keys/:idapi_keys:writeapiKeys.update() · py: api_keys.update()
POST /v1/api-keys/:id/rotateapi_keys:writeapiKeys.rotate() · py: api_keys.rotate()
POST /v1/api-keys/:id/revokeapi_keys:writeapiKeys.revoke() · py: api_keys.revoke()
GET /v1/api-keys/:id/usageapi_keys:readapiKeys.usage() · py: api_keys.usage()
GET /v1/api-keys/:id/usage/statsapi_keys:readapiKeys.usageStats() · py: api_keys.usage_stats()

Sicurezza

RequestScopeSDK method
GET /v1/security/summaryextensions:readsecurity.summary()
GET /v1/security/statussecurity:readsecurity.status()
GET /v1/security/banssecurity:readsecurity.bans()
POST /v1/security/banssecurity:writesecurity.ban()
POST /v1/security/bans/unbansecurity:writesecurity.unban()
GET /v1/security/jailssecurity:readsecurity.jails()
PUT /v1/security/jails/:namesecurity:writesecurity.updateJail() · py: security.update_jail()
GET /v1/security/geosecurity:readsecurity.geo()
PUT /v1/security/geo/:servicesecurity:writesecurity.updateGeo() · py: security.update_geo()
GET /v1/security/whitelistsecurity:readsecurity.whitelist()
POST /v1/security/whitelistsecurity:writesecurity.addWhitelist() · py: security.add_whitelist()
DELETE /v1/security/whitelist/:idsecurity:writesecurity.deleteWhitelist() · py: security.delete_whitelist()
GET /v1/security/settingssecurity:readsecurity.getSettings() · py: security.get_settings()
PUT /v1/security/settingssecurity:writesecurity.setSettings() · py: security.set_settings()
GET /v1/security/logssecurity:readsecurity.logs()

Sistema

RequestScopeSDK method
GET /v1/system/statussystem:readsystem.status()
POST /v1/system/reloadsystem:writesystem.reload()
GET /v1/system/reload-jobssystem:readsystem.reloadJobs() · py: system.reload_jobs()
GET /v1/system/reload-jobs/:idsystem:readsystem.reloadJob() · py: system.reload_job()

Tempo reale

RequestScopeSDK method
GET /v1/live/snapshotlive:readlive.snapshot()
GET /v1/live/channelslive:readlive.channels()
GET /v1/live/extensionslive:readlive.extensions()
GET /v1/live/deviceslive:readlive.devices()
GET /v1/live/trunkslive:readlive.trunks()
GET /v1/live/queueslive:readlive.queues()
GET /v1/live/healthlive:readlive.health()
GET /v1/live/eventslive:readlive.stream()
GET /v1/live/wslive:readlive.websocket() (TS)

Webhook

RequestScopeSDK method
GET /v1/webhooks/event-typeswebhooks:readwebhooks.eventTypes() · py: webhooks.event_types()
GET /v1/webhookswebhooks:readwebhooks.list()
POST /v1/webhookswebhooks:writewebhooks.create()
GET /v1/webhooks/:idwebhooks:readwebhooks.get()
PATCH /v1/webhooks/:idwebhooks:writewebhooks.update()
DELETE /v1/webhooks/:idwebhooks:writewebhooks.delete()
POST /v1/webhooks/:id/rotate-secretwebhooks:writewebhooks.rotateSecret() · py: webhooks.rotate_secret()
POST /v1/webhooks/:id/testwebhooks:writewebhooks.test()
GET /v1/webhooks/:id/deliverieswebhooks:readwebhooks.deliveries()
POST /v1/webhooks/:id/deliveries/:deliveryId/retrywebhooks:writewebhooks.redeliver()

Orari e chiusure

RequestScopeSDK method
GET /v1/calendarscalendars:readcalendars.list()
POST /v1/calendarscalendars:writecalendars.create()
GET /v1/calendars/holidayscalendars:readcalendars.holidays()
GET /v1/calendars/:idcalendars:readcalendars.get()
PATCH /v1/calendars/:idcalendars:writecalendars.update()
DELETE /v1/calendars/:idcalendars:writecalendars.delete()
PUT /v1/calendars/:id/hourscalendars:writecalendars.setHours() · py: calendars.set_hours()
GET /v1/calendars/:id/statuscalendars:readcalendars.status()
POST /v1/calendars/:id/forcecalendars:writecalendars.force()
DELETE /v1/calendars/:id/forcecalendars:writecalendars.clearForce() · py: calendars.clear_force()
GET /v1/calendars/:id/overridescalendars:readcalendars.overrides()
POST /v1/calendars/:id/simulatecalendars:readcalendars.simulate()
POST /v1/calendars/:id/holidayscalendars:writecalendars.preloadHolidays() · py: calendars.preload_holidays()
GET /v1/calendars/:id/exceptionscalendars:readcalendars.listExceptions() · py: calendars.list_exceptions()
POST /v1/calendars/:id/exceptionscalendars:writecalendars.createException() · py: calendars.create_exception()
PATCH /v1/calendars/:id/exceptions/:exceptionIdcalendars:writecalendars.updateException() · py: calendars.update_exception()
DELETE /v1/calendars/:id/exceptions/:exceptionIdcalendars:writecalendars.deleteException() · py: calendars.delete_exception()
POST /v1/calendars/:id/ical/importcalendars:writecalendars.importIcal() · py: calendars.import_ical()
GET /v1/calendars/:id/ical/export.icscalendars:readcalendars.exportIcal() · py: calendars.export_ical()
POST /v1/calendars/:id/ical/synccalendars:writecalendars.syncIcal() · py: calendars.sync_ical()

Registrazioni

RequestScopeSDK method
GET /v1/recordingsrecordings:readrecordings.list()
GET /v1/recordings/settingsrecordings:readrecordings.getSettings() · py: recordings.get_settings()
PUT /v1/recordings/settingsrecordings:writerecordings.setSettings() · py: recordings.set_settings()
GET /v1/recordings/policiesrecordings:readrecordings.listPolicies() · py: recordings.list_policies()
GET /v1/recordings/policies/effectiverecordings:readrecordings.effectivePolicy() · py: recordings.effective_policy()
PUT /v1/recordings/policies/:scope/:targetIdrecordings:writerecordings.upsertPolicy() · py: recordings.upsert_policy()
DELETE /v1/recordings/policies/:scope/:targetIdrecordings:writerecordings.deletePolicy() · py: recordings.delete_policy()
GET /v1/recordings/access-logrecordings:writerecordings.accessLog() · py: recordings.access_log()
GET /v1/recordings/:idrecordings:readrecordings.get()
DELETE /v1/recordings/:idrecordings:writerecordings.delete()
GET /v1/recordings/:id/audiorecordings:readrecordings.audio()
GET /v1/recordings/:id/transcriptrecordings:readrecordings.transcript()
POST /v1/recordings/:id/transcriberecordings:writerecordings.transcribe()
POST /v1/recordings/:id/summarizerecordings:writerecordings.summarize()

Inoltro al cellulare

RequestScopeSDK method
GET /v1/extensions/:id/invisible-forwardingextensions:readforwarding.get()
PUT /v1/extensions/:id/invisible-forwardingextensions:writeforwarding.update()
GET /v1/extensions/:id/provider-diverttenants:writeforwarding.getProviderDivert() · py: forwarding.get_provider_divert()
PUT /v1/extensions/:id/provider-diverttenants:writeforwarding.setProviderDivert() · py: forwarding.set_provider_divert()

Notifiche

RequestScopeSDK method
GET /v1/notifications/settingsnotifications:readnotifications.getSettings() · py: notifications.get_settings()
PUT /v1/notifications/settingsnotifications:writenotifications.setSettings() · py: notifications.set_settings()
GET /v1/notifications/lognotifications:readnotifications.log()
POST /v1/notifications/testnotifications:writenotifications.test()

Lavori in corso

RequestScopeSDK method
GET /v1/jobs/:idmedia:readjobs.get()
RequestScopeSDK method
GET /v1/ivrsivrs:readivrs.list()
POST /v1/ivrsivrs:writeivrs.create()
GET /v1/ivrs/:idivrs:readivrs.get()
PATCH /v1/ivrs/:idivrs:writeivrs.update()
DELETE /v1/ivrs/:idivrs:writeivrs.delete()
POST /v1/ivrs/:id/greeting-textivrs:readivrs.greetingText() · py: ivrs.greeting_text()

Gruppi di squillo

RequestScopeSDK method
GET /v1/ring-groupsring_groups:readringGroups.list() · py: ring_groups.list()
POST /v1/ring-groupsring_groups:writeringGroups.create() · py: ring_groups.create()
GET /v1/ring-groups/:idring_groups:readringGroups.get() · py: ring_groups.get()
PATCH /v1/ring-groups/:idring_groups:writeringGroups.update() · py: ring_groups.update()
DELETE /v1/ring-groups/:idring_groups:writeringGroups.delete() · py: ring_groups.delete()

Code

RequestScopeSDK method
GET /v1/queuesqueues:readqueues.list()
POST /v1/queuesqueues:writequeues.create()
GET /v1/queues/:idqueues:readqueues.get()
PATCH /v1/queues/:idqueues:writequeues.update()
DELETE /v1/queues/:idqueues:writequeues.delete()
GET /v1/queues/:id/livelive:readqueues.live()
PUT /v1/queues/:id/members/:extensionId/pausequeues:writequeues.pauseMember() · py: queues.pause_member()
GET /v1/queues/:id/callbacksqueues:readqueues.callbacks()

Musica d’attesa

RequestScopeSDK method
GET /v1/mohmedia:readmoh.list()
POST /v1/mohmedia:writemoh.create()
GET /v1/moh/:idmedia:readmoh.get()
PATCH /v1/moh/:idmedia:writemoh.update()
DELETE /v1/moh/:idmedia:writemoh.delete()

Messaggi vocali

RequestScopeSDK method
GET /v1/promptsmedia:readprompts.list()
POST /v1/promptsmedia:writeprompts.createTts() · py: prompts.create_tts()
POST /v1/prompts/uploadmedia:writeprompts.upload()
GET /v1/prompts/:idmedia:readprompts.get()
PATCH /v1/prompts/:idmedia:writeprompts.update()
DELETE /v1/prompts/:idmedia:writeprompts.delete()
POST /v1/prompts/:id/generatemedia:writeprompts.generate()
GET /v1/prompts/:id/audiomedia:readprompts.audio()

Rubrica

RequestScopeSDK method
GET /v1/contactscontacts:readcontacts.list()
POST /v1/contactscontacts:writecontacts.create()
GET /v1/contacts/lookupcontacts:readcontacts.lookup()
POST /v1/contacts/importcontacts:writecontacts.import()
GET /v1/contacts/exportcontacts:readcontacts.export()
GET /v1/contacts/settingscontacts:readcontacts.getSettings() · py: contacts.get_settings()
PUT /v1/contacts/settingscontacts:writecontacts.setSettings() · py: contacts.set_settings()
GET /v1/contacts/:idcontacts:readcontacts.get()
PATCH /v1/contacts/:idcontacts:writecontacts.update()
DELETE /v1/contacts/:idcontacts:writecontacts.delete()

Operatività

RequestScopeSDK method
GET /v1/ops/statussystem:readops.status()

voiceNodes

RequestScopeSDK method
GET /v1/voice-nodessystem:readvoiceNodes.list() · py: voice_nodes.list()
POST /v1/voice-nodessystem:writevoiceNodes.create() · py: voice_nodes.create()
GET /v1/voice-nodes/:idsystem:readvoiceNodes.get() · py: voice_nodes.get()
PATCH /v1/voice-nodes/:idsystem:writevoiceNodes.update() · py: voice_nodes.update()
DELETE /v1/voice-nodes/:idsystem:writevoiceNodes.delete() · py: voice_nodes.delete()
POST /v1/voice-nodes/:id/enrollment-codesystem:writevoiceNodes.enrollmentCode() · py: voice_nodes.enrollment_code()
POST /v1/voice-nodes/:id/revokesystem:writevoiceNodes.revoke() · py: voice_nodes.revoke()

voices

RequestScopeSDK method
GET /v1/voicesmedia:readvoices.list()
POST /v1/voices/syncsystem:writevoices.sync()
PUT /v1/voices/defaultmedia:writevoices.setTenantDefault() · py: voices.set_tenant_default()
PUT /v1/voices/platform-defaultsystem:writevoices.setPlatformDefault() · py: voices.set_platform_default()
GET /v1/voices/:voiceId/previewmedia:readvoices.preview()
POST /v1/voices/:voiceId/samplemedia:writevoices.sample()