The NFON CTI API extends the NFON telephone system with a powerful interface for Computer Telephony Integration (CTI). It provides advanced capabilities such as call control, event streaming, and device management, enabling seamless integration of cloud telephony with third-party business applications and collaboration tools. Designed for server-to-server communication, it works with any device — hardphone, softphone, or mobile app — and empowers developers to create customised solutions that enhance communication and collaboration.
Whether you're enriching CRM workflows, synchronising user availability across platforms, or automating call handling, this API makes it possible to bring telephony seamlessly into your digital ecosystem.
- Contact pop-ups triggered by incoming calls (e.g. opening a CRM record)
- Displaying caller previews with enriched CRM data
- Synchronising line status across communication tools and calendars
- Starting and ending calls directly from third-party applications
- Defining custom ringtones for internal, external, or VIP calls
- Streaming call events for analytics and reporting
By accessing and using the NFON CTI API, you agree to the terms of use.
- Please subscribe to
API Breaking Changeson the NFON Status page for updates. - Please refer to the latest API documentation.
The CTI API has been designed for incoming and outgoing calls. Currently, the only officially supported use case for which the CTI API has been tested and released is for incoming calls that are directly received by an extension connected to a single device.
Functions currently not supported:
- Group calls
- Skill-based calls
- Queue-based calls
- Call scenarios in which a call is forwarded
- Conferences with several participants using multiple devices per extension. Only one device may be assigned to each extension.
We are continually making improvements to support additional call scenarios and to optimise the authentication process. If these developments introduce a risk of failure to other components (i.e. a 'breaking change'), we will notify you well in advance.
NFON is committed to helping you integrate successfully with our APIs. Depending on the type of request or issue, please use the following channels:
Got ideas to improve the API? Submit feature suggestions via Airfocus:
For best practices, implementation guidance, and community support:
- Join the NFON Partner Portal
- Contact your assigned sales representative
For technical issues or suspected bugs, please contact NFON Support directly.
Check the official API documentation for latest endpoint references.
- Base URL: https://providersupportdata.cloud-cfg.com/
- Architecture: RESTful API
- Data Format: JSON
The NFON CTI API provides endpoints to manage and monitor phone extensions in real time.
Below is an overview of the most commonly used functions:
Endpoint: GET: /extensions/phone/data
Retrieves all configured extensions for a tenant (K-Account), including the extension number and assigned name.
Useful for displaying or synchronizing PBX configuration data.
Endpoint GET: /extensions/phone/states
Retrieves the current line status (e.g., offline, ringing, in-use) of all configured extensions, either as one-time snapshot or continuous stream.
This enables third-party applications to display real-time user availability.
In streaming mode, the endpoint first returns the full set of extension states, followed by real-time updates.
Endpoint POST: /extensions/phone/calls
Initiates an outgoing call for a specific extension.
The API first dials the A-number (caller). Once accepted, it connects the call to the B-number (callee).
You can specify which device should ring for the A-number.
Returns a UUID that uniquely identifies the call and can be used to end it later.
Endpoint DELETE: /extensions/phone/calls/{uuid}
Terminates a call started via the API, identified by the UUID returned by the Start a Call endpoint.
Endpoint GET: /extensions/phone/calls
Streams all incoming and outgoing call events for a tenant (K-Account) in real time.
Ideal for live monitoring dashboards or analytics integrations.
Unlike the Read Line Status endpoint, the initial connection does not return the current status of all extensions — only new call events after connection.
For complex environments, it is necessary to take into account the Supported uses cases indicated above.
To use the NFON CTI API, you must first obtain an API Username and API Password.
You can request access on the NFON CTI API product page
The NFON CTI API uses the Authorization HTTP header with a Access Token for secure access to each endpoint. For security reasons, this token expires after 5 Minutes of its creation. You can use the Refresh Token to get a new pair of Access and Refresh Token.
Authorization: Bearer eyJhbGciOiJSUzUxMiIsImtpZCI6ImVkODEwMDM4MGUwMjE1ODkzZTZmMWU3ZThhMDBhYWFkODQ3NGFiYzA1NDNhNzg2ZTk2OGM0ZjExYTZkMmVjOGIiLCJ0eXAiOiJKV1...You can create a new pair of Access and Refresh token by sending your API Username and API Password to the /login POST-endpoint of the CTI API.
curl --location 'https://providersupportdata.cloud-cfg.com/v1/login' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--data-raw '{
"username": "<YOUR API USERNAME>",
"password": "<YOUR API PASSWORD>"
}'
You can get a new pair of Access and Refresh token by sending your Refresh Token to the /login PUT-endpoint of the CTI API.
curl --location --request PUT 'https://providersupportdata.cloud-cfg.com/v1/login' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer eyJhbGciOiJSUzUxMiIsImtpZCI6ImVkODEwMDM4MGUwMjE1O...'
Below you’ll find working examples for API operations using various programming languages. These are designed to help you get started quickly and understand how to authenticate and interact with the NFON CTI API.
💡 Cannot find your programming language of choice? We recommend you to use an AI assistant to rewrite the examples to other programming languages.
