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) |