API Interfaces & Events Summary
This topic provides the Yeastar P-Series PBX System API interfaces list and events list.
Important: You MUST include a
User-Agent header with every request that you submit to
the Yeastar P-Series PBX System API, so that the PBX can identify your application
and respond to the request. For example,
User-Agent:
OpenAPI.API Authentication
| HTTP method | API endpoint | Description |
|---|---|---|
| POST | get_token | Get API access token. |
| POST | refresh_token | Refresh API access token. |
| GET | del_token | Revoke API access token. |
System
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | system/information | Query PBX information. |
| GET | system/capacity | Query PBX capacity, including the number of extensions and concurrent calls. |
| GET | system/get_menuoptions | Query the menu option information when creating and updating features. Note: The interface supports to query
the option information (ID, name, or type) of specific
features including FXS
channel, extension, extension group,
organization, trunk, user role, phonebook, group
voicemail, IVR, call flow, ring group, queue, queue
agent, conference, PIN list, system prompt, custom
prompt, etc.
|
| POST | system/sendemail | Send an email to the specified email address. |
Extension
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | extension/list | Query the extension list. |
| GET | extension/search | Search specific extensions. |
| GET | extension/get | Query the information of an extension. |
| GET | extension/query | Query the information of multiple extensions. |
| GET | extension/getpassword | Query the registration password and voicemail access PIN of an extension. |
| POST | extension/create | Add an extension. |
| POST | extension/send_welcome_email | Send Linkus welcome emails to specified extensions. |
| POST | extension/update | Edit an extension. |
| GET | extension/delete | Delete an extension. |
Organization
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | organization/list | Query the organization list. |
| GET | organization/search | Search specific organizations. |
| GET | organization/get | Query the information of an organization. |
| GET | organization/query | Query the information of multiple organizations. |
| POST | organization/create | Add an organization. |
| POST | organization/update | Edit an organization. |
| GET | organization/delete | Delete an organization. |
Trunk
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | trunk/list | Query the trunk list. |
| GET | trunk/search | Search specific trunks. |
| GET | trunk/get | Query the information of a trunk. |
| GET | trunk/query | Query the information of multiple trunks. |
| GET | trunk/itsp_list | Query the ITSP list of SIP trunks. |
| POST | trunk/create | Add a SIP trunk. |
| POST | trunk/update | Edit a SIP trunk. |
| GET | trunk/delete | Delete a SIP trunk. |
Contacts
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | company_contact/list | Query the company contacts list. |
| GET | company_contact/search | Search specific company contacts. |
| GET | company_contact/get | Query the information of a company contact. |
| GET | company_contact/query | Query the information of multiple company contacts. |
| POST | company_contact/create | Add a company contact. |
| POST | company_contact/update | Edit a company contact. |
| GET | company_contact/delete | Delete a company contact. |
Phonebook
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | phonebook/list | Query the phonebook list. |
| GET | phonebook/search | Search specific phonebooks. |
| GET | phonebook/get | Query the information of a phonebook. |
| GET | phonebook/query | Query the information of multiple phonebooks. |
| POST | phonebook/create | Add a phonebook. |
| POST | phonebook/update | Edit a phonebook. |
| GET | phonebook/delete | Delete a phonebook. |
Auto Provisioning
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | phone/search | Search specific IP phones. |
| GET | phone/get | Query the information of an IP phone. |
| GET | auto_provisioning/compatibility | Query the information of configuration options required when adding IP phone(s) for auto provisioning. |
| POST | phone/batchcreate | Bulk add IP phones of the same vendor and model. |
| POST | phone/batchupdate | Bulk edit IP phones of the same model that use the same template. |
| POST | phone/batchreprovision | Bulk reprovision IP phones. |
| POST | phone/batchreboot | Bulk reboot IP phones. |
| POST | phone/batchdelete | Bulk delete IP phones. |
Inbound Route
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | inbound_route/list | Query the inbound route list. |
| GET | inbound_route/search | Search specific inbound routes. |
| GET | inbound_route/get | Query the information of an inbound route. |
| GET | inbound_route/query | Query the information of multiple inbound routes. |
| POST | inbound_route/create | Add an inbound route. |
| POST | inbound_route/update | Edit an inbound route. |
| GET | inbound_route/delete | Delete an inbound route. |
Outbound Route
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | outbound_route/list | Query the outbound route list. |
| GET | outbound_route/search | Search specific outbound routes. |
| GET | outbound_route/get | Query the information of an outbound route. |
| GET | outbound_route/query | Query the information of multiple outbound routes. |
| POST | outbound_route/create | Add an outbound route. |
| POST | outbound_route/update | Edit an outbound route. |
| GET | outbound_route/delete | Delete an outbound route. |
Voicemail
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | vm/query | Query the voicemail messages of multiple extensions or group voicemails. |
| GET | vm/get | Query the voicemail messages of a specific extension or a group voicemail. |
| GET | vm/download | Get the download URL to download a vociemail message. |
| POST | vm/create | Add a voicemail message to a specific extension. |
| POST | vm/update | Update the read status of a voicemail message. |
| GET | vm/delete | Delete a voicemail message. |
| GET | vm/delete_extension_vm | Delete all the voicemail messages of an extension. |
IVR
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | ivr/list | Query the IVR list. |
| GET | ivr/search | Search specific IVRs. |
| GET | ivr/get | Query the information of an IVR. |
| GET | ivr/query | Query the information of multiple IVRs. |
| POST | ivr/create | Add an IVR. |
| POST | ivr/update | Edit an IVR. |
| GET | ivr/delete | Delete an IVR. |
Queue
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | queue/list | Query the queue list. |
| GET | queue/search | Search specific queues. |
| GET | queue/get | Query the information of a queue. |
| GET | queue/query | Query the information of multiple queues. |
| POST | queue/create | Add a queue. |
| POST | queue/update | Edit a queue. |
| GET | queue/delete | Delete a queue. |
| GET | queue/call_status | Query call status of a queue. |
| GET | queue/agent_status | Query agent status of a queue. |
| GET | queue_pause_reason/list | Query queue pause reason list. |
| POST | queue_pause_reason/update | Edit queue pause reason list. |
| GET | queue_option/get | Query global queue settings. |
| POST | queue_option/update | Edit global queue settings. |
| POST | queue/honor_wrapup_time | Enable or disable shared wrap-up time among queues. |
| GET | queue/agent_login | Queue management - Log in or log out agents. |
| GET | queue/agent_pause | Queue management - Pause or unpause agents. |
| GET | agent/login | Agent management - Log in to or log out of queues. |
| GET | agent/pause | Agent management - Pause or unpause queue service. |
Conference
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | conference/list | Query the list of the scheduled conferences that were created either from the PBX web portal or through API requests. |
| GET | conference/search | Search specific conferences from the scheduled conference list. |
| GET | conference/get | Query the information of a specific scheduled conference. |
| GET | conference/query | Query the information of multiple scheduled conferences. |
| GET | query_interim_conference | Query the information of instant conferences created through API requests. |
| GET | conference/viewpassword | Query the participants password or moderator password of a specific scheduled conference. |
| GET | conference/query_ongoing_conference | Query the settings for a specific ongoing conference, multiple ongoing conferences, or all ongoing conferences, including both scheduled and instant conferences. |
| POST | conference/create | Add a scheduled conference. |
| POST | conference/start_interim_conference | Add and configure an instant conference, and invite members to join the conference in real time. |
| POST | conference/invite_member | Invite internal or external users to join a conference. |
| POST | conference/kick_member | Kick a member, multiple members, or all members out of a conference. |
| POST | conference/mute_member | Mute a member, multiple members, or all members in a conference. |
| POST | conference/unmute_member | Unmute a member, multiple members, or all members in a conference. |
| POST | conference/update | Edit the setting of a scheduled conference. |
| GET | conference/delete | Delete a specific scheduled conference. |
Paging
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | paging/list | Query the paging group list. |
| GET | paging/search | Search specific paging groups. |
| GET | paging/get | Query the information of a paging group. |
| GET | paging/query | Query the information of multiple paging groups. |
| POST | paging/create | Add a paging group. |
| POST | paging/update | Edit a paging group. |
| GET | paging/delete | Delete a paging group. |
Recording
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | autorecord/get | Query the recording settings. |
| POST | autorecord/update | Edit the recording settings. |
PIN List
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | pin_list/list | Query the PIN list. |
| GET | pin_list/search | Search specific PIN lists. |
| GET | pin_list/get | Query the information of a PIN list. |
| GET | pin_list/query | Query the information of multiple PIN lists. |
| POST | pin_list/create | Add a PIN list. |
| POST | pin_list/update | Edit a PIN list. |
| GET | pin_list/delete | Delete a PIN list. |
Blocked/Allowed Numbers
| HTTP method | API endpoint | Description |
|---|---|---|
| Blocked Numbers | ||
| GET | block_numbers/list | Query the call blocklists. |
| GET | block_numbers/search | Search specific call blocklist rules. |
| GET | block_numbers/get | Query the information of a call blocklist rule. |
| GET | block_numbers/query | Query the information of multiple call blocklist rules. |
| POST | block_numbers/create | Add a call blocklist rule. |
| POST | block_numbers/update | Edit a call blocklist rule. |
| GET | block_numbers/delete | Delete a call blocklist rule. |
| Allowed Numbers | ||
| GET | allow_numbers/list | Query the call allowlists. |
| GET | allow_numbers/search | Search specific call allowlist rules. |
| GET | allow_numbers/get | Query the information of a call allowlist rule. |
| GET | allow_numbers/query | Query the information of multiple call allowlist rules. |
| POST | allow_numbers/create | Add a call allowlist rule. |
| POST | allow_numbers/update | Edit a call allowlist rule. |
| GET | allow_numbers/delete | Delete a call allowlist rule. |
Call Note
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | callnotes/get | Get the call notes of a specific call. |
| POST | callnotes/update | Update the call notes of a specific call. |
Messaging
Note: To use the Messaging APIs, you need to subscribe to
Enterprise Plan or Ultimate Plan
to ensure the Omnichannel Messaging feature is available, and the API
feature must be enabled.
| HTTP method | API endpoint | Description |
|---|---|---|
| Message Channel | ||
| GET | message_channel/list | Query the message channel list. |
| GET | message_channel/search | Search specific message channels. |
| GET | message_channel/get | Query the information of a message channel (including SMS channel, WhatsApp channel, and Facebook channel). |
| GET | message_channel/getlivechat | Query the information of a Live Chat channel. |
| GET | message_channel/query | Query the information of multiple message channels (including SMS channel, WhatsApp channel, and Facebook channel). |
| GET | message_channel/whatsapp_template | Retrieve detailed information and content of WhatsApp message templates for a WhatsApp channel. |
| GET | message_channel/embedcode | Get the embed code of a Live Chat channel. |
| POST | message_channel/uploadphoto | Upload a photo to the PBX, which can be used as a custom avatar of a Live Chat channel. |
| POST | message_channel/create | Add a message channel (including SMS channel, WhatsApp channel, and Facebook channel). |
| POST | message_channel/createlivechat | Add a Live Chat channel. |
| POST | message_channel/update | Edit a message channel (including SMS channel, WhatsApp channel, and Facebook channel). |
| POST | message_channel/updatelivechat | Edit a Live Chat channel. |
| GET | message_channel/delete | Delete a message channel. |
| Message Queue | ||
| GET | message_queue/list | Query the message queue list. |
| GET | message_queue/search | Search specific message queues. |
| GET | message_queue/get | Query the information of a message queue. |
| GET | message_queue/query | Query the information of one or more message queues. |
| POST | message_queue/create | Add a message queue. |
| POST | message_queue/update | Edit a message queue. |
| GET | message_queues/delete | Delete a message queue. |
| Message Campaign | ||
| GET | message_campaign/list | Query the message campaign list. |
| GET | message_campaign/search | Search specific message campaigns. |
| GET | message_campaign/get | Query the information of a message campaign. |
| GET | message_campaign/query | Query the information of multiple message campaigns. |
| POST | message_campaign/create | Add a message campaign. |
| POST | message_campaign/update | Edit a message campaign. |
| GET | message_campaign/retry | Retry a message campaign. |
| GET | message_campaign/delete | Delete a message campaign. |
| Message Session | ||
| GET | message_session/list | Query the message session list. |
| GET | message_session/search | Search specific message sessions. |
| GET | message_session/get | Query the information of a specific message session. |
| GET | message_session/query | Query the information of multiple message sessions. |
| POST | message_session/transfer | Transfer a message session. |
| POST | message_session/close | Close a message session. |
| POST | message_session/archive | Archive a message session. |
| POST | message_session/unarchive | Unarchive a message session. |
| GET | message_session/delete | Delete a message session. |
| Messages | ||
| GET | message/get | Query messages in a message session. |
| GET | message/query | Query messages in multiple message sessions simultaneously. |
| POST | message/batchupload | Upload one or more files to the PBX, which can be used when sending messages in either message campaigns or message sessions. |
| POST | message/send | Send a message in a message session, or initiate a message session. |
Storage
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | storage/list | Query the storage device list. |
Backup
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | backup/list | Query the backup file list. |
| GET | backup/search | Search specific backup files. |
| GET | backup/get | Query the information of a backup file. |
| GET | backup/query | Query the information of multiple backup files. |
| GET | backup/getstatus | Get the backup status of a backup file. |
| GET | backup/download | Get the download URL to download a backup file. |
| POST | backup/create | Add a backup file. |
| GET | backup/delete | Delete a backup file. |
System Log
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | system_log/list | Query the system log list. |
| GET | system_log/download | Get the download URL to download one or multiple system log file(s). |
API Feature Settings
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | extension_status_monitor/list | Query extension status monitoring settings for the API feature. |
| POST | extension_status_monitor/update | Update extension status monitoring settings for the API feature. |
| GET | trunk_status_monitor/list | Query trunk status monitoring settings for the API feature. |
| POST | trunk_status_monitor/update | Update trunk status monitoring settings for the API feature. |
| GET | webhook/query | Query Webhook event push settings. |
| POST | webhook/update | Update Webhook event push settings. |
| GET | webhook/test | Send a test message to a specified Webhook URL to test Webhook connectivity. |
Recording
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | recording/list | Query the recording file list. |
| GET | recording/search | Search specific recording files. |
| GET | recording/download | Get the download URL to download a recording file. |
| GET | recording/playtoextension | Play a recording to a specified extension. |
CDR
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | cdr/list | Query the CDR list. |
| GET | cdr/search | Search specific CDR. |
| GET | cdr/download | Get the download URL to download a CDR file. |
| GET | cdr/getoption | Get CDR options. Note: The interface supports to query
the enablement status of CDR options, such as fuzzy
search.
|
| POST | cdr/updateoption | Edit CDR options. Note: The interface supports to change
the enablement status of CDR options, such as fuzzy
search.
|
Call report
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | call_report/list | Query the instant call report list. |
| GET | call_report/detail |
Query call details in specific IVR/Queue/Agent report. |
| GET | call_report/download | Get the download URL to download an instant call report. |
| GET | call_schedule_report/list | Query the scheduled call report list. |
| GET | call_schedule_report/download | Get the download URL to download a scheduled call report. |
Hotel
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | wakeupcall/list | Query the alarm list. |
| GET | wakeupcall/get | Query an extension's alarm information. |
| GET | wakeupcall/query | Query multiple extensions' alarm information. |
| POST | wakeupcall/create | Add an alarm for a specific extension. |
| POST | wakeupcall/update | Edit an alarm. |
| GET | wakeupcall/delete | Delete alarm(s) for a specific extension. |
| POST | hotel/checkout | Perform checkout for hotel guests. |
SMS
| HTTP method | API endpoint | Description |
|---|---|---|
| POST | sms/create | Send an SMS message to a mobile number through a GSM/3G/4G trunk. |
Call control
| HTTP method | API endpoint | Description |
|---|---|---|
| GET | call/query | Query a specified call or query calls by call types. |
| POST | call/dial | Make a call. |
| POST | call/accept_inbound | Accept an inbound call. |
| POST | call/refuse_inbound | Refuse an inbound call. |
| POST | call/listen | Monitor a call. |
| POST | call/hold | Hold a call. |
| POST | call/unhold | Resume a held call. |
| POST | call/mute | Mute a call. |
| POST | call/unmute | Unmute a call. |
| POST | call/park | Park a call. |
| GET | call/park_status | Query status of parked calls. |
| POST | call/directly_forward_to_voicemail | Forward an incoming call to the specified voicemail. |
| POST | call/transfer | Transfer a call, including blind transfer and attended transfer. |
| POST | call/add_member | During a call, invite a member to join the call. |
| POST | call/play_prompt | Play custom prompt audio files. |
| POST | call/hangup | Hang up a call. |
| POST | call/record_start | Start call recording. |
| POST | call/record_pause | Pause call recording. |
| POST | call/record_unpause | Resume call recording. |
uaCSTA call control
| HTTP method | API endpoint | Description |
|---|---|---|
| POST | uacsta_call/accept | Accept an incoming call by uaCSTA control. |
| POST | uacsta_call/refuse | Refuse an incoming call by uaCSTA control. |
| POST | uacsta_call/hangup | Hang up an incoming call by uaCSTA control. |
Events
Note: You can monitor the following events via WebSocket or
Webhook. For more information, see Monitor Events via WebSocket
or Monitor Events via Webhook.
| Event | Description |
|---|---|
| (30005) Organization Status Switch State Changed | Indicate that the organization feature status is changed, and return the current feature status. |
| (30006) Organization Structure Changed | Indicate that the organization configuration is changed, and return the change information. |
| (30007) Extension Registration Status Changed | Indicate that the extension registration status is changed, and return the extension details. |
| (30008) Extension Call State Changed | Indicate that the extension call status is changed, and return the current extension call status. |
| (30009) Extension Presence State Changed | Indicate that the extension presence status is changed, and return the current extension presence status. |
| (30010) Trunk Registration State Changed | Indicate that the trunk registration status is changed, and return the current trunk status. |
| (30011) Call State Changed | Indicate that the call status is changed, and return the current call status. |
| (30012) Call End Details Notification | Indicate that a new CDR is generated, and return the call details. |
| (30013) Call Transfer Report | Indicate that a call is transferred, and return the call details. |
| (30014) Call Forwarding Report | Indicate that a call is forwarded, and return the call details. |
| (30015) Call Failure Report | Indicate that a call is failed, and return the call details. |
| (30016) Incoming Call Request | Indicate that an inbound call comes from the monitored trunk, and return the call details. |
| (30017) DTMF Digit Report | Indicate that a key is pressed during a call, and return the call details as well as key pressing information. |
| (30018) Prompt Playback Completed Report | Indicate the end of prompt playing, and return the call details and the audio prompt name. |
| (30019) Satisfaction Survey Feedback | Indicate that caller has completed a satisfaction survey, and return the survey result. |
| (30020) uaCSTA Call Report | Indicate that a call status of an extension, which is registered to an IP phone, is changed, and return the uaCSTA call details. |
| (30022) Extension Information Updated | Indicate that the extension configuration is changed, and return the change information. |
| (30023) Trunk Information Updated | Indicate that the trunk configuration is changed, and return the change information. |
| (30024) No-hosted Conference | Indicate that the host leaves the audio conference, and return the audio conference ID as well as host's extension number. |
| (30025) Agent Automatic Pause | Indicate that the agent is automatically paused due to reaching the maximum number of missed calls, and return the information of the agent and missed calls. |
| (30026) Agent Ringing Timeout | Indicate that the agent missed a call due to ringing timeout, and return the information of the agent and missed call. |
| (30027) Call Report Download Result |
Indicate that the requested data is retrieved, and return the download URL of the call report. |
| (30028) Call Note Status Updated | Indicates whether the call note is available in the current call, and returns related identifiers for both the call and the call note. |
| (30029) Agent Status Changed | Indicate that the agent status is changed, and return the change information. |
| (30030) Bulk Message Sending Failed | Indicate some messages failed to send in a message campaign, and return the ID of the associated campaign, along with sending results. |
| (30031) New Message Notification | Indicate that the third-party application receives an inbound message from a message channel forwarded through the PBX API, and return the message details. |
| (30032) Message Sending Result | Indicates that the third-party application sends a message through the PBX API and the delivery status changes, and return the message details. |
| (30033) Recording Download Completed | Indicate that a recording file is successfully downloaded via the API in asynchronous mode. |