VoiceTrends API

Overview

The VoiceTrends API provides programmatic access to underlying raw data:

Base URL

The base URL for all API requests is: https://voicetrends.plumvoice.com/api/

Authentication

Note: Users can share phone numbers to other users in their account and view data for those numbers in the VoiceTrends web interface. However, only the phone number owner can access the number's data via API.

The VoiceTrends API utilizes a two-step authentication process. First, authenticate using tool-specific credentials. Users that have both DEV and Fuse accounts must authenticate each one separately. Users that only use one or the other need to authenticate with that tool. This tool-specific authentication generates a new set of temporary authentication credentials. You then use the temporary credentials to fetch data from VoiceTrends. The temporary credentials expire 24 hours after their last use. If you fetch data on a consistent basis you will be able to use your credentials indefinitely, however, it is considered best practice to re-authenticate every 24 hours. All data API requests authenticate using HTTP Basic Authentication using the temporary credentials created by a call to the Authenticate resource. Any data requests made without this HTTP Basic Authentication header or with invalid credentials return an HTTP 401 Unauthorized error. The body of the error message provides details about what went wrong with the request.

Supported Accept Headers

The API method honors the following Accept header values. These determine the Content-Type and the representation for the response:

  • application/json

  • application/xml

Specifying an Accept header other than these values returns a Content-Type of 'application/json' by default.

Rate Limiting

The VoiceTrends APIs utilize rate limiting for both authentication and data requests. For every 15-minute interval, users can make 15 authentication attempts and a total of 150 data requests per authenticated account. Rate limiting details are provided directly in header responses for all API requests as follows:

X-RateLimit-Limit: 15
X-RateLimit-Remaining: 14
X-RateLimit-Reset: 1519398000
  • X-RateLimit-Limit is the hard-coded limit for the resource you are requesting.

  • X-RateLimit-Remaining is the total number of requests you have left for the current 15-minute window.

  • X-RateLimit-Reset is the unix timestamp for when the current 15-minute window expires.

Please note: all data requests are tied to a single rate-limit counter. This means you are allotted 150 total requests across all data resources for a given authenticated account. Additionally, the remaining count does not reset if you attempt to re-authenticate.