Achievers for Developers

Suggest Edits

achievements

 

With Achievements, users are empowered with the ability to self-report specific accomplishments. They can tag colleagues to record their involvement, add the date, and attach a photo or relevant link. They can log their team’s successes as they happen, and their manager will get notified right away. Achievements are collected in user profiles, making it easy for their colleagues to recognize their success.

 
Suggest Edits

/achievements

Create an Achievement. Include information about the user creating the Achievement as well as the recipients. Achievements can be copied to users' managers and include images. This endpoint requires an access token with a requested scope of 'write'.

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
posthttps://example.sandbox.achievers.com/api/v5/achievements

Form Data

creator
string

The user who will be listed as the creator of the Achievement. The Achievement will be created on the behalf of the client if the creator is not provided.

participants
array of strings
required

A list of the participants of the Achievement

description
string
required

The decription of the Achievement that will appear in the newsfeed

dateAchieved
date

Date of the achievement as defined by full-date - RFC3339. Eg. 2017-01-25

points
integer

The number of points to be given to each participant of the Achievement

adjustedForUserCountry
boolean

Determines if the specified points amount is relative to the program's home currency (true) or to the participant's local currency (false). If set to false, the system automatically applies any and all relevant foreign exchange and purchasing power parity rates that are set for the program. The default setting is false.

notifyManagers
boolean

Determines whether the managers of the participants will be notified about the creation of the Achievement. The default setting is true.

postOnNewsfeed
boolean

Determines whether the Achievement will appear on the company newsfeed. The default setting is true.

shareWith
array of strings

A list of users that will receive a notification when the Achievement is created.

link
string

A URL to be attached to the achievement

fileUploadId
integer

The unique Id of the uploaded file, as returned by the /uploads endpoint.

useUserIds
boolean

Determines if any user-identifying parameter accepts a numeric user ID such as '1234' (true), or a username such as john.smith (false). The default setting is false.

 
curl --request POST \
  --url https://example.sandbox.achievers.com/api/v5/achievements
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/achievements",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'POST',
  url: 'https://example.sandbox.achievers.com/api/v5/achievements' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/achievements")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://example.sandbox.achievers.com/api/v5/achievements");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/achievements"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": 136671,
  "creator": {
    "id": 14350137,
    "name": "Brady Garfinkel",
    "profileImageUrl": "https://example.sandbox.achievers.com/resources/icons/user/icon_med.jpg",
    "href": "https://example.sandbox.achievers.com/api/v5/users/14350137",
    "method": "GET",
    "rel": "creator"
  },
  "participants": [
    {
      "id": 15461248,
      "name": "Adele Olson",
      "profileImageUrl": "https://example.sandbox.achievers.com/resources/icons/user/icon_med.jpg",
      "href": "https://example.sandbox.achievers.com/api/v5/users/15461248",
      "method": "GET",
      "rel": "participant"
    }
  ]
}
{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
Suggest Edits

/achievements/{achievementId}

Delete an Achievement. Removes the associated newsfeed event and reverses points if applicable. This endpoint requires an access token with a requested scope of 'write'.

 

OAuth2 Auth

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
deletehttps://example.sandbox.achievers.com/api/v5/achievements/achievementId

Path Params

achievementId
integer
required

The unique Id of the Achievement that is being deleted

 
curl --request DELETE \
  --url https://example.sandbox.achievers.com/api/v5/achievements/achievementId
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/achievements/achievementId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://example.sandbox.achievers.com/api/v5/achievements/achievementId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/achievements/achievementId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://example.sandbox.achievers.com/api/v5/achievements/achievementId");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/achievements/achievementId"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "code": 1,
  "message": "DELETE OK"
}
{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
Suggest Edits

newsfeed-events

 

The activity in a program is shared in the Newsfeed, a central location where all program events, such as recent recognitions and achievements are shared as they happen. The Newsfeed enables everyone to see and celebrate the successes all around them. The Newsfeed is also interactive. Users can contribute to the conversation with options to Like, add a Comment, or give a Boost, if available for that program.

 
Suggest Edits

/newsfeed-events/{newsfeedEventId}/boosts

Returns information about the user(s) who have given the specified newsfeed event a Boost.

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
gethttps://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/boosts

Path Params

newsfeedEventId
integer
required

The unique Id of the Newsfeed Event

 
curl --request GET \
  --url https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/boosts
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/boosts",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'GET',
  url: 'https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/boosts' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/boosts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/boosts");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/boosts"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
Suggest Edits

/newsfeed-events/{newsfeedEventId}/likes

Returns information about the user(s) who have liked the specified newsfeed event.

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
gethttps://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/likes

Path Params

newsfeedEventId
integer
required

The unique Id of the Newsfeed Event

 
curl --request GET \
  --url https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/likes
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/likes",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'GET',
  url: 'https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/likes' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/likes")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/likes");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId/likes"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
Suggest Edits

/newsfeed-events/{newsfeedEventId}

Returns information about an individual newsfeed event in the program. Information returned includes event type, event text, list of participants, number of comments, etc. This endpoint does not return a list of newsfeed events.

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
gethttps://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId

Path Params

newsfeedEventId
integer
required

The unique Id of the Newsfeed Event

 
curl --request GET \
  --url https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'GET',
  url: 'https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/newsfeed-events/newsfeedEventId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
Suggest Edits

/newsfeed-events

Returns information about one or more newsfeed events in the program. For each event, information returned includes event type, event text, list of participants, number of comments, etc. The response can be filtered by date(s), user, and event type.

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
gethttps://example.sandbox.achievers.com/api/v5/newsfeed-events

Query Params

eventType
string

Filter the returned events by type

startDate
date-time

The beginning of the date range for which the events will be returned. The default is 3 months prior to the current date. Date format is YYYY-MM-DDTHH:mm:ssZ. For example, 2018-06-14T21:01:00-05:00.

endDate
date-time

The end of the date range for which the events will be returned. The default is the current date. Date format is YYYY-MM-DDTHH:mm:ssZ. For example, 2018-06-14T21:01:00-05:00.

userId
string

If provided, only the events in which the user participated will be returned

useUserIds
boolean

Determines if any user-identifying parameter accepts a numeric user ID such as '1234' (true), or a username such as john.smith (false). The default setting is false.

page
integer

The page of results to retrieve

pageSize
integer

The number of results to return per page

 
curl --request GET \
  --url https://example.sandbox.achievers.com/api/v5/newsfeed-events
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/newsfeed-events",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'GET',
  url: 'https://example.sandbox.achievers.com/api/v5/newsfeed-events' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/newsfeed-events")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.sandbox.achievers.com/api/v5/newsfeed-events");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/newsfeed-events"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
Suggest Edits

recognitions

 

Recognition enables everyone to acknowledge and thank each other for living company values, for creating a better place to work, and for helping the organization achieve success. Publicly recognizing colleagues with meaningful words is a powerful way to express how much one values their actions and achievements. Of course, it's a great way for their own actions and achievements to be celebrated too! Depending on how the program is set up, users will have one or more ways to recognize and to be recognized. The recognition types that a user has access to may vary.

 
Suggest Edits

/recognitions

Create recognitions. Specify information about the user giving the recognition (nominator) as well as the recipients (nominees), and the criteria (criterionId) for sending the recognition. Recognitions can be shared with a user's manager and with other users. Recognitions can also include images. This endpoint requires an access token with a requested scope of 'write'."

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
posthttps://example.sandbox.achievers.com/api/v5/recognitions

Form Data

nominees
array of strings
required

A list of nominees, the recipients of the Recognition

recognitionText
string
required

The message of the Recognition from the Nominator to the Nominees that will appear in the newsfeed

criterionId
integer
required

The criterion for which the Recognition is being created

shareWith
array of strings

A list of members who will be notified when the Recognition is posted

notifyManagers
boolean

Determines whether the managers of the nominees will be notified when the Recognition is posted. The default setting is true.

delayDate
date-time

A date in future when the recognition will be posted.

yammerGroupId
integer

The Yammer group to post to the Recognition being created

achievementId
integer

The achievment for which the Recognition is being created

customFields
string

A json string containing custom field key-value pairs. For types 'text' and 'text box' the format is {customFieldId: value}. For 'dropdown' type the format is '{customFieldId: optionId}'. For 'checkbox' type the format is '{customFieldId: [optionId_1, optionId_2]}' where optionId_1 and optionId_2 are the selected options. Multiple custom fields are passed in as follows : '{customFieldId_1: value, customFieldId_2: value}'

showOnNewsfeed
boolean

Determines whether the Recognition will appear on the newsfeed. The default setting is true.

fileUploadId
integer

The unique Id of the uploaded file, as returned by the /uploads endpoint.

link
string

A URL to be attached to the recognition

points
integer

The number of points to be awarded to each nominee

useUserIds
boolean

Determines if any user-identifying parameter accepts a numeric user ID such as '1234' (true), or a username such as john.smith (false). The default setting is false.

 
curl --request POST \
  --url https://example.sandbox.achievers.com/api/v5/recognitions
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/recognitions",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'POST',
  url: 'https://example.sandbox.achievers.com/api/v5/recognitions' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/recognitions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://example.sandbox.achievers.com/api/v5/recognitions");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/recognitions"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": 85994936,
  "recognitionText": "Awesome job on your presentation yesterday. Keep up the great work!",
  "dateCreated": "2017-02-19T14:22:13-05:00",
  "status": "APPROVED",
  "pointsAwarded": 0,
  "newsfeedEventId": 71423136,
  "newsfeedEventURL": "https://example.sandbox.achievers.com/event/71423136/bcdfkmnqrsvy34abcdefgijlmnrtwy12/",
  "nominator": {
    "id": 10726846,
    "name": "Brady Garfinkel",
    "profileImageUrl": "https://example.sandbox.achievers.com/resources/icons/user/icon_med.jpg",
    "href": "https://example.sandbox.achievers.com/api/v5/users/10726846",
    "method": "GET",
    "rel": "nominator"
  },
  "nominees": [
    {
      "id": 10726811,
      "name": "Adele Olson",
      "profileImageUrl": "https://example.sandbox.achievers.com/resources/icons/user/icon_med.jpg",
      "href": "https://example.sandbox.achievers.com/api/v5/users/10726811",
      "method": "GET",
      "rel": "nominees"
    }
  ],
  "criterion": {
    "de-DE": "Ein Dankeschön",
    "en-GB": "A thank you",
    "en-US": "a Thank You",
    "es-ES": "Gracias es una palabra mágica",
    "es-MX": "un agradecimiento",
    "fr-CA": "Merci",
    "fr-FR": "Un grand merci",
    "it-IT": "un Grazie",
    "ja-JP": "感謝の気持ち",
    "ko-KR": "감사하기",
    "nl-NL": "Een bedankje",
    "pt-BR": "Um obrigado",
    "pt-PT": "Um Obrigado",
    "ru-RU": "Благодарность",
    "th-TH": "คำขอบคุณ",
    "vi-VN": "Một lời Cảm ơn",
    "zh-CN": "表达感谢",
    "zh-TW": "一個簡單的致謝"
  }
}
{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
Suggest Edits

/recognitions

Returns what recognition criteria (recognition values) a user is eligible to send. The set of recognition options available for a specific user varies, with each user having a different set of recognition values that they have permission to send to other users. Also returns the point value associated with each criterion (0 for non-monetary, non-0 for monetary)

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
optionshttps://example.sandbox.achievers.com/api/v5/recognitions

Query Params

nominees
array of strings

A list of nominees, the recipients of the Recognition

useUserIds
boolean

Determines if any user-identifying parameter accepts a numeric user ID such as '1234' (true), or a username such as john.smith (false). The default setting is false.

 
curl --request OPTIONS \
  --url https://example.sandbox.achievers.com/api/v5/recognitions
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/recognitions",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "OPTIONS",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'OPTIONS',
  url: 'https://example.sandbox.achievers.com/api/v5/recognitions' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/recognitions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Options.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("OPTIONS", "https://example.sandbox.achievers.com/api/v5/recognitions");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/recognitions"

response = requests.request("OPTIONS", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

[
  {
    "id": "4012,",
    "name": "Social Recognition",
    "description": "<p><br />Why? Because a kind remark today motivates the wins of tomorrow.</p>",
    "bannerURL": "https://example.sandbox.achievers.com/module/peer_to_peer/4012/banner/en-US/banner.jpg",
    "moduleType": "FREE",
    "criteria": [
      {
        "id": 3217,
        "name": "a Thank You",
        "description": "Perhaps you helped a coworker in need or just refilled the office coffee machine. Whatever you did, your thoughtful actions should be celebrated.",
        "criterionBannerUrl": "https://example.sandbox.achievers.com/module/peer_to_peer/4012/banner/en-US/criterionBanner.jpg",
        "pointValue": 0
      }
    ]
  }
]
{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
Suggest Edits

/recognitions

Returns a list of recognitions created during a specific timeframe and/or sent to and from a specific user.

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
gethttps://example.sandbox.achievers.com/api/v5/recognitions

Query Params

startDate
date-time

The beginning of the date range for which the events will be returned. Date format is YYYY-MM-DDTHH:mm:ssZ. For example, 2018-06-14T21:01:00-05:00.

endDate
date-time

The end of the date range for which the events will be returned. Date format is YYYY-MM-DDTHH:mm:ssZ. For example, 2018-06-14T21:01:00-05:00.

userId
string

The unique Id of the user

favouritesOnly
boolean
useUserIds
boolean

Determines if any user-identifying parameter accepts a numeric user ID such as '1234' (true), or a username such as john.smith (false). The default setting is false.

page
integer

The page of results to retrieve

pageSize
integer

The number of results to return per page

 
curl --request GET \
  --url https://example.sandbox.achievers.com/api/v5/recognitions
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/recognitions",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'GET',
  url: 'https://example.sandbox.achievers.com/api/v5/recognitions' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/recognitions")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.sandbox.achievers.com/api/v5/recognitions");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/recognitions"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

[
  {
    "recognitionId": 85994936,
    "recognitionText": "Awesome job on your presentation yesterday. Keep up the great work!",
    "dateCreated": "2017-02-19T14:22:13-05:00",
    "status": "APPROVED",
    "criterion": "Going the extra mile",
    "pointsAwarded": 0,
    "newsfeedEventId": 71423136,
    "newsfeedEventURL": "https://example.sandbox.achievers.com/event/71423136/bcdfkmnqrsvy34abcdefgijlmnrtwy12/",
    "nominator": {
      "id": 10726846,
      "name": "Brady Garfinkel",
      "profileImageUrl": "https://example.sandbox.achievers.com/resources/icons/user/icon_med.jpg",
      "href": "https://example.sandbox.achievers.com/api/v5/users/10726846",
      "method": "GET",
      "rel": "nominator"
    },
    "nominees": [
      {
        "id": 10726811,
        "name": "Adele Olson",
        "profileImageUrl": "https://example.sandbox.achievers.com/resources/icons/user/icon_med.jpg",
        "href": "https://example.sandbox.achievers.com/api/v5/users/10726811",
        "method": "GET",
        "rel": "nominees"
      }
    ]
  }
]
{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
Suggest Edits

upcoming-celebrations

 

Upcoming Celebrations allows you to keep track of employees’ service anniversaries and birthdays.

 
Suggest Edits

/upcoming-celebrations

Retrieves a list of upcoming celebrations within a specified date range. Specify celebrationType to return a specific celebration type, such as Birthday or Service Awards.

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
gethttps://example.sandbox.achievers.com/api/v5/upcoming-celebrations

Query Params

startDate
date-time
required

The beginning of the date range for which the celebrations will be returned.

endDate
date-time
required

The end of the date range for which the celebrations will be returned.

celebrationType
string

Determines which type of upcoming celebrations to fetch

visibility
string

Filters the upcoming celebrations so that the current user only sees the celebrations from either their hierarchy, their team or the whole program

celebrationsWidget
boolean

Sets a flag to search the upcoming celebrations only for module enabled with celebration widget

pageSize
integer

The number of results to return per page

 
curl --request GET \
  --url 'https://example.sandbox.achievers.com/api/v5/upcoming-celebrations?startDate=startDate&endDate=endDate'
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/upcoming-celebrations?startDate=startDate&endDate=endDate",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'GET',
  url: 'https://example.sandbox.achievers.com/api/v5/upcoming-celebrations',
  qs: 
   { startDate: 'startDate',
     endDate: 'endDate' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/upcoming-celebrations?startDate=startDate&endDate=endDate")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.sandbox.achievers.com/api/v5/upcoming-celebrations?startDate=startDate&endDate=endDate");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/upcoming-celebrations"

querystring = {"startDate":"startDate","endDate":"endDate"}

response = requests.request("GET", url, params=querystring)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
 

When sending a recognition or creating an achievement, you can include a custom image using the /uploads endpoint.

 
Suggest Edits

/uploads

Returns a list of file upload Ids and file names that have been uploaded for a specific user.

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
gethttps://example.sandbox.achievers.com/api/v5/uploads

Query Params

page
integer

The page of results to retrieve

pageSize
integer

The number of results to return per page

fileTypes
array of strings

The file types to return

 
curl --request GET \
  --url https://example.sandbox.achievers.com/api/v5/uploads
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/uploads",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'GET',
  url: 'https://example.sandbox.achievers.com/api/v5/uploads' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/uploads")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.sandbox.achievers.com/api/v5/uploads");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/uploads"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

[
  {
    "fileUploadId": 5197236,
    "fileSize": 2391,
    "url": "https://example.sandbox.achievers.com/platform_content/program/ilr/private/uploads/13249026/1516992244_5a6b76f42ea9b/screen_image.jpg",
    "uploadDate": "2017-02-19T19:22:13.000Z",
    "fileFormat": "jpg",
    "isAudio": false,
    "isVideo": false,
    "originalUrl": "https://example.sandbox.achievers.com/platform_content/program/ilr/private/uploads/13249026/1516992244_5a6b76f42ea9b/original_image.jpg"
  },
  {
    "fileUploadId": 5208347,
    "fileSize": 3402,
    "url": "https://example.sandbox.achievers.com/platform_content/program/ilr/private/uploads/24350137/2627003355_76af4e156ef39/screen_image.jpg",
    "uploadDate": "2017-03-21T17:44:24.000Z",
    "fileFormat": "jpg",
    "isAudio": false,
    "isVideo": false,
    "originalUrl": "https://example.sandbox.achievers.com/platform_content/program/ilr/private/uploads/24350137/2627003355_76af4e156ef39/original_image.jpg"
  }
]
{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
Suggest Edits

/uploads

Upload an image, video or audio file that can then be attached to a recognition or an achievement. Supported image file types are JPG, GIF, and PNG. Supported video file types include AVI, FLV, and WHV. Supported audio files types include WAV, MP3, and M4A. Maximum image file size is 10 MB, and maximum video/audio file size is 100 MB. The file owner will be either the currently authenticated user (if applicable), or the client application. This endpoint requires an access token with a requested scope of 'write'.

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
posthttps://example.sandbox.achievers.com/api/v5/uploads

Form Data

file
file
required

The file to be uploaded.

 
curl --request POST \
  --url https://example.sandbox.achievers.com/api/v5/uploads
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/uploads",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'POST',
  url: 'https://example.sandbox.achievers.com/api/v5/uploads' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/uploads")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://example.sandbox.achievers.com/api/v5/uploads");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/uploads"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "fileUploadId": 5197236,
  "fileSize": 2391,
  "url": "https://example.sandbox.achievers.com/platform_content/program/ilr/private/uploads/13249026/1516992244_5a6b76f42ea9b/screen_image.jpg",
  "uploadDate": "2017-02-19T19:22:13.000Z",
  "fileFormat": "jpg",
  "isAudio": false,
  "isVideo": false,
  "originalUrl": "https://example.sandbox.achievers.com/platform_content/program/ilr/private/uploads/13249026/1516992244_5a6b76f42ea9b/original_image.jpg"
}
{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 

When sending a recognition, creating an achievement, or for just about any action, you will need information about program users. The /users API returns information about an individual user or about multiple users.

 
Suggest Edits

/users

This endpoint returns high-level information about one or more users who are Enabled in the program. When a search string is included as a request parameter, the endpoint returns all users whose username, first name, last name and/or email address match the search criteria.

 

OAuth2 Auth

Connect to the API as a system entity. Must be in the form of a Bearer token in the Authorization header

Bearer

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
gethttps://example.sandbox.achievers.com/api/v5/users

Query Params

page
integer

The page of results to retrieve

pageSize
integer

The number of results to return per page

q
array of strings

A search term to filter results by, can be multi-word search terms (using quotes), with multiple search terms separated with commas. E.G. mike,"john smith","dave smith"

sortBy
string

The property used to order the return results in

sortOrder
string

The order to return the results in

ids
array of integers

Ids to filter results by; can be multiple ids separated with commas

 
curl --request GET \
  --url https://example.sandbox.achievers.com/api/v5/users
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/users",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'GET',
  url: 'https://example.sandbox.achievers.com/api/v5/users' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/users")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.sandbox.achievers.com/api/v5/users");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/users"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

[
  {
    "id": 10726811,
    "firstName": "Adele",
    "lastName": "Olson",
    "username": "adele.olson",
    "emailAddress": "adele.olson@example.com",
    "profileImageUrl": "https://example.sandbox.achievers.com/resources/icons/user/icon_med.jpg",
    "isPersonalizedProfileImage": false,
    "dateCreated": "2016-02-19T14:22:11-05:00"
  },
  {
    "id": 10726811,
    "firstName": "Brady",
    "lastName": "Garfinkel",
    "username": "brady.garfinkel",
    "emailAddress": "brady.garfinkel@example.com",
    "profileImageUrl": "https://example.sandbox.achievers.com/resources/icons/user/icon_med.jpg",
    "isPersonalizedProfileImage": false,
    "dateCreated": "2016-02-19T14:22:13-05:00"
  }
]
{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}
 
Suggest Edits

/users/{userId}

This endpoint returns detailed information about an individual user who is Enabled in the program. Access to this endpoint requires user authorization.

 

OAuth2 Auth

Connect to the API on behalf of a member using OAuth + OpenID Connect. Must be in the form of a Bearer token in the Authorization header

Bearer
 Authentication is required for this endpoint.
gethttps://example.sandbox.achievers.com/api/v5/users/userId

Path Params

userId
integer
required

The user id

 
curl --request GET \
  --url https://example.sandbox.achievers.com/api/v5/users/userId
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://example.sandbox.achievers.com/api/v5/users/userId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
var request = require("request");

var options = { method: 'GET',
  url: 'https://example.sandbox.achievers.com/api/v5/users/userId' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://example.sandbox.achievers.com/api/v5/users/userId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://example.sandbox.achievers.com/api/v5/users/userId");

xhr.send(data);
import requests

url = "https://example.sandbox.achievers.com/api/v5/users/userId"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

Your OAuth2 token is incorrect or has expired

{
  "id": 10726811,
  "firstName": "Adele",
  "lastName": "Olson",
  "username": "adele.olson",
  "emailAddress": "adele.olson@example.com",
  "profileImageUrl": "https://example.sandbox.achievers.com/resources/icons/user/icon_med.jpg",
  "isPersonalizedProfileImage": false,
  "dateCreated": "2016-02-19T14:22:11-05:00",
  "timeZone": {
    "name": "America/Regina",
    "description": "(GMT-6:00) Saskatchewan"
  }
}
{
  "code": 0,
  "message": "No Content"
}
{
  "code": -1,
  "message": "Invalid Params",
  "errors" : [
    {
      "username": "Invalid username"
    },
    {
      "password": "Password can not be blank"
    }
  ]
}
{
  "code": -1,
  "message": "The bearer token is not valid"
}
{
  "code": -1,
  "message": "Forbidden Request",
  "allowedScopes": {
    "oauthSystem": {
      "scopes": [
        "read"
      ]
    },
    "oauthImplicit": {
      "scopes": [
        "read"
      ]
    },
    "oauthCode": {
      "scopes": [
        "read"
      ]
    }
  },
  "requestScopes": [
    "redeem"
  ]
}
{
  "code": -1,
  "message": "Not Found"
}
{
  "code": -1,
  "message": "HTTP method not allowed for this URL"
}
{
  "code": -1,
  "message": "Invalid content type for this request",
  "contentTypes": [
    "text/plain",
    "application/json"
  ]
}
{
  "code": -1,
  "message": "Rate limit reached"
}
{
  "code": -1,
  "message": "The server encountered an unexpected condition which prevented it from fulfilling the request"
}