Authorization

Productiv API uses OAuth to authenicate API requests. In order to use the API, Productiv will provide you with your OAuth credentials.

OAuth credentials use Client ID and Client Secret for authentication. The Client ID is issued to uniquely identify the client within an HTTP auth header. The Client Secret should be stored and securely passed into request headers.

Setup

The app credentials needed to query Productiv API are generated and provided to you by Productiv. If you do not already have these token, please write to us at support@productiv.com.

The app credentials provided would contain the Client ID and a Client Secret. Once you have your app credentials, you can use your Client ID and Client Secret to make a request for an access token. This is the token that you will use to make subsequent requests to all the APIs, when pushing usage events and user information.

Access Token Endpoint

POST https://login.api.productiv.com/oauth2/token

Include the following headers and query parameters along with your requests:

Headers

Parameter Value Description
content-type application/x-www-form-urlencoded
Authorization authorization_header The authorization_header value should be computed as Basic base64(client_id:client_secret)

Params

Parameter Value Description
grant_type client_credentials
scope requested_scope Use https://api.productiv.com/connector.write for the value of requested_scope

Response

If the request is successful, a JSON response will be returned. This JSON object will contain the access token that can be used to make the API requests going forward and also the time until the access token expires.

The following response parameters will be returned:

Parameter Description
access_token The token you will use to make API requests.
token_type The type of token that will be sent to make requests.
expires_in Time in seconds until the access token expires. Once expired you can use this endpoint to generate a new access token.

Example Response Schema

{
    "access_token": "eyJraWQiOiJMUnB3MXVoZWE2Q2V3OGpGK1",
    "expires_in": 3600,
    "token_type": "Bearer"
}