RQ Platform API

Table of Contents

  1. Getting setup
    1.1 Your API Code
    1.2 Authorization
    1.3 How to get your bearer token
    1.4 How to use your bearer token

  2. Available Requests
    2.1 Return Format
    2.2 User Information
    2.3 Nomination Information
    2.4 Award Information
    2.5 Review Information
    2.6 Question Information
    2.7 File Downloads
    2.8 User Insert / Update
    2.9 Data Set

  3. Response Codes

  4. Power BI Connectivity

1. Getting Setup

  1.1 Your API Code

Your API code is the up-to-five character long unique indentifier that will be used in every API call you make.

EXAMPLE CODE

Sample Company is assigned code 'SAMCO'.

  1.2 Authorization

Use of the API Requires requires authorization.

API calls can only be made from IP addresses on our whitelist. If your WAN IP address changes, please contact our support team so we can include the new IP in our whitelist.

A bearer token will be provided to you based on your id/password credentials. It is required to provide the bearer token in the authorization header for every request you make.

NOTE: Authorization tokens are generated every hour, so you may need to request for a new bearer token in-between your calls.

  1.3 How to get bearer token

Submit a request to https://api.simplyrq.com:8443/[Your Code]/auth with the following query parameters:

https://api.simplyrq.com:8443/[Your Code]/auth?id=[Your Provided ID]&password=[Your Provided Password]

The API Request will return your access token in the body of the response if the request contains valid credentials.

EXAMPLE RESPONSE

  1.4 How to use your bearer token

If the application you are using allows you to specify a bearer token, enter it that way.

If the application you are using only allows you to specify an authorization header, enter the following in the authorization header:

Bearer [Your Bearer Token]

2. Available Requests

  2.1 Return Format

By default, the data will be returned in JSON format. For each request, you can include the query parameter "getXML" and set it to "1" to get the data returned in XML format.

Batch endpoints and DataSet endpoints do not currently have the option to be returned in XML, and are returned in JSON only.

EXAMPLE CALL

https://api.simplyrq.com:8443/[Your Code]/[Some Endpoint]?getXML=1

  2.2 User Information

GET /users/

This request will return all users and their profile information. Can optionally pass an email as a path parameter to get data for a specific user.

EXAMPLE CALLS

https://api.simplyrq.com:8443/[Your Code]/users

https://api.simplyrq.com:8443/[Your Code]/users/[User Email]

EXAMPLE RESPONSES

all users JSON all users XML
single user JSON single user XML

GET /users_batch/

This request will return all users and their profile information in batches. Must supply the query parameter "page". One the first call set the querystring page to 1. A meta object will be passed back along with the data to inform you how many pages there are.

EXAMPLE CALLS

https://api.simplyrq.com:8443/[Your Code]/users_batch?page=1
https://api.simplyrq.com:8443/[Your Code]/users_batch?page=2

EXAMPLE RESPONSE

GET /user_details/

This request returns all user's event information. Can optionally pass an email as a path parameter to get data for a specific user.

EXAMPLE CALLS

https://api.simplyrq.com:8443/[Your Code]/user_details

https://api.simplyrq.com:8443/[Your Code]/user_details/[User Email]

EXAMPLE RESPONSES














all user details JSON all user details XML
single user details JSON single user details XML

GET /user_details_batch/

This request will return all user's profile question data in batches. Each element of this batch is a list of objects each corresponding to a profile question. Must supply the query parameter "page". One the first call set the querystring page to 1. A meta object will be passed back along with the data to inform you how many pages there are.

EXAMPLE CALLS

https://api.simplyrq.com:8443/[Your Code]/user_details_batch?page=1
https://api.simplyrq.com:8443/[Your Code]/user_details_batch?page=2

EXAMPLE RESPONSE

  2.3 Nomination Information

GET /nominations/

This request provides nomination data for all users in the system (does not include form data). Can optionally pass a nomination id to get data for a specific application.

EXAMPLE CALLS

https://api.simplyrq.com:8443/[Your Code]/nominations

https://api.simplyrq.com:8443/[Your Code]/nominations/[Nomination ID]

EXAMPLE RESPONSES




all nominations JSON all nominations XML













single nomination JSON single nomination XML

GET /nominations_batch/

This request provides nomination data for all users in the system (does not include form data) in batches. Must supply the query parameter "page". One the first call set the querystring page to 1. A meta object will be passed back along with the data to inform you how many pages there are.

EXAMPLE CALLS

https://api.simplyrq.com:8443/[Your Code]/nominations_batch?page=1

https://api.simplyrq.com:8443/[Your Code]/nominations_batch?page=2

EXAMPLE RESPONSE

GET /user_nomination_details/[User Email]

This request will return all nomination data (including form data) for a user in the system. An email must be passed as a path parameter.
EXAMPLE CALL

https://api.simplyrq.com:8443/[Your Code]/user_nominations_details/[User Email]

EXAMPLE RESPONSES

nomination details JSON nomination details XML

  2.4 Award Information

GET /awards/

This request returns all awards in the system.
EXAMPLE CALL

https://api.simplyrq.com:8443/[Your Code]/awards

EXAMPLE RESPONSES

awards JSON awards XML

GET /award_nominations/[Award ID]

This request returns all nomination data (does not include form data) for a specified award included as a path parameter. You can additionally include a year to include only nominations for that specified year.
EXAMPLE CALLS

https://api.simplyrq.com:8443/[Your Code]/award_nominations/[Award ID]
https://api.simplyrq.com:8443/[Your Code]/award_nominations/[Award ID]/[Year]

EXAMPLE RESPONSES




















award nominations JSON award nominations XML

GET /award_nominations_batch/[Award ID]

This request returns all nomination data in batches (does not include form data) for a specified award included as a path parameter. You can additionally include a year to include only nominations for that specified year. Must supply the query parameter "page". One the first call set the querystring page to 1. A meta object will be passed back along with the data to inform you how many pages there are.

EXAMPLE CALLS

https://api.simplyrq.com:8443/[Your Code]/award_nominations_batch/[Award ID]?page=1
https://api.simplyrq.com:8443/[Your Code]/award_nominations_batch/[Award ID]/[Year]?page=1

EXAMPLE RESPONSE

GET /award_nomination_details/[Award ID]

This request returns all nomination data in the system (including form data) for a specified award. Can optionally include a year as a path parameter to filter further.

EXAMPLE CALLS

https://api.simplyrq.com:8443/[Your Code]/award_nomination_details/[Award ID]

https://api.simplyrq.com:8443/[Your Code]/award_nomination_details/[Award ID]/[year]

EXAMPLE RESPONSES

award nomination details JSON award nomination details XML

GET /award_nomination_details_batch/[Award ID]

This request returns all nomination data in the system (including form data) for a specified award. Can optionally include a year as a path parameter to filter further.

EXAMPLE CALLS

https://api.simplyrq.com:8443/[Your Code]/award_nomination_details_batch/[Award ID]?page=1

https://api.simplyrq.com:8443/[Your Code]/award_nomination_details_batch/[Award ID]/[year]?page=1

EXAMPLE RESPONSE

  2.5 Review Information

GET /reviews/[Award ID]/[year]

This request returns all review data for a specified award and year. The data is seperated by review status (complete / incomplete).
EXAMPLE CALL

https://api.simplyrq.com:8443/[Your Code]/reviews/[Award ID]/[year]

EXAMPLE RESPONSES











reviews JSON reviews XML

GET /reviews_batch/[Award ID]/[year]

This request returns all review data for a specified award and year in batches. The data is seperated by review status (complete / incomplete).
EXAMPLE CALL

https://api.simplyrq.com:8443/[Your Code]/reviews/[Award ID]/[year]

EXAMPLE RESPONSE

  2.6 Question Information

GET /questions/

This question returns all question data in the system. Can optionally pass path parameters awardID and year (both must be provided) to filter questions down.

EXAMPLE CALLS

https://api.simplyrq.com:8443/[Your Code]/questions

https://api.simplyrq.com:8443/[Your Code]/questions/[Award ID]/[year]

EXAMPLE RESPONSES

questions JSON questions XML

  2.7 File Downloads

GET /get_file/[Question ID]/[Nomination ID]

This method will return the file uploaded for a specific question ID and nomination ID. If you want to determine which questions are downloadable. Use the /questions/ endpoint and make note of the questions with FieldType set to 'Blob'.

EXAMPLE CALL

https://api.simplyrq.com:8443/[Your Code]/get_file/[Question ID]/[Nomination ID]

The file will be returned in the body of the response and will match the name and extension it was uploaded with.

GET /pdf_package/[Nomination ID]

This method will return the PDF package of the requested nomination ID.

EXAMPLE CALL

https://api.simplyrq.com:8443/[Your Code]/pdf_package/[Nomination ID]

The PDF package will be returned in the body of the response and will have it's file name constructed as: [User Email]_[Nomination ID]_Package.pdf

  2.8 User Insert

POST /user

This method will either Insert or update a user's information. A valid user must have an EmailID, First Name, and Last Name. All intended user properties must be suplied in the call, as any properties that are not provided will be cleared.

The user properities must be supplied in the body of the request and the possible properties are strings and are listed here:

EXAMPLE BODY

{
  "EmailID" : "user_email@email.com",
  "FirstName": "Test",
  "LastName": "User"
}

  2.9 Data Set

POST /create_data_set/

To create a dataset in the system. All parameters are passed in the body. Provide the data set name, and a primary identifier. Representing an attribute that will be passed over in insert/update calls to represent a data object in the system.
EXAMPLE BODY

{
  "data_set_name" : "Test Data Set",
  "primary_identifier": "User ID"
}

On success will return a 201 HTTP status and the text "CREATED"

GET /get_data_sets/

To retreive all the names of the currently existing data sets in the system.

EXAMPLE RESPONSE

POST /edit_data_set/

Used to edit an existing data set and all associated data points. This endpoint can also update the primary identifier by passing in the same current_name and new_name, and passing in the optional parameter "primary_identifier". All parameters are passed in the body.

EXAMPLE BODY

{
  "current_name" : "Data Set 1",
  "new_name": "Data Set 2",
  "primary_identifier": "Employee Number"
}

On success will return a 200 HTTP status and the text "
"SUCCESS"

POST /delete_data_set/

Deletes a data set and all associated data points from the system.

EXAMPLE BODY

{
  "data_set_name" : "Data Set 1",
}

On success will return a 200 HTTP status and the text "UPDATE WAS SUCCESSFUL"

GET /get_data_point/

Returns either all data points for a given data set and primary identifier. Has an optional body parameter "data_key", if a specific attribute is intended to be retreived.

EXAMPLE BODY

{
  "data_set_name" : "Data Set 1",
  "primary_identifier" : "Data Set 1",
  "data_key" : "Email ID",
}

EXAMPLE RESPONSE

POST /insert_data_point/

Inserts a data point provided a data set and primary identifier. The data_key attribute represents the name of the attribute. And the data_value attribute represents the value.

EXAMPLE BODY

{
   "data_set_name" : "DATASET1",
   "primary_identifier" : "amit",
   "data_key" : "userID",
   "data_value" : "92102139"
}

Returns an HTTP 201 response if the data point did not previously exist. Returns an HTTP 200 response if the data point was updated.

POST /insert_data_object/[Data Set Name]

Use this endpoint if you would like to insert a number of values in at once. The only restriction is that the primary identifier attribute must be present. The primary identifier can be set in the /create_data_set/ and /edit_data_set/ endpoints. This endpoint will not delete any existing data points attributed to the primary_identifier. But will update any existing data points if the data_keys match.

EXAMPLE BODY

{
  "emailID" : "amit@rhythmq.com",
   "firstName" : "Amit",
  "lastName" : "Ohm",
  "city" : "Toronto",
  "province" : "Ontario",
  "organization" : "RhythmQ"
}

On success will return a HTTP 201 status.

POST /delete_data_point/

Deletes a datapoint in the system, given a data set name, a primary identifier, and a data key.

EXAMPLE BODY

{
   "data_set_name" : "DATASET1",
   "primary_identifier" : "amit",
   "data_key" : "userID"
}

Will return an HTTP 200 status if successfully deleted.

POST /update_data_point/

Used to update an existing data point.

{
   "data_set_name" : "DATASET1",
   "primary_identifier" : "amit",
   "data_key" : "userID",
   "data_value" : "92102139"
}

On success will return an HTTP 200 status.

GET /get_all_data_points/[Data Set Name]

Returns all data points in the system, organized by primary identifiers. This is a batch endpoint and must be provided with the page query string parameter set to 1 in the first call.

EXAMPLE CALL

https://api.simplyrq.com:8443/[Your Code]/get_all_data_points/[Your Data Set Name]?page=1

EXAMPLE RESPONSE

3. Status Codes

  Response Code: 200

Indicates a successful API Request.

  Response Code: 401

Indicates an unauthorized request. If this is an access code request, the credentials provided do not match the entry in our database. For every other request, this indicates that either the access token is missing or incorrect or that the call came from an IP address that is not on our whitelist.

  Response Code: 500

Indicates an internal server error. Please contact support with information about the request that resulted in this response code. Doing so will assist us in resolving the issue.

4. Power BI Connectivity

   Get Authorization Token

Begin by opening your browser of choice and enter the following URL:

https://api.simplyrq.com:8443/[your code]/auth?id=[your id]&password=[your password]

If the credentials entered are correct, you will be provided with an authorization token.

   Getting Data into Power BI

enter image description here

Open up Power BI and select "Get Data"

Select Web from the list of options.


Select "Advanced" and enter the desired end point in the URL parts text box. Then add the authorization token to the request by selecting "Authorization" as type of header then entering "Bearer" followed by your token to the text box. Hit OK and the data will populate PowerBI.