The Oliver Developer Hub

Using Oliver, our emotionAI API, developers can directly benefit from this growing emotional intelligence, measure emotions and behaviors in conversations, and utilize our continuously evolving robust analytics in their own applications.

Either that involves development of a VA for a business, an interactive game for children, a voice-controlled speaker for the home, or a social robot designated to assist the elderly, incorporating emotion-aware spoken language understanding will supercharge your users’ experience.

Get Started    API Reference

Submit audio file

Submit a new process using audio file upload

You can upload an audio file to start a new processing request. The audio file can be wav, mp3 or other non-proprietary audio encoding formats.

The client ID of the Oliver API service user must be provided as a path parameter (long: {cid}). The cid is assigned when the customer first registers for the service. Apart from this required field, the user must provide the audio file (form: file) as form multi-part data parameter in the body of the request, the number of channels that the audio file contains, single or two channels (int: channels) and the type of call (incoming vs. outgoing). Optional information about the incoming request can be provided via additional query parameters. It is highly recommended to provide as many of these metadata fields as possible to improve Oliver's performance. The agent ID (string: agentId), agent’s team (string: agentTeam), customer ID (string: customerId), customer industry (string: customerInd) and campaign ID (string: campaignId) can be provided on the request as query parameters. It is possible to provide a name for the job (string: name), the ANI (string: ANI) associated with the call, the call type (string: calltype), the call time (datetime: calltime) and timezone (int: timezone)

When the request is sent to the API service, the user will get a JSON response that will either contain the new process that was inserted in the system for processing in case of success or an error code in case an error occurred. On successful insertion, the response contains the unique process ID (long: id) given by the system that is necessary for the user to access the state and the result of the processing. It also includes the fields that were given by the user, fields that show the state of processing and results fields that are set to default values and will be updated during processing by the system.

In case a new incoming request cannot be inserted into the system for processing, an error is returned so the user is informed that his/her request failed and should be re-submitted later. An example error response, in case the system cannot queue the incoming job, is the following:

{"code":503,"message":"The service is not available at the moment. Please try again later."}

Updated less than a minute ago


Submit audio file


Submit a new process using audio file upload

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.