# Snapcom API OpenAPI spec: https://developer.snapcom.com/openapi.json Use the Snapcom API to read and manage your organization's phone system: users, devices, call queues, call history, voicemail and more. Every endpoint below has a **Test Request** button, so you can try calls against your own account from this page. ## Base URL Send every request to: ``` https://developer.snapcom.com/api/v2 ``` API keys issued for integrations only work through this address. ## Authentication Authenticate with an API key sent as a bearer token. To check that your key works, ask the API about the key itself: ```bash curl https://developer.snapcom.com/api/v2/apikeys/~ \ -H "Authorization: Bearer nsd_your_key_here" ``` To get a key, email [support@snapcom.com](mailto:support@snapcom.com) with what you are building. Each key is tied to your organization and a permission level, and can be limited to read-only. Keep keys on your server. Do not put a key in browser JavaScript, a mobile app, or a public code repository. If a key is exposed, contact us and we will revoke it. ## Testing on this page Paste your key into **Bearer Token** in the Authentication box near the top of this page. Then open any endpoint and use **Test Request**. Requests run against your live account, so use a read-only key while exploring. The key is not saved; it is cleared when you reload or close the page. ## Pagination Endpoints that return lists send back one page at a time. | Parameter | Meaning | |---|---| | `limit` | Records per page. Defaults to 100, maximum 100. | | `start` | Offset of the first record, starting at 0. | A request with `limit` above 100, or with `limit` sent more than once, is rejected with `400`. To read a full list, request pages until one comes back with fewer records than you asked for: ```python import time import requests BASE = "https://developer.snapcom.com/api/v2" HEADERS = {"Authorization": "Bearer nsd_your_key_here"} def fetch_all(path, params=None): params = {**(params or {}), "limit": 100, "start": 0} while True: r = requests.get(BASE + path, headers=HEADERS, params=params, timeout=30) if r.status_code == 429: time.sleep(int(r.headers.get("Retry-After", "5"))) continue r.raise_for_status() page = r.json() yield from page if len(page) < params["limit"]: break params["start"] += params["limit"] ``` ## Rate limits | Limit | Value | |---|---| | Requests per API key | 300 per minute, with short bursts of up to 30 more | | Requests in progress at once, per key | 5 | Going over a limit returns `429 Too Many Requests` with a `Retry-After` header. Wait that many seconds before trying again, and back off further if you keep getting `429`. Retrying immediately in a loop only extends the wait. ## Avoid polling Most heavy API use comes from asking the same question over and over. A few habits keep integrations fast and well under the limits: - To react to calls and other activity, use **Event Subscriptions** so Snapcom sends events to your server, rather than checking every few seconds. - Cache data that rarely changes, such as users, devices and call queues, and refresh it occasionally. - When reading call history, ask for a time range you have not seen yet instead of re-reading everything. ## Errors | Status | Meaning | What to do | |---|---|---| | `400` | The request is invalid, including a `limit` above 100 | Fix the request; retrying will not help | | `401` | The key is missing, wrong or revoked | Check the `Authorization` header | | `403` | The key is not allowed to do this | Ask us for a key with the access you need | | `404` | The record or endpoint does not exist | Check the path and IDs | | `429` | Rate limit reached | Wait for `Retry-After` seconds, then retry | ## Building with AI coding tools If you use an AI assistant to write your integration, give it the machine-readable spec at [https://developer.snapcom.com/openapi.json](https://developer.snapcom.com/openapi.json) or the summary at [https://developer.snapcom.com/llms.txt](https://developer.snapcom.com/llms.txt), and include these rules in your prompt: ```text Use the Snapcom API at https://developer.snapcom.com/api/v2 with a bearer API key kept server side. Page through lists with limit=100 and start, stopping at a short page. On HTTP 429, wait for the Retry-After header before retrying. Use Event Subscriptions instead of polling, and cache data that rarely changes. ``` ## Endpoints - DELETE /: Delete All Timeframes for User - GET /accesslog: Read Accesslog - GET /apikeys/~: Read API Key info on your API Key - GET /auditlog: Read Audit Log - POST /calls/report: Report Active Calls - GET /cdrs: Read CDRs - GET /cdrs/count: Count CDRs and SUM minutes - GET /deviceprofiles: Read Device Profiles - GET /deviceprofiles/count: Count Device Profiles - GET /deviceprofiles/{make}/{model}: Get specific Device Profile for Model of Phone - GET /dialplans: Read Dialplans - POST /dialplans: Create Dialplan Global - GET /dialpolicy: Read Policies - POST /dialpolicy: Create Dialpolicy Table - DELETE /dialpolicy/{policy}: Delete Dialpolicy - GET /dialpolicy/{policy}: Read Specific Policy - PUT /dialpolicy/{policy}: Update Dialpolicy - GET /dialpolicy/{policy}/permission: Read Permissions in a DialPolicy - POST /dialpolicy/{policy}/permission: Add a new permission to a dialpolicy table - DELETE /dialpolicy/{policy}/permission/{id}: Delete a permission by ID in a dialpolicy - GET /dialpolicy/{policy}/permission/{id}: Read Specific Permission in a Dialpolicy - PUT /dialpolicy/{policy}/permission/{id}: Update a permission in a dialpolicy table - GET /domains/{domain}: Get Specific Domain - PUT /domains/{domain}: Update a Domain - GET /domains/{domain}/addresses: Get Addresses for Domain - POST /domains/{domain}/addresses: Create Address for Domain - GET /domains/{domain}/addresses/count: Get Addresses Count for Domain - GET /domains/{domain}/addresses/endpoints: Get Address Endpoints for a Domain - POST /domains/{domain}/addresses/endpoints: Create Address Endpoint - DELETE /domains/{domain}/addresses/endpoints/{endpoint}: Delete Address Endpoint - PUT /domains/{domain}/addresses/endpoints/{endpoint}: Update Address Endpoint - POST /domains/{domain}/addresses/validate: Validate Address - DELETE /domains/{domain}/addresses/{emergency-address-id}: Delete Address For Domain - PUT /domains/{domain}/addresses/{emergency-address-id}: Update Address for Domain - GET /domains/{domain}/agents: Read Agents in Domain - GET /domains/{domain}/autoattendants: Read Auto Attendants - POST /domains/{domain}/autoattendants: Create Auto Attendant - GET /domains/{domain}/billing: Get Specific Domain With Billing Summary - GET /domains/{domain}/callqueuereport/abandoned: Get Abandoned Calls for all Queues - GET /domains/{domain}/callqueuereport/abandoned/{callqueue}: Get Abandoned Calls for a Specific Queue - GET /domains/{domain}/callqueues: Read Call Queues in Domain - POST /domains/{domain}/callqueues: Create Call Queue in Domain - PATCH /domains/{domain}/callqueues/all/agents/{callqueue-agent-id}/{status}: Agent Set Offline Status - GET /domains/{domain}/callqueues/list: Read Basic info on Call Queues in Domain - DELETE /domains/{domain}/callqueues/{callqueue}: Delete Call Queue - GET /domains/{domain}/callqueues/{callqueue}: Read Specific Call Queue - PUT /domains/{domain}/callqueues/{callqueue}: Update Call Queue in Domain - GET /domains/{domain}/callqueues/{callqueue}/agents: Read Agents in Call Queue - POST /domains/{domain}/callqueues/{callqueue}/agents: Add Agent to Call Queue - GET /domains/{domain}/callqueues/{callqueue}/agents/count: Count Agents in Call Queue - DELETE /domains/{domain}/callqueues/{callqueue}/agents/{callqueue-agent-id}: Remove Agent from Call Queue - GET /domains/{domain}/callqueues/{callqueue}/agents/{callqueue-agent-id}: Read Specific Agent in Call Queue - PUT /domains/{domain}/callqueues/{callqueue}/agents/{callqueue-agent-id}: Update Agent in Call Queue - PATCH /domains/{domain}/callqueues/{callqueue}/agents/{callqueue-agent-id}/login: Agent Login - PATCH /domains/{domain}/callqueues/{callqueue}/agents/{callqueue-agent-id}/logout: Agent Logout - PATCH /domains/{domain}/callqueues/{callqueue}/agents/{callqueue-agent-id}/onecall: Agent Single Call - GET /domains/{domain}/calls: Read Active Calls In Domain - GET /domains/{domain}/calls/count: Count Active Calls In Domain - GET /domains/{domain}/cdrs: Read CDRs for Domain - GET /domains/{domain}/cdrs/count: Count CDRs and SUM minutes for Domain - GET /domains/{domain}/charts/{dashboard_id}/count: Count Charts - GET /domains/{domain}/charts/{dashboard_id}/list: Get Chart List - GET /domains/{domain}/conferences: Get Conferences in Domain - POST /domains/{domain}/conferences: Create Conference for Domain - GET /domains/{domain}/conferences/count: Count Conferences in Domain - DELETE /domains/{domain}/conferences/{conference}: Delete Conference in Domain - GET /domains/{domain}/conferences/{conference}: Get Conference in Domain - PUT /domains/{domain}/conferences/{conference}: Update Conference in Domain - GET /domains/{domain}/conferences/{conference}/cdr: Get Conference CDR from Domain - GET /domains/{domain}/conferences/{conference}/participants: Get Participants from Conference - POST /domains/{domain}/conferences/{conference}/participants: Create Participant for Conference - DELETE /domains/{domain}/conferences/{conference}/participants/{participant}: Delete Participant from Conference - PUT /domains/{domain}/conferences/{conference}/participants/{participant}: Update Participant for Conference - GET /domains/{domain}/contacts: Get Domain Contacts - POST /domains/{domain}/contacts: Create Shared Contact - DELETE /domains/{domain}/contacts/{contact_id}: Delete Shared Contact - GET /domains/{domain}/contacts/{contact_id}: Get Specific Domain Contact - PUT /domains/{domain}/contacts/{contact_id}: Update Shared Contact - GET /domains/{domain}/count: Check if Domain Exists - GET /domains/{domain}/departments/list: List Departments in a Domain - GET /domains/{domain}/departments/{department}/presence/list: List Presence in a Department - GET /domains/{domain}/devices: Get Devices in Domain - GET /domains/{domain}/devices/count: Count Devices for Domain - GET /domains/{domain}/devices/{device}/count: Count Devices by Device - POST /domains/{domain}/dialplans: Create Dialplan for Domain - DELETE /domains/{domain}/dialplans/{dialplan}: Delete Dialplan for Domain - PUT /domains/{domain}/dialplans/{dialplan}: Update Dialplan for Domain - GET /domains/{domain}/dialplans/{dialplan}/dialrules: Read Dialrules in a Dialplan - POST /domains/{domain}/dialplans/{dialplan}/dialrules: Add a new dial rule into a dial plan - GET /domains/{domain}/dialplans/{dialplan}/dialrules/count: Count Dialrules in a Dialplan - DELETE /domains/{domain}/dialplans/{dialplan}/dialrules/{dialrule}: Delete a dial rule by ID in a dial plan - GET /domains/{domain}/dialplans/{dialplan}/dialrules/{dialrule}: Read Specific Dialrule in a Dialplan - PUT /domains/{domain}/dialplans/{dialplan}/dialrules/{dialrule}: Update a dial rule by ID in a dial plan - DELETE /domains/{domain}/dialpolicy/{policy}: Delete Dialpolicy in Domain - GET /domains/{domain}/dialpolicy/{policy}: Read Specific Policy in Domain - PUT /domains/{domain}/dialpolicy/{policy}: Update Dialpolicy in Domain - GET /domains/{domain}/dialpolicy/{policy}/permission: Read Permissions in a DialPolicy in Domain - POST /domains/{domain}/dialpolicy/{policy}/permission: Add a new permission to a dialpolicy table in Domain - DELETE /domains/{domain}/dialpolicy/{policy}/permission/{id}: Delete a permission by ID in a dialpolicy in Domain - GET /domains/{domain}/dialpolicy/{policy}/permission/{id}: Read Specific Permission in a Dialpolicy in Domain - PUT /domains/{domain}/dialpolicy/{policy}/permission/{id}: Update a permission in a dialpolicy table in Domain - GET /domains/{domain}/messagesessions: Get Messagesessions for Domain - GET /domains/{domain}/moh: Read MOH for Domain - POST /domains/{domain}/moh: Create a new MOH for Domain from TTS - GET /domains/{domain}/moh/count: Count MOH for Domain - DELETE /domains/{domain}/moh/{index}: Delete MOH for Domain - PUT /domains/{domain}/moh/{index}: Update MOH for Domain from TTS - GET /domains/{domain}/msg: Read Hold Messages for Domain - POST /domains/{domain}/msg: Create a new Hold Messge for Domain from Upload (Multipart/Mixed Post) - GET /domains/{domain}/msg/count: Count Hold Messages for Domain - DELETE /domains/{domain}/msg/{index}: Delete Hold Messge for Domain - PUT /domains/{domain}/msg/{index}: Update Hold Messge for Domain from Upload (Multipart/Mixed Post) - DELETE /domains/{domain}/number-filters: Delete blocked numbers for a Domain - GET /domains/{domain}/number-filters: Read blocked numbers for a Domain - POST /domains/{domain}/number-filters: Add blocked numbers for a Domain - POST /domains/{domain}/phoneconfiguration: Create Phone Configuration for Specific Mac Address - GET /domains/{domain}/phoneconfiguration/count: Count Phone Configurations in a Domain - DELETE /domains/{domain}/phoneconfiguration/{mac}: Delete Phone Configuration for Specific Mac Address - GET /domains/{domain}/phoneconfiguration/{mac}: Get Phone Configuration for specific Mac - PUT /domains/{domain}/phoneconfiguration/{mac}: Update Phone Configuration for Specific Mac Address - GET /domains/{domain}/phonenumbers: Get All Phone Numbers for Domain - POST /domains/{domain}/phonenumbers: Add Phone Number in Domain - PUT /domains/{domain}/phonenumbers: Send Phonenumber to Call Queue - GET /domains/{domain}/phonenumbers/count: Count Phone Numbers for Domain - DELETE /domains/{domain}/phonenumbers/{phonenumber}: Remove Phone Number from Domain - GET /domains/{domain}/phonenumbers/{phonenumber}: Get Specific Phone Number in Domain - PUT /domains/{domain}/phonenumbers/{phonenumber}: Update Phone Number in Domain - DELETE /domains/{domain}/phones: Remove MAC address in Domain - GET /domains/{domain}/phones: Read Mac Addresses in Domain - POST /domains/{domain}/phones: Add MAC address for Domain - PUT /domains/{domain}/phones: Update MAC address in Domain - GET /domains/{domain}/phones/{mac}: Read Specific Mac Addresses in Domain - GET /domains/{domain}/phonetemplates: Read Phone Templates available to a Domain - POST /domains/{domain}/phonetemplates: Create Phone Template in domain - GET /domains/{domain}/phonetemplates/count: Count Phone Templates for a Domain - DELETE /domains/{domain}/phonetemplates/{name}: Delete Phone Template in domain - GET /domains/{domain}/phonetemplates/{name}: Read Specific Phone Templates by name - PUT /domains/{domain}/phonetemplates/{name}: Update Phone Template in domain - GET /domains/{domain}/presence/list: List Presence in a Domain - POST /domains/{domain}/queuedcall/{callqueue}: Add a Queued Call - GET /domains/{domain}/queuedcall/{queue}: Read Queued Calls - GET /domains/{domain}/quotas: Get Quota for Domain - GET /domains/{domain}/quotas/count: Count Quotas for Domain - GET /domains/{domain}/recordings/{callid}: Get Specific Recording by Callid for Domain - GET /domains/{domain}/schedule/count: Count CDR Schedules for Domain - GET /domains/{domain}/schedule/{schedule_name}/count: Count CDR Schedules by Name - GET /domains/{domain}/sites: Read Sites in Domain - POST /domains/{domain}/sites: Create Site in Domain - GET /domains/{domain}/sites/count: Count Sites in Domain - GET /domains/{domain}/sites/list: List Sites in Domain - GET /domains/{domain}/sites/{site}: Read Specific Site in Domain - PUT /domains/{domain}/sites/{site}: Update Site in Domain - GET /domains/{domain}/smsblocks: Read SMS Blocks for Domain - POST /domains/{domain}/smsblocks: Add SMS Blocks for Domain - DELETE /domains/{domain}/smsblocks/{id}: Delete/Deactivate SMS Block for Domain - PUT /domains/{domain}/smsblocks/{id}: Update SMS Block for Domain - GET /domains/{domain}/smsnumbers: Get SMS Numbers for Domain - POST /domains/{domain}/smsnumbers: Create SMS Number - DELETE /domains/{domain}/smsnumbers/{smsnumber}: Delete an SMS Number - PUT /domains/{domain}/smsnumbers/{smsnumber}: Update SMS Number - GET /domains/{domain}/statistics/DNIS: Get DNIS Statistics for all Queues - GET /domains/{domain}/statistics/DNIS/callqueues/{callqueue}: Get DNIS Statistics for Single Queue - GET /domains/{domain}/statistics/agent: Get Agent Statistics for all Queues by Agent - GET /domains/{domain}/statistics/agent/callqueues/{callqueue}: Get Agent Statistics for Single Queues by Agent - GET /domains/{domain}/statistics/agent/{agent}: Get Agent Statistics for Single Agent - GET /domains/{domain}/statistics/agentLog: Get Agent Log - GET /domains/{domain}/statistics/callqueues/aggregate: Get Callqueue Statistics for all Queues Aggregated - GET /domains/{domain}/statistics/callqueues/per-queue: Get Callqueue Statistics for all Queues by Queue - GET /domains/{domain}/statistics/callqueues/{callqueue}: Get Callqueue Statistics for a Specific Queue - GET /domains/{domain}/subscriptions: Read Event Subscriptions for Domain - POST /domains/{domain}/subscriptions: Create a Event Subscription for Domain - DELETE /domains/{domain}/subscriptions/{id}: Delete a subscription For Domain - PUT /domains/{domain}/subscriptions/{id}: Update an Event Subscription for Domain - GET /domains/{domain}/timeframes: Read All Timeframes for Domain (Shared) - POST /domains/{domain}/timeframes: Create Always Timeframe - DELETE /domains/{domain}/timeframes/{id}: Delete Date Range within Specific Dates Timeframe - GET /domains/{domain}/timeframes/{id}: Read Specific Timeframe for Domain (Shared) - POST /domains/{domain}/timeframes/{id}: Create Additional Date Ranges within Specific Dates Timeframe - PUT /domains/{domain}/timeframes/{id}: Replace All Date Ranges in Specific Dates Timeframe - GET /domains/{domain}/transcriptions: Read Transcription for Specific Call - GET /domains/{domain}/users: Get Users in Domain - POST /domains/{domain}/users: Create User in Domain - GET /domains/{domain}/users/count: Count users in Domain - GET /domains/{domain}/users/list: List Basic Info on Users in Domain - DELETE /domains/{domain}/users/{user}: Delete User in Domain - GET /domains/{domain}/users/{user}: Get Specific User in Domain - PUT /domains/{domain}/users/{user}: Update a User in Domain - GET /domains/{domain}/users/{user}/addresses: Get Addresses for User - POST /domains/{domain}/users/{user}/addresses: Create Address for User - DELETE /domains/{domain}/users/{user}/addresses/{address_id}: Delete Address For User - GET /domains/{domain}/users/{user}/addresses/{emergency-address-id}: Get Address Using Address ID - PUT /domains/{domain}/users/{user}/addresses/{emergency-address-id}: Update Address for User - GET /domains/{domain}/users/{user}/answerrules: Read Answerrules for a User - POST /domains/{domain}/users/{user}/answerrules: Add a Answerrule for a User - GET /domains/{domain}/users/{user}/answerrules/count: Count Answerrules for a User - PUT /domains/{domain}/users/{user}/answerrules/reorder: Reorder Answerrules for my User - DELETE /domains/{domain}/users/{user}/answerrules/{timeframe}: Delete a Answerrule for a User - GET /domains/{domain}/users/{user}/answerrules/{timeframe}: Read Specifc Timeframe Answerrule for User - PUT /domains/{domain}/users/{user}/answerrules/{timeframe}: Update a Answerrule for a User - DELETE /domains/{domain}/users/{user}/autoattendants/{prompt}: Delete Specific Auto Attendant - GET /domains/{domain}/users/{user}/autoattendants/{prompt}: Read Specific Auto Attendant - PUT /domains/{domain}/users/{user}/autoattendants/{prompt}: Update Specific Auto Attendant - GET /domains/{domain}/users/{user}/calls: Read Active Calls for User - POST /domains/{domain}/users/{user}/calls: Make a new Call - DELETE /domains/{domain}/users/{user}/calls/{call_id}: Disconnect Call - PATCH /domains/{domain}/users/{user}/calls/{call_id}/answer: Answer Call - PATCH /domains/{domain}/users/{user}/calls/{call_id}/hold: Hold Active Call - DELETE /domains/{domain}/users/{user}/calls/{call_id}/reject: Reject Call - PATCH /domains/{domain}/users/{user}/calls/{call_id}/transfer: Transfer Call - PATCH /domains/{domain}/users/{user}/calls/{call_id}/transferPeer: Transfer Peer Call - PATCH /domains/{domain}/users/{user}/calls/{call_id}/unhold: Un-Hold Active Call - GET /domains/{domain}/users/{user}/calls/{callid}: Read Specific Active Call - GET /domains/{domain}/users/{user}/cdrs: Read CDRs for Specific User - GET /domains/{domain}/users/{user}/cdrs/count: Count CDRs and SUM minutes for Specifc User - GET /domains/{domain}/users/{user}/contacts: Get Contacts for User - POST /domains/{domain}/users/{user}/contacts: Create Contact - GET /domains/{domain}/users/{user}/contacts/count: Count Contacts for User - DELETE /domains/{domain}/users/{user}/contacts/{contact_id}: Delete Contact - GET /domains/{domain}/users/{user}/contacts/{contact_id}: Get Specific Contact for User - PUT /domains/{domain}/users/{user}/contacts/{contact_id}: Update Contact - GET /domains/{domain}/users/{user}/dashboards/count: Count Dashboards for a User - GET /domains/{domain}/users/{user}/dashboards/list: Get Dashboard List for a User - GET /domains/{domain}/users/{user}/devices: Get Devices for User - POST /domains/{domain}/users/{user}/devices: Create Device for User - GET /domains/{domain}/users/{user}/devices/count: Count Devices for User - DELETE /domains/{domain}/users/{user}/devices/{device}: Delete Device for User - GET /domains/{domain}/users/{user}/devices/{device}: Get Specifc Device - PUT /domains/{domain}/users/{user}/devices/{device}: Update Device for User - POST /domains/{domain}/users/{user}/email: Send Email using Template - POST /domains/{domain}/users/{user}/email/verify/{token}: Verify Email - GET /domains/{domain}/users/{user}/greetings: Read Greetings for User - POST /domains/{domain}/users/{user}/greetings: Create a new Greeting from TTS - GET /domains/{domain}/users/{user}/greetings/count: Count Greetings for User - DELETE /domains/{domain}/users/{user}/greetings/{index}: Delete Specific Greeting for User - GET /domains/{domain}/users/{user}/greetings/{index}: Read Specific Greeting for User - PUT /domains/{domain}/users/{user}/greetings/{index}: Update Greeting with TTS script - DELETE /domains/{domain}/users/{user}/host: Delete a Host - POST /domains/{domain}/users/{user}/host: Create a Host - PUT /domains/{domain}/users/{user}/host: Update User's Iotum Host - POST /domains/{domain}/users/{user}/host/contacts: Create Host Contacts - GET /domains/{domain}/users/{user}/meetings: Read Meetings for User - POST /domains/{domain}/users/{user}/meetings: Create a Meeting - GET /domains/{domain}/users/{user}/meetings/count: Count Domains Meetings - POST /domains/{domain}/users/{user}/meetings/getId: Request a Meeting ID - GET /domains/{domain}/users/{user}/meetings/{id}: Read Meeting - POST /domains/{domain}/users/{user}/meetings/{id}: Create a Meeting with Id - GET /domains/{domain}/users/{user}/meetings/{id}/instance/{instance}/log: Read Meeting Events - POST /domains/{domain}/users/{user}/meetings/{id}/instance/{instance}/log: Create a Meeting Log Event - GET /domains/{domain}/users/{user}/meetings/{meeting_id}/count: Count Meeting - DELETE /domains/{domain}/users/{user}/meetings/{meeting}: Delete a Meeting - PUT /domains/{domain}/users/{user}/meetings/{meeting}: Update a Meeting - POST /domains/{domain}/users/{user}/messages: Start a new Message Session - GET /domains/{domain}/users/{user}/messagesessions: Get Messagesessions for User - DELETE /domains/{domain}/users/{user}/messagesessions/{messagesession}: Delete Messagesession - GET /domains/{domain}/users/{user}/messagesessions/{messagesession}: Get Messagesession for User - PUT /domains/{domain}/users/{user}/messagesessions/{messagesession}: Update Messagesession (Participants) - PUT /domains/{domain}/users/{user}/messagesessions/{messagesession}/leave: Update Messagesession (Leave) - GET /domains/{domain}/users/{user}/messagesessions/{messagesession}/messages: Get Messages for Messagesession - POST /domains/{domain}/users/{user}/messagesessions/{messagesession}/messages: Send a message (Chat) - GET /domains/{domain}/users/{user}/moh: Read MOH for User - POST /domains/{domain}/users/{user}/moh: Create a new MOH for Domain from TTS - GET /domains/{domain}/users/{user}/moh/count: Count MOH for User - DELETE /domains/{domain}/users/{user}/moh/{index}: Delete MOH for User - PUT /domains/{domain}/users/{user}/moh/{index}: Update MOH for Domain from TTS - PUT /domains/{domain}/users/{user}/moh/{index}/: Update MOH for User from Upload (JSON + Base64 File) - GET /domains/{domain}/users/{user}/msg: Read Hold Messages for User - POST /domains/{domain}/users/{user}/msg: Create a new Hold Messge for User from Upload (Multipart/Mixed Post) - GET /domains/{domain}/users/{user}/msg/count: Count Hold Messages for User - DELETE /domains/{domain}/users/{user}/msg/{index}: Delete Hold Messge for User - PUT /domains/{domain}/users/{user}/msg/{index}: Update Hold Messge for User from Upload (Multipart/Mixed Post) - DELETE /domains/{domain}/users/{user}/number-filters: Delete blocked numbers for a User - POST /domains/{domain}/users/{user}/number-filters: Add blocked numbers for a User - GET /domains/{domain}/users/{user}/recordings/{callid}: Get Specific Recording by Callid for User - GET /domains/{domain}/users/{user}/smsnumbers: Get SMS Numbers for User - GET /domains/{domain}/users/{user}/smsnumbers/count: Count SMS Numbers for User - GET /domains/{domain}/users/{user}/timeframes: Read All Timeframes for User - POST /domains/{domain}/users/{user}/timeframes: Create Always Timeframe - DELETE /domains/{domain}/users/{user}/timeframes/{id}: Delete Date Range within Specific Dates Timeframe - GET /domains/{domain}/users/{user}/timeframes/{id}: Read Specific Timeframe for User - POST /domains/{domain}/users/{user}/timeframes/{id}: Create Additional Date Ranges within Specific Dates Timeframe - PUT /domains/{domain}/users/{user}/timeframes/{id}: Replace All Date Ranges in Specific Dates Timeframe - GET /domains/{domain}/users/{user}/video: Read Iotum Video Host - GET /domains/{domain}/users/{user}/video/conference: Read Iotum Video Host Conferences - POST /domains/{domain}/users/{user}/video/conference: Create a Ad-hoc Conference - GET /domains/{domain}/users/{user}/video/contacts: Read Iotum Video Host Contacts - DELETE /domains/{domain}/users/{user}/vmailnag: Delete Voicemail Reminders for Specific User - GET /domains/{domain}/users/{user}/vmailnag: Get Voicemail Reminders for Specific User - POST /domains/{domain}/users/{user}/vmailnag: Create Voicemail Reminder - PUT /domains/{domain}/users/{user}/vmailnag: Update Voicemail Reminders for Specific User - GET /domains/{domain}/users/{user}/vmailnag/count: Count Voicemail Reminders for Specific User - GET /domains/{domain}/users/{user}/voicemails/{folder}: Read Voicemail for User by Folder - GET /domains/{domain}/users/{user}/voicemails/{folder}/count: Count Voicemail for User by Folder - DELETE /domains/{domain}/users/{user}/voicemails/{folder}/{filename}: Delete Voicemail - GET /domains/{domain}/users/{user}/voicemails/{folder}/{filename}: Read Specific Voicemail for User - PATCH /domains/{domain}/users/{user}/voicemails/{folder}/{filename}/forward: Forward Voicemail to another user - PATCH /domains/{domain}/users/{user}/voicemails/{folder}/{filename}/save: Move Voicemail to save folder - GET /domains/{domain}/users/{user}/voices: Synthesize Voice (Text to Speech) via GET - POST /domains/{domain}/users/{user}/voices: Synthesize Voice (Text to Speech) - GET /domains/{domain}/users/{user}/voices/{language}: Get Available Voices - GET /domains/{domain}/users/{user}number-filters: Read blocked numbers for a User - DELETE /domains/{domain}/video: Delete a Video Company - GET /domains/{domain}/video: Read Iotum Video Company - POST /domains/{domain}/video: Create Iotum Video Company - PUT /domains/{domain}/video: Update Domain's Iotum Company - GET /domains/{domain}/video/availableproducts: Read Iotum Video Available Products - GET /domains/{domain}/video/hosts: Read All Iotum Video Hosts in a Domain - GET /domains/{domain}/video/products: Read Iotum Video Company Products - DELETE /domains/{domain}/video/subscription/{slug}: Delete Iotum Video Subscription - POST /domains/{domain}/video/subscription/{slug}: Create Iotum Video Subscription - PUT /domains/{domain}/video/subscriptions: Update Domain's Iotum Subscriptions - GET /domains/~: Get My Domain Info - GET /domains/~/users/~: Get My User - GET /domains/~/users/~/answerrules: Read Answerrules for my User - GET /domains/~/users/~/contacts: Get My Contacts - GET /holidays/countries: Read List of Supported Countries - GET /holidays/regions: Read List of Supported Regions - GET /holidays/{country}/{region}/{year}: Read Holiday Information by Country and Region - GET /holidays/{country}/{year}: Read Holiday Information by Country - DELETE /images/{filename}: Delete an Image - GET /images/{filename}: Read Image - POST /images/{filename}: Create Image from Upload (JSON + Base64 File) - PUT /images/{filename}: Update Image from Upload (Multipart/Mixed Post) - GET /insight/{label}: Query Data from iNSight - POST /meetings/register/{meeting_registration_id}: Register Meeting - GET /phonenumbers: Get All Phone Numbers for System or Reseller - GET /phonenumbers/count: Count All Phone Numbers for System or Reseller - DELETE /phones: Remove MAC address - GET /phones: Read Mac Addresses - POST /phones: Add MAC address - PUT /phones: Update MAC address - GET /phones/count: Count Mac Addresses - GET /phones/models: Get list of Supported/Provisionable Models - GET /phones/servers: Get list of Provisionable Server Profiles - GET /phones/servers/{server}: Read Provisionable Server Details - GET /phones/{mac}: Read Specific Mac Address - GET /sipflow: Get Call Trace (SIPFlow) For Call - GET /smsblocks: Read SMS Blocks for all Domains - GET /smsnumbers: Get All SMS Numbers for System - GET /subscriptions: Read Event Subscriptions - POST /subscriptions: Create a Event Subscription - DELETE /subscriptions/{id}: Delete a subscription - GET /subscriptions/{id}: Read Event Subscription By Id - PUT /subscriptions/{id}: Update an Event Subscription - DELETE /templates/{filename}: Delete a Template - GET /templates/{filename}: Read Template - POST /templates/{filename}: Create Template from Upload (JSON + Base64 File) - PUT /templates/{filename}: Update Template from Upload (JSON + Base64 File) - GET /version: Read API Version