Summary of Changes
PortSIP PBX REST API Changes Summary
v22.6.0
Date: June 30, 2026
New Endpoints
System Administration
Added
<GET | POST> /api/admin/google/destroyto stop the system-level Google application integration.Added
<POST> /api/admin/ms365/destroyto stop the system-level Microsoft 365 application integration.Added
<GET | POST> /api/admin/password_policyto manage password policies for system users.Added
<GET> /api/admin/email_templatesand<GET | POST> /api/admin/email_templates/:nameto manage system-level email notification templates.
Dealer
Added
<GET> /api/dealer/password_policyto retrieve the password policy for the currently signed-in Dealer.
Added
<GET> /api/whatsapp/:id/templates,<GET> /api/whatsapp/:id/templates/:template_id, and<POST> /api/whatsapp/:id/templates/refreshto manage WhatsApp Templates.
Tenant Integrations
Added
<POST> /api/ms365/destroyto stop the tenant-level Microsoft 365 application integration.Added
<POST> /api/google/destroyto stop the tenant-level Google application integration.
Tenant Management
Added
<POST> /api/tenants/summaries/queryto retrieve tenant statistics in bulk.
CRM
Added
<GET> /api/crm/providers/:providerto retrieve property mappings for CRM application integrations.
Data Flow Analytics
Added
<POST> /api/dataflow/analytics/activity/usersand<POST> /api/dataflow/analytics/activity/userto retrieve user activity records from Data Flow for a specified time range. These APIs support querying activity for specified users or for the currently signed-in user.
Updated Endpoints
System Administration and Security
Updated
<GET | POST> /api/admin/notification:Renamed
notify_service_disconnectedtonotify_service_status_changed.Added
notify_trunk_status_changed.
Updated
<GET | POST> /api/admin/settingswith the following new properties:enable_two_factor_authenticationenable_verify_phone_auto_provisioningverify_phone_auto_provisioning_excludeenable_sip603_reason_headerhide_pbx_private_ipsdp_codecs_scopesdp_codecs
Updated
<POST> /api/auth/forget_password:The
domainproperty is now optional when the API is called by a system user.
Updated
<POST> /api/admin/users:emailis now required.display_nameis now required.The maximum length of
display_nameis 128 characters.
Updated
<POST> /api/dealers:emailis now required.display_nameis now required.
Call Parking
Updated
<GET | POST> /api/call_park:Added
send_notification_to_parker.
Call Queues
Updated
<GET | POST> /api/call_queues:Added
enable_audio_recording.
Updated
<POST> /api/call_queues:Added
outbound_caller_ids[].display_name.
Updated
<GET | POST> /api/call_queues/:id:Added
enable_audio_recording.Added
outbound_caller_ids[].display_name.
Conference Rooms and Meetings
Updated
<POST> /api/conference_roomsand<POST> /api/conference_rooms/:id:Added
prompt_file_id.Added
outbound_caller_ids[].display_name.
Updated
<GET> /api/conference_rooms/:id:Added
prompt_file_name.Added
prompt_file_size.Added
prompt_file_url.Added
outbound_caller_ids[].display_name.
Updated
<POST> /api/user/meetingsand<GET | POST> /api/user/meetings/:id:Added
outbound_caller_ids[].display_name.
CRM
Updated
<GET> /crm/contactsand<GET> /crm/contacts/:id:Added
type.Added
url.
Updated
<POST> /api/user/crm_contacts/sync_tokens/:token/diff:Added
did_number.
DECT Phones and Hot Desking
Updated
<POST> /api/dect_phonesand<POST> /api/dect_phones/:id:Added
provisioning_pin.
Updated
<GET> /api/dect_phonesand<GET> /api/dect_phones/:id:Added
provisioning_pin.Added
firmware.Added
status.
Updated
<GET | POST> /api/hotdeskingand<GET | POST> /api/hotdesking/:id:Added
provisioning_pin.display_nameis now required.The maximum length of
display_nameis 128 characters.
Feature Access Codes
Updated
<GET | POST> /api/feature_access_codes:Removed the following
featurevalues:ANONYMOUS_CALL_REJECTION_ACTIVATIONANONYMOUS_CALL_REJECTION_DEACTIVATION
Added the following
featurevalues:SELECTIVE_CALL_ACCEPTANCE_ACTIVATIONSELECTIVE_CALL_ACCEPTANCE_DEACTIVATIONSELECTIVE_CALL_REJECTION_ACTIVATIONSELECTIVE_CALL_REJECTION_DEACTIVATION
Inbound Rules, Outbound Rules, Virtual Receptionists, Ring Groups, and Groups
Updated
<GET | POST> /api/inbound_rulesand<GET | POST> /api/inbound_rules/:id:Added
enable_audio_recording.
Updated
<GET | POST> /api/ivrsand<GET | POST> /api/ivrs/:id:Added
enable_audio_recording.
Updated
<POST> /api/ivrsand<GET | POST> /api/ivrs/:id:Added
outbound_caller_ids[].display_name.
Updated
<GET | POST> /api/outbound_rulesand<GET | POST> /api/outbound_rules/:id:Added
enable_audio_recording.
Updated
<GET | POST> /api/ring_groupsand<GET | POST> /api/ring_groups/:id:Added
enable_audio_recording.
Updated
<POST> /api/ring_groupsand<GET | POST> /api/ring_groups/:id:Added
outbound_caller_ids[].display_name.
Updated
<POST> /api/groupsand<GET | POST> /api/groups/:id:Added
outbound_caller_ids[].display_name.
Microsoft 365 and Google Integrations
Updated
<GET | POST> /api/ms365:Removed
sign_in_as_administrator.
Network
Updated
<GET> /api/network:Added
sbc_domain.
Phones and Provisioning
Updated
<GET> /api/phonesand<GET> /api/phones/:mac:Added
status.
Updated
<GET | POST> /api/users/:id/phonesand<GET | POST> /api/users/:id/phones/:phone_id:Added
dhcp.
Providers and SDP Codec Configuration
Updated
<GET | POST> /api/providersand<GET | POST> /api/providers/:id:Added
enable_sdp_codecs.Added
sdp_codecs.
SMS and WhatsApp
Updated
<GET | POST> /api/smsand<GET | POST> /api/sms/:id:Added
channel_type.
Updated
<GET | POST> /api/whatsappand<GET | POST> /api/whatsapp/:id:Added
business_account_id.
Tenant APIs
Updated
<GET | POST> /api/tenantwith the following new properties:enable_call_queue_audio_recordingenable_ring_group_audio_recordingenable_trunk_audio_recordingenable_virtual_receptionist_audio_recordingenable_verify_phone_auto_provisioningcrm_contact_typerecording_access_modeoutbound_caller_ids[].display_name
Updated
<GET | POST> /api/tenant/notificationwith the following new properties:notify_emergency_callnotify_license_limitednotify_trunk_call_limited
Updated
<POST> /api/tenantswith the following new properties:enable_call_queue_audio_recordingenable_ring_group_audio_recordingenable_trunk_audio_recordingenable_virtual_receptionist_audio_recordingenable_verify_phone_auto_provisioningrecording_access_mode
Updated
<POST> /api/tenants:The
websiteproperty must now be between 1 and 128 characters.
Updated
<GET | POST> /api/tenants/:idwith the following new properties:enable_call_queue_audio_recordingenable_ring_group_audio_recordingenable_trunk_audio_recordingenable_virtual_receptionist_audio_recordingenable_verify_phone_auto_provisioningrecording_access_modeoutbound_caller_ids[].display_name
User and Extension APIs
Updated
<GET | POST> /api/userwith the following new properties:selective_call_acceptationsselective_call_rejectionstimezoneenable_selective_call_acceptationenable_selective_call_rejection
Updated
<POST> /api/usersand<POST> /api/users/create_manywith the following new properties:selective_call_acceptationsselective_call_rejectionstimezoneenable_selective_call_acceptationenable_selective_call_rejectionoutbound_caller_ids[].display_name
Updated
<POST> /api/usersand<POST> /api/users/create_many:display_nameis now required.The maximum length of
display_nameis 128 characters.
Updated
<GET> /api/users:Added
timezone.
Updated
<GET | POST> /api/users/:idwith the following new properties:selective_call_acceptationsselective_call_rejectionstimezoneenable_selective_call_acceptationenable_selective_call_rejectionoutbound_caller_ids[].display_name
Updated
<GET | POST> /api/users/:id:display_nameis now required.The maximum length of
display_nameis 128 characters.
Updated
<GET> /api/user/outbound_caller_ids:Added
items[].display_name.
Voicemail and Shared Voicemail
Updated
<GET> /api/voicemailsand<GET> /api/voicemails/:id:Added
sender_name.Added
sender_number.Marked
senderas deprecated.
Updated
<GET> /api/shared_voicemails/:id/voicemailsand<GET> /api/shared_voicemails/:id/voicemails/:mail_id:Added
sender_name.Added
sender_number.Marked
senderas deprecated.
Compatibility Notes
The
senderproperty in voicemail and shared voicemail APIs is deprecated. Usesender_nameandsender_numberinstead.The
sign_in_as_administratorproperty has been removed from<GET | POST> /api/ms365.The Feature Access Code values
ANONYMOUS_CALL_REJECTION_ACTIVATIONandANONYMOUS_CALL_REJECTION_DEACTIVATIONhave been removed.Several APIs now require
display_name, with a maximum length of 128 characters.The tenant
websiteproperty is now required and must be between 1 and 128 characters.
Version: v22.5.0
Date: March 27, 2026
Updated endpoints/fields
Modify
api/call_queues/:id/agents/:agent_numberto add thereasonfield in the response.Modify
api/user/call_queues/{queue_id}/agentto add thereasonfield in the response.
Version: v22.4.0
Date: February 10, 2026
New Endpoints:
/api/templates/soft_phone GET/api/templates/soft_phone POST/api/templates/soft_phone/{filename} POST/api/templates/soft_phone/{filename}/destroy POST/api/templates/soft_phone/{file_name} GET
Updated Endpoints/Fields:
/api/admin/ai_engine GETAdded Deepgram type.
/api/tenant GETAdded
soft_phone_templatefield.
/api/tenant POSTAdded
soft_phone_templatefield.
/api/tenants/{id} GETAdded
soft_phone_templatefield.
/api/tenants POSTAdded
soft_phone_templatefield.
/api/tenants/{id} POSTAdded
soft_phone_templatefield.
/api/users/{id} POSTAdded
soft_phone_templatefield.
/api/users POSTAdded
soft_phone_templatefield.
/api/users/{id} GETAdded
soft_phone_templatefield.
/api/crm(related interfaces)Added support for Odoo provider.
/api/mobile_push GETAdded
ios_cert_expire_at,cert_remaining_daysfields.
/api/mobile_push/{id} GETAdded
ios_cert_expire_atfield.
/api/providers POSTAdded
force_outbound_proxyfield.
/api/providers/{id} POSTAdded
force_outbound_proxyfield.
/api/providers/{id} GETAdded
force_outbound_proxyfield.
/api/dataflow/analytics/calls/user/history GETChanged the
directionfield topartyand addeddirectionfield.
/api/dataflow/analytics/calls/history GETAdded
directionfield.
Version: v22.3.0
Date: December 19, 2025
New endpoints
Added
GET/POST /api/admin/usersto create and list system-wide users.Added
GET/POST /api/admin/users/:idto retrieve and update a system-wide user by ID.Added
POST /api/admin/users/:id/usernameto change the username of a system-wide user.Added
POST /api/admin/users/:id/passwordto change the password of a system-wide user.Added
POST /api/admin/users/:id/roleto update the role of a system-wide user.Added
POST /api/admin/users/:id/destroyto remove a system-wide user.Added
GET/POST /api/admin/userto retrieve and update the currently logged-in system user.Added
POST /api/admin/user/usernameto change the username of the currently logged-in system user.Added
POST /api/admin/user/passwordto change the password of the currently logged-in system user.Added
GET/POST /api/admin/ai_engineto manage system-wide AI transcription integration.Added
POST /api/user/transcriptionto create a recording transcription for the currently logged-in user.Added
GET/POST /api/user/transcription/:idto retrieve and update a user transcription by ID.Added
POST /api/user/crm_contacts/:id/favoriteto mark a CRM contact as favorite.Added
POST /api/user/crm_contacts/:id/unfavoriteto remove favorite from a CRM contact.Added
POST /api/user/crm_contacts/sync_tokensto create a sync token for CRM contacts.Added
GET /api/user/crm_contacts/sync_tokens/:token/diffto fetch CRM contact changes (diff) using a sync token.Added
POST /api/users/create_manyto bulk create extension users.Added
POST /api/users/status/get_manyto bulk query current extension user status.Added
POST /api/transcriptionto create tenant-level recording transcriptions.Added
GET/POST /api/transcription/:idto retrieve and update a tenant transcription by ID.Added
POST /api/call_queues/:id/agents/status/get_manyto bulk query call queue agent status.Added
GET/POST /api/crmto retrieve and update tenant CRM integration configuration.Added
GET /api/crm/providersto retrieve metadata for available CRM providers.Added
POST /api/crm/testto test CRM provider configuration.Added
GET/POST /api/crm/contactsto create and list CRM contacts.Added
POST /api/crm/contacts/searchto search CRM contacts.Added
GET/POST /api/crm/contacts/:idto retrieve and update a CRM contact by ID.Added
POST /api/crm/contacts/:id/destroyto remove a CRM contact by ID.Added
GET/POST /api/crm/contacts/:id/notesto create and list notes for a CRM contact.Added
GET/POST /api/crm/contacts/:id/notes/:note_idto retrieve and update a specific note.Added
POST /api/crm/contacts/:id/notes/:note_id/destroyto remove a specific note.Added
GET /api/crm/contacts/:id/callsto list call records for a CRM contact.Added
GET/POST /api/crm/contacts/:id/calls/:call_idto retrieve and update a specific call record.Added
GET/POST /api/not_ready_codesto manage Not Ready Codes.Added
POST /api/dataflow/queues/summaryto retrieve current queue KPI summary.Added
POST /api/dataflow/queues/timeseriesto retrieve queue call timeseries data for the past N hours.Added
POST /api/dataflow/queues/agent/summaryto retrieve an agent summary for a specific queue and time range.Added
POST /api/dataflow/queues/agent/timeseriesto retrieve agent timeseries (bucketed) data for a specific queue and time range.Added
POST /api/dataflow/analytics/calls/timeseriesto retrieve call volume timeseries analytics for a specified range.Added
POST /api/dataflow/analytics/calls/historyto query Call History by conditions.Added
POST /api/dataflow/analytics/calls/user/historyto query the current user’s Call History by conditions.Added
POST /api/dataflow/analytics/calls/history/:session_idto query Call History details for a session.Added
POST /api/dataflow/analytics/calls/user/history/:session_idto query current user’s Call History details for a session.Added report job APIs:
Added
POST /api/dataflow/report_jobsto create a report job.Added
POST /api/dataflow/report_jobs/:idto update a report job.Added
GET /api/dataflow/report_jobs/:idto retrieve a report job.Added
POST /api/dataflow/report_jobs/:id/destroyto delete a report job.Added
GET /api/dataflow/report_jobs/:id/detailto retrieve report job details.Added
GET /api/dataflow/report_listto retrieve the completed report list.Added
POST /api/dataflow/report_list/:id/destroyto delete a report item.
Updated endpoints/fields
Updated
GET /api/auth/user: addeddomain,role_id,role_name, andcapabilities.Updated
/api/call_queuesand/api/call_queues/:id:Added
enable_night_mode,play_periodic_music,play_periodic_music_interval,enable_wrap_up,wrap_up_time,enable_exit_forward_rule,exit_forward_rule.Updated
status: removed optional valuesBREAKandLUNCH.
Updated
/api/inbound_rulesand/api/inbound_rules/:id: addedusage.Updated
/api/ivrsand/api/ivrs/:id: addedenable_night_mode,exclude_list.Updated
/api/providersand/api/providers/:id: addedremove_plus_prefix,tel_uri_scheme_for_request_line,tel_uri_scheme_for_to_header.Updated
/api/recordings,/api/recordings/:id,/api/user/recordings,/api/user/recordings/:id:Added AI transcription fields:
status,status_description,sentiment.
Updated
/api/ring_groupsand/api/ring_groups/:id: addedenable_night_mode.Updated
/api/roles: addedcapabilities.Updated role APIs to use
idinstead ofnamein the path:Updated
GET /api/roles/:name→ path parameter changed fromnametoid; addedid,protected,capabilities.Updated
POST /api/roles/:name→ path parameter changed fromnametoid; addedcapabilities.Updated
/api/roles/:name/destroy→ path parameter changed fromnametoid.
Updated
GET /api/tenant:Added
ai_engine,limit_app_logins,allow_password_retrieval,contact_inbound_rule_append_type,crm_provider.Updated
password_policy.
Updated
POST /api/tenant:Added
contact_inbound_rule_append_type,ai_transcript.Updated
password_policy.
Updated
GET /api/tenants: addedcurrent_extensions; updatedpassword_policy.Updated
POST /api/tenants:Added
limit_app_logins,allow_password_retrieval,ai_engine,contact_inbound_rule_append_type.Updated
password_policy.
Updated
GET /api/tenants/:id: addedlimit_app_logins,ai_engine,allow_password_retrieval,contact_inbound_rule_append_type.Updated
POST /api/tenants/:id: addedai_engine,limit_app_logins,allow_password_retrieval,contact_inbound_rule_append_type.Updated
GET /api/user: addedrole_id,role_name,enable_ai_transcript,enable_uc_app,enable_teams_phone_app.Updated
POST /api/user: addedenable_ai_transcript,enable_uc_app,enable_teams_phone_app.Updated
POST /api/user/call_queues/:id/agent: addedreason.Updated
GET /api/users: addedrole_id,role_name.Updated
POST /api/users: addedenable_ai_transcript,enable_uc_app,enable_teams_phone_app,phones.Updated
GET /api/users/:id: addedrole_id,role_name,enable_ai_transcript,enable_uc_app,enable_teams_phone_app,password,extension_password.Updated
POST /api/users/:id: addedenable_ai_transcript,enable_uc_app,enable_teams_phone_app.Updated
/api/users/:id/phonesand/api/users/:id/phones/:phone_id: addedall_codecs.Updated
/api/cdrs,/api/cdrs/:id,/api/user/cdrs,/api/user/cdrs/:id,/api/calllogs,/api/calllogs/:id:Expanded
reroute_reasonenum values to include:CAPACITY_BLOCKED,QUEUE_EXIT,QUEUE_ABANDONED,REDIRECT,FORWARDING_UNCONDITIONAL,FORWARDING_BUSY,FORWARDING_NO_ANSWER,FORWARDING_NOT_REACHABLE,FORWARDING_EXCEPTION,FORWARDING_LUNCH,FORWARDING_BUSINESS_TRIP,FORWARDING_AWAY,FORWARDING_NIGHT_MODE.
Updated
/api/ivrs,/api/ivrs/:id,/api/shared_voicemails,/api/shared_voicemails/:id:pinlength is now determined by the tenant password policy.
Updated
/api/user,/api/users,/api/users/:id:pinandvoicemail_pinlength is now determined by the tenant password policy.
Updated
/api/users/:id/statusand/api/user/status:Updated
status: removedON_CALL, addedOTHER_CALL.Updated
presence: removedAVAILABLEandON_CALL; addedONLINE,OTHER_CALL,RINGING.
Updated
/api/users/export: permission requirement changed toUser.FullAccess.Updated
/api/providers/export: permission requirement changed toTrunk.FullAccess.Updated
/api/ip_filters/export: permission requirement changed toSystemSettings.FullAccess.Updated
/api/exclusive_numbers: permission requirement changed toPhoneSystem.FullAccess.Updated
/api/vip_numbers: permission requirement changed toPhoneSystem.FullAccess.Updated
/api/call_queue_blacklisted_numbers: permission requirement changed toPhoneSystem.FullAccess.Updated
/api/contacts: permission requirement changed toCompanyContact.FullAccess.Updated
/api/inbound_rules: permission requirement changed toPhoneSystem.FullAccess.Updated
/api/outbound_rules: permission requirement changed toPhoneSystem.FullAccess.Updated
/api/disallowed_codes: permission requirement changed toPhoneSystem.FullAccess.Updated
/api/blacklisted_numbers: permission requirement changed toPhoneSystem.FullAccess.Updated
/api/call_rates: permission requirement changed toBilling.FullAccess.Updated
/api/users/:idrestrictions:Only system-wide users and tenant-scope Admin-role users may update an Admin user’s: enable/disable flag, user password, SIP password, and PIN.
Updated
/api/users/:id/destroyrestrictions:Only system-wide users may delete Admin-role users.
Updated
/api/voicemails: added AI transcription fieldstranscription_status,transcription_status_desc,transcription_sentiment.Updated
/api/recordings/:id: added AI transcription fieldsstatus,status_description,sentiment.Updated
/api/sms: addedprepend_add.
Removed endpoints
Removed
/api/admin/username.Removed
/api/admin/password.
Last updated
Was this helpful?