Authentication

All PulsePoint Life APIs utilize the same mechanism for authenticating against the services. Please use the API reference to test out your keys and interact with the API's authentication.

Contact your PulsePoint representative to obtain an API "Client ID" and "Client Secret" to be used on the authorization end point. Once you have your ID and secret, you will use your preferred means of making REST API calls. We use curl below for general demonstration of the API.

Step 1 — Obtain an Access Token

Send your credentials to the token endpoint using Basic Auth (base64-encoded client_id:client_secret) along with your Life username and password.

Endpoint

POST https://lifeapi.pulsepoint.com/RestApi/oauth/token

Request Parameters

ParameterLocationRequiredDescription
AuthorizationHeaderyesBasic Auth — base64-encoded client_id:client_secret
Content-TypeHeaderyesMust be application/x-www-form-urlencoded
grant_typeBodyyesMust be password for initial token request
usernameBodyyesYour Life platform username
passwordBodyyesYour Life platform password

Example Request

curl --request POST \
     --url https://lifeapi.pulsepoint.com/RestApi/oauth/token \
     --header 'accept: application/json' \
     --header 'authorization: Basic ODkxMDAxODA6Mzk4MDI4MDI=' \
     --header 'content-type: application/x-www-form-urlencoded' \
     --data grant_type=password \
     --data username=your_username \
     --data password=your_password

Step 2 — Extract Tokens from the Response

A successful request returns a JSON response containing your access and refresh tokens.

Example Response

{
  "access_token": "49923c00-bfca-4591-a54a-b308dc811a76",
  "token_type": "bearer",
  "refresh_token": "22bedfd4-62d3-42bc-9467-668b20966110",
  "expires_in": 6000,
  "scope": "read write"
}

Response Field List

FieldTypeDescription
access_tokenstringThe bearer token to include in all subsequent API requests
token_typestringAlways bearer
refresh_tokenstringUsed to obtain a new access token without re-entering credentials. Valid for 7 days (604800 seconds)
expires_inintegerSeconds until the access token expires. The access token is valid for 100 minutes (6000 seconds)
scopestringThe access scope granted to this token

Step 3 — Make API Calls

Include the access token in the Authorization header for all subsequent API requests.

curl --location 'https://lifeapi.pulsepoint.com/RestApi/v2/account/{accountId}/campaigns' \
--header 'Authorization: Bearer <access_token>'

Refreshing Your Token

Access tokens expire after 100 minutes. If your session will exceed this duration, use your refresh token to obtain a new access token without re-entering your username and password.

Request Parameters

ParameterLocationRequiredDescription
AuthorizationHeaderyesBasic Auth — base64-encoded client_id:client_secret
Content-TypeHeaderyesMust be application/x-www-form-urlencoded
grant_typeBodyyesMust be refresh_token
refresh_tokenBodyyesThe refresh token returned in your original token response

Example Request

curl --request POST \
--url 'https://lifeapi.pulsepoint.com/RestApi/oauth/token' \
--header 'content-type: application/x-www-form-urlencoded' \
--user '$client_id:$client_secret' \
--data grant_type=refresh_token \
--data refresh_token=$REFRESH_TOKEN

Note: Refresh tokens are valid for 7 days. If your refresh token has also expired, you will need to repeat Step 1 with your username and password to obtain new tokens.