Manager API

The Keyyo Manager API is a RESTful interface allowing you to query and configure settings for most Keyyo services, such as changing the redirect settings on your VoIP account profiles, retrieving the call detail records of your collaborators or configuring their blacklist.

SDK

Even if you can invoke Manager API using REST directly, a beta version of the Keyyo Manager PHP client is available for download in order to easily query the data you require from your own PHP application.

A complete sample is also available on the GitHub project page.

Keyyo uses an OAuth2 authorization system. To access our REST API, you must retrieve an access token, which you will need to pass to all your calls.

First, you will want to register your app. The Authorize URL and the Access token URL which you will find there follow the standard OAuth2 pattern.

Resources

Services

Services subscribed by the customer

Endpoint Description
GET /services Retrieves a list of subscribed services, optionally filtered.
GET /services/:csi Retrieves the specified service based on its CSI (Common Service Identifier).
GET /services/:csi/usage_stats Retrieves available usage statistics for the given service.
(Services with an unlimited plan don't have usage statistics.)
POST /services/:csi Updates a service based on its CSI (Common Service Identifier).
GET /services/:csi/profiles Retrieves the profile list available for the specified service.
POST /services/:csi/profiles Creates a service profile.
GET /services/:csi/profiles/:profile_identifier Retrieves a service profile from its identifier.
(Note that there's a default profile.)
POST /services/:csi/profiles/:profile_identifier Updates a service profile.
DELETE /services/:csi/profiles/:profile_identifier Deletes a service profile.
POST /services/:csi/csi_token Generate a CSI token, which is an access token linked to a CSI with a lifetime of 1 hour.
(This token allows you to use the Keyyo CTI API.)
GET /services/:csi/cti_plugins Retrieves the list of CTI plugins available on this account.
GET /services/:csi/cti_plugins/:plugin_name Retrieves the specified CTI plugin.
POST /services/:csi/cti_plugins/:plugin_name Enables or disables the specified CTI plugin.
GET /services/:csi/cti_plugins/:plugin_name/parameters Retrieves the specified CTI plugin's parameters.
GET /services/:csi/cti_plugins/:plugin_name/parameters/:parameter_name Retrieves the specified CTI plugin parameter.
POST /services/:csi/cti_plugins/:plugin_name/parameters/:parameter_name Updates the value of the specified CTI plugin's parameter.
GET /services/:csi/available_upgrades Retrieves the list of available upgrades (new offers) for this service.
POST /services/:csi/upgrade Upgrades the service to the specified target offer.
GET /services/:csi/provisioning_tasks Retrieves a list of provisioning tasks requested on this service.
POST /services/:csi/reset_password Reset the CSI (Common Service Identifier) password.
GET /services/:csi/call_barring_groups Retrieve the list of call barring groups available for a specific CSI (Common Service Identifier).
GET /services/:csi/call_barred_groups Retrieve the call barred group list of a specific CSI (Common Service Identifier).
PUT /services/:csi/call_barred_groups Update the call barred group list of a specific CSI (Common Service Identifier).
GET /services/:csi/incoming_call_detail Retrieves a list of incoming call detail records to this telephony service.
(Parameters must be passed using a parameter-value array.)
GET /services/:csi/outgoing_call_detail Retrieves a list of outgoing call detail records from this telephony service.
(Parameters must be passed using a parameter-value array.)
GET /services/:csi/blacklist Retrieves the blacklist of a specific service, i.e. the list of phone numbers that are not allowed to call this CSI.
(If anonymous calls are included, "anonymous" will be listed in the results.)
POST /services/:csi/blacklist Set the blacklist of a specific service, i.e. the list of phone numbers that are not allowed to call this CSI.
(You can blacklist up to 20 numbers and block anonymous calls by including "anonymous" in the list.)
GET /services/:csi/sip_records Retrieves the list of SIP recordings for the given service.
GET /services/:csi/voicemails Retrieve the lists of voicemails of the specified service.
GET /services/:csi/voicemails/default Retrieves the default voicemail of a service.
GET /services/:csi/voicemails/default/available_answering_audio_files Retrieves the list of available answering audio files on the specified voicemail.
GET /services/:csi/voicemails/default/available_recording_audio_files Retrieves the list of available recording audio files on the specified voicemail.
GET /services/:csi/voicemails/default/unread_messages Retrieves the list of unread messages on this voicemail. Only available when authenticated as a contact.
GET /services/:csi/voicemails/default/unread_messages/:identifier Retrieves an unread voicemail message based on its identifier. Only available when authenticated as a contact.
DELETE /services/:csi/voicemails/default/unread_messages/:identifier Deletes an unread voicemail message based on its identifier. Only available when authenticated as a contact.
GET /services/:csi/voicemails/default/read_messages Retrieves the list of read messages on this voicemail. Only available when authenticated as a contact.
GET /services/:csi/voicemails/default/read_messages/:identifier Retrieves a read voicemail message based on its identifier. Only available when authenticated as a contact.
DELETE /services/:csi/voicemails/default/read_messages/:identifier Deletes a read voicemail message based on its identifier. Only available when authenticated as a contact.
GET /incoming_call_detail Retrieves a list of incoming call detail records to this account's telephony services.
(Parameters must be passed using a parameter-value array.)
GET /outgoing_call_detail Retrieves a list of outgoing call detail records from this account's telephony services.
(Parameters must be passed using a parameter-value array.)

Directory

Directory of the customer containing all his contacts

Endpoint Description
GET /directory_branches Retrieves the list of branches belonging to the directory.
POST /directory_branches/:branch_id/sub_branches Creates a branch.
DELETE /directory_branches/:branch_id Deletes a specific branch based on its unique identifier.
GET /directory_branches/:branch_id Retrieves a specific branch based on its unique identifier.
PUT /directory_branches/:branch_id Updates a specific branch based on its unique identifier.
GET /directory_branches/:branch_id/contacts Retrieves the contacts of a specific branch.
GET /directory_branches/:branch_id/contacts_diff
POST /directory_branches/:branch_id/contacts Creates a contact within a specific branch.
GET /directory_branches/:branch_id/sub_branches Retrieves the list of sub branches belonging to a specific branch.
GET /directory_branches/:branch_id/sub_branches_diff
GET /directory_contacts Retrieves the list of contacts belonging to the directory.
GET /directory_contacts/:uid Retrieves a specific contact based on its unique identifier.
PUT /directory_contacts/:uid Updates a specific contact based on its unique identifier.
DELETE /directory_contacts/:uid Deletes a specific contact based on its unique identifier.

Types

Name Description
UCaaSVoIPAccount A centrex --more formally known as "Unified Communications as a Service"-- SIP VoIP account
NumberTranslation A number translation account
EmailAccount An email account
DSLAccess DSL access base class
FaxTransfer A fax transfer
ACDService A call group service
MobileAccount A mobile phone account
VirtualFaxAccount A virtual fax account
Profile A Keyyo service profile
(Can be one of VoIPAccountProfile or ACDProfile)
VoIPAccountProfile A set of properties you can define on your account
(Several profiles can be created and can be forced at will)
ACDProfile An ACDProfile is a set of settings you can change to use your ACD service
CSIToken A CSI token associated with a VoIP account
CTIPlugin A CTI plugin allows you to enable/disable and parameter Computer-Telephony Integration functionality on your VoIP account (UCaaSVoIPAccount service type)
CTIPluginParameter A plugin parameter, represented by a key-value pair
CallDetailRecord A call detail record stores data about a call coming from or received by one of this account's telephony services
ProvisioningTask A service task which was or will be executed
ServiceUpgrade The result of a successful service upgrade request
CallBarringGroup A call baring group is used to block certain incoming or outgoing calls
Offer A Keyyo offer
Number A phone number
DirectoryBranch A branch (i.e. folder) belonging to the directory
DirectoryContact A contact (i.e. person and his information) belonging to the directory
MinutePlanStatistic Information relative to the minute plan of a service
DataUsageStatistic Information relative to the data plan of a service
SIPRecord A client SIP recording
Voicemail A service's voicemail.
AudioFile An audio file available on a service's voicemail.
VoicemailMessage A read or unread message on a service's voicemail.

Scopes

Scopes are strings that enable access to specific resources. Please refer to the OAuth Documentation for additional information.

Name Description
full_access Full access in read/write mode to the entire Manager API
full_access_read_only Full read-only access to the entire Manager API
voip_profiles_admin VoIP Profiles administration
(Allows you to create, edit and/or delete your VoIP accounts' profiles)
cti_admin Computer-Telephony Integration (CTI) administration
(Allows you to generate CSI tokens and manage CTI plugins on your SIP accounts)