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
GET /services/:csi/outgoing_call_detail Retrieves a list of outgoing call detail records from this telephony service
GET /services/:csi/blacklist Retrieves the blacklist of a specific CSI (Common Service Identifier), 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 CSI (Common Service Identifier), 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 /incoming_call_detail Retrieves a list of incoming call detail records to this account's telephony services
GET /outgoing_call_detail Retrieves a list of outgoing call detail records from this account's telephony services

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 VoIP account profile is a set of properties you can define on your account. Several profiles can be created and can be forced at will (or depending on a time condition).
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.

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.