====== API Calls - Performexa ======
===== Prerequisite =====
To be able to access the Performexa API, you need to have a client app created in Performexa site.
Creating Client App
- Login to your Performexa site.
- Click on the Create Client App button under 'Client Applications' tab and provide the app name (Eg:- My App).
Now, the following details are needed to configure the API -
* **Application End Point :** The API end point URL of Performexa application. Eg:- https://performexa.com/api/v1
* **API Key :** Unique Identifier for your app.
* **API Secret :** Secret to authenticate your app through to make API calls.
Now, you need to generate a access_token to access the APIs (See **Create Access Token**)
Once access_token is generated, use it to access the APIs. Eg:- https://performexa.com/tasks?access_token=########
===== List Of APIs ======
==== Create Access Token ====
* **Description :** Generate a access_token to make API calls
* **End Point URL :** https://performexa.com/api/v1/access_token
* **Method :** GET
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
== Optional Params ==
* None
== Required Params ==
* **username :** Username of the Performexa site
* **password :** Password for the Performexa site
* **site :** The URL of the Performexa site Eg:- https://performexa.com
==== List Tasks ====
* **Description :** List tasks using parameters
* **End Point URL :** https://performexa.com/api/v1/tasks
* **Method :** GET
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
== Optional Params ==
* **page :** Page number (default 1)
* **limit :** Maximum number of results per page (default 20)
* **filter_tasks_by :** Filter tasks (accepted values: in_progress, completed and all_tasks) (default in_progress)
== Required Params ==
* **access_token :** Pass the generated access_token as parameter to the API endpoint
**Sample API request**
**CURL**
curl --request GET https://performexa.com/api/v1/tasks?key=0dd8e75009e304030711d683fe5e901892d265c9d113672f81b96ce78724ac16
--data 'secret=2a24e0e3cd95cf1e78c256c53e04c8190a3f9d9f88b1b1cd83e438d65682b937
&access_token=333305cd7f18e2d28e3358270e8572166a0b700dfa3c22f9f066967ea7da576b
&filter_tasks_by=completed
&limit=1
&page=1'
**RUBY**
api_client = Performexa::Client.instance
api_client.tasks(:access_token => "333305cd7f18e2d28e3358270e8572166a0b700dfa3c22f9f066967ea7da576b", :filter_tasks_by => "completed", :limit => 1, :page => 1)
**Sample API Response**
{
"tasks": [
{
"id": 3086,
"started_at": "2016-03-16 04:53:39 UTC",
"completed_at": "2016-03-16 04:53:46 UTC",
"user_id": 1,
"state": 9,
"assigned_by_id": 1,
"source_assignment_id": 3085,
"reviewee_id": 3,
"shared_status": 3,
"color_code": "#FFA63F",
"priority": 6,
"filled_by_id": 1,
"review_type": "Appraisal",
"chat_thread_id": null,
"review_cycle_id": 55,
"draft": false,
"last_modified_id": 1,
"self_review_end_date": null,
"reviewee_notified": false,
"hr_notified": false,
"publish_at": "2016-03-16 04:53:30 UTC",
"last_modified_at": "2016-03-16 04:53:46 UTC",
"completed_feedbacks_count": null,
"status": 1,
"shared_by_id": 1,
"cancelled_by_id": null,
"submitted_by_id": 1,
"shared_at": "2016-03-16 04:53:46 UTC",
"submitted_at": "2016-03-16 04:53:46 UTC"
}
],
"page": "1",
"limit": "1"
}
==== Show Task ====
* **Description :** Show a task and its response by specifying the id.
* **End Point URL :** https://performexa.com/api/v1/task/1
* **Method :** GET
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* None
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **id :** Pass the required id as parameter to the API endpoint
**Sample API request**
**CURL**
curl --request GET https://performexa.com/api/v1/task/1?key=0dd8e75009e304030711d683fe5e901892d265c9d113672f81b96ce78724ac16
--data 'secret=2a24e0e3cd95cf1e78c256c53e04c8190a3f9d9f88b1b1cd83e438d65682b937
&access_token=333305cd7f18e2d28e3358270e8572166a0b700dfa3c22f9f066967ea7da576b'
**RUBY**
api_client = Performexa::Client.instance
api_client.show_task(:access_token => "333305cd7f18e2d28e3358270e8572166a0b700dfa3c22f9f066967ea7da576b", :id => 1)
**Sample API Response**
{
"task": {
"id": 1,
"state": 9,
"review_cycle": {
"id": 50,
"title": "Some Jan 27 - Feb 29",
"start_date": "2016-01-27",
"end_date": "2016-02-29",
"review_start_date": null,
"review_end_date": null,
"by_user": 1,
"rating_scale_id": null,
"published": true,
"self_review_end_date": "2016-02-25",
"manager_review_end_date": "2016-02-28",
"published_date": "2016-01-27"
},
"reviewers": [
{
"id": 1,
"firstname": "Performance Demonsrator1",
"lastname": "Admin Administrator Administrator Some large name given to admin for purpose of testing",
"email": "performanceadmin@learnexa.com"
}
],
"reviewee": {
"id": 8,
"firstname": "Abhisek17",
"lastname": "S",
"email": "abhisek.exp17@gmail.com"
},
"shared_status": 3,
"color_code": "#FFA63F",
"priority": 6,
"questionnaires": [
{
"id": 93,
"sections": [
{
"id": 1089,
"questions": [
{
"id": 1697,
"question": "Q1",
"question_type": "rating",
"rating_scale": {
"id": 2,
"title": "Expectation",
"scale": {
"not_applicable": 0,
"unsatisfactory": 1,
"below_expectation": 2,
"met_expectation": 3,
"met_all_expectation_and_exceeded_in_a_few": 4,
"exceptional": 5
}
}
},
{
"id": 1698,
"question": "Q2",
"question_type": "rating",
"rating_scale": {
"id": 2,
"title": "Expectation",
"scale": {
"not_applicable": 0,
"unsatisfactory": 1,
"below_expectation": 2,
"met_expectation": 3,
"met_all_expectation_and_exceeded_in_a_few": 4,
"exceptional": 5
}
}
}
]
}
]
}
],
"response_sets": [
{
"user_id": 8,
"progress": 100,
"draft": false,
"responses": [
{
"question_id": 1697,
"response": "3"
},
{
"question_id": 1698,
"response": "4"
}
]
},
{
"user_id": 1,
"progress": 100,
"draft": true,
"responses": [
{
"question_id": 1697,
"response": "3"
},
{
"question_id": 1698,
"response": "4"
}
]
}
]
}
}
==== Share Task ====
* **Description :** Share a completed review assignment with the reviewee, HR, or both.
* **End Point URL :** https://performexa.com/api/v1/share
* **Method :** POST
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* None
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **id :** Specify the review assignment id you want to share.
* **share_with :** Share task (accepted values: reviewee, hr and both) (default reviewee)
**Sample API request**
**CURL**
curl --request POST https://performexa.com/api/v1/share?key=0dd8e75009e304030711d683fe5e901892d265c9d113672f81b96ce78724ac16
--data 'secret=2a24e0e3cd95cf1e78c256c53e04c8190a3f9d9f88b1b1cd83e438d65682b937
&access_token=333305cd7f18e2d28e3358270e8572166a0b700dfa3c22f9f066967ea7da576b
&id=1
&share_with=reviewee'
**RUBY**
api_client = Performexa::Client.instance
api_client.share_task(:access_token => "333305cd7f18e2d28e3358270e8572166a0b700dfa3c22f9f066967ea7da576b", :id => 1, :share_with => "reviewee")
**Sample API Response**
204 No content
==== Return Task ====
* **Description :** Return a self review to be refilled
* **End Point URL :** https://performexa.com/api/v1/return_task
* **Method :** POST
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* None
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **id :** Specify manager's review assignment id for the employee, whose self review needs to be returned
**Sample API request**
**CURL**
curl --request POST https://performexa.com/api/v1/return_task?key=0dd8e75009e304030711d683fe5e901892d265c9d113672f81b96ce78724ac16
--data 'secret=2a24e0e3cd95cf1e78c256c53e04c8190a3f9d9f88b1b1cd83e438d65682b937
&access_token=333305cd7f18e2d28e3358270e8572166a0b700dfa3c22f9f066967ea7da576b
&id=1'
**RUBY**
api_client = Performexa::Client.instance
api_client.return_task(:access_token => "333305cd7f18e2d28e3358270e8572166a0b700dfa3c22f9f066967ea7da576b", :id => 1)
**Sample API Response**
204 No content
==== Create or Update Task response ====
* **Description :** Create or Update the given Task's response
* **End Point URL :** https://performexa.com/api/v1/task_create_or_update
* **Method :** POST
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* None
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **id :** Pass the required id as parameter to the API endpoint
**Sample API request**
**CURL**
curl --request POST https://dev01.performexa.com/api/v1/task_create_or_update?access_token=994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1
--data 'key=f0381afdef0ddf50aa8c6f606676c397de08ea227441ab31225bd5a7513636fb
&secret=5f577ad33d8bcc818aca97558e79bb8242511e9cc366ea2c7a0c5f8b31cc0608
&task_id=3334
&response_set={"responses": {"2486": "Text 5", "2487": "Text 6", "2488": "Text 7", "2489": "Text 8"}}'
**RUBY**
api_client = Performexa::Client.instance
api_client.task_create_or_update(:access_token => "994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1", :task_id => 3334, :response_set => '{"responses": {"2486": "Text 5", "2487": "Text 6", "2488": "Text 7", "2489": "Text 8"}}')
**Sample API Response**
{
"task_response": {
"id": 3334,
"user_id": 1,
"responses": [
{
"question_id": 2486,
"response": "Text 5"
},
{
"question_id": 2487,
"response": "Text 6"
},
{
"question_id": 2488,
"response": "Text 7"
},
{
"question_id": 2489,
"response": "Text 8"
}
],
"response_set_id": 700
}
}
==== List Activities ====
* **Description :** Get list of activity feeds for a particular user.
* **End Point URL :** https://performexa.com/api/v1/activities
* **Method :** GET
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* **page :** Page number (default 1)
* **limit :** Maximum number of results per page (default 20)
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **site :** The URL of the Performexa site Eg:- https://performexa.com
**Sample API request**
**CURL**
curl --request GET https://performexa.com/api/v1/activities?access_token=b223ce698cfc1fe92b1b1c633c07ebc5eeef81b0f45e6dc1ffd632ff12fdb2d4
--data 'key=0dd8e75009e304030711d683fe5e901892d265c9d113672f81b96ce78724ac16
&secret=2a24e0e3cd95cf1e78c256c53e04c8190a3f9d9f88b1b1cd83e438d65682b937
&site=https://performexa.com
&limit=4
&page=1'
**RUBY**
api_client = Performexa::Client.instance
api_client.activities(:site => "https://performexa.com", :access_token => "b223ce698cfc1fe92b1b1c633c07ebc5eeef81b0f45e6dc1ffd632ff12fdb2d4", :limit => 4, :page => 1)
**Sample API Response**
{
"activities": [
[
{
"owner": {
"id": 86,
"name": "Abhisek S"
},
"recipient": {
"id": 1,
"name": "Admin"
},
"statement": "Abhisek S submitted the self review to Admin",
"priority": 1,
"read": true,
"guid": "23803384-0aa3-11e6-9106-a41f725c3065"
}
],
[
{
"owner": {
"id": 6,
"name": "Yamini D"
},
"recipient": {
"id": 1,
"name": "Admin"
},
"statement": "Yamini D submitted the self review to Admin",
"priority": 1,
"read": true,
"guid": "d784ea6c-089d-11e6-a5ce-a41f725c3065"
},
{
"owner": {
"id": 3,
"name": "Satheesh K"
},
"recipient": {
"id": 1,
"name": "Admin"
},
"statement": "Satheesh K submitted feedback about Abhisek S",
"priority": 1,
"read": true,
"guid": "b1637b3e-0873-11e6-a5ce-a41f725c3065"
},
{
"owner": {
"id": 3,
"name": "Satheesh K"
},
"recipient": {
"id": 1,
"name": "Admin"
},
"statement": "Satheesh K submitted feedback about Mani M",
"priority": 1,
"read": true,
"guid": "e3f7ac08-0870-11e6-a5ce-a41f725c3065"
}
]
],
"page": "1",
"limit": "4"
}
==== Reviews ====
* **Description :** Get the response required for team reviews page.
* **End Point URL :** https://performexa.com/api/v1/reviews
* **Method :** GET
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* **page :** Page number (default 1)
* **limit :** Maximum number of results per page (default 20)
* **review_cycle_id :** Pass the required review cycle id as parameter to the API endpoint
* **filter_id :** Enter department id to filter members of that departments
* **sort_by :** Specify how the members can be sorted (accepted values: 'firstname asc', 'lastname asc' and 'job_role') (default 'firstame asc')
* **filter_by :** Specify how to filter members based on task assigned (accepted values: 'All Users', 'No Reviews Assigned', 'Self Review Pending', 'Manager Review Pending', 'Review Completed', 'Review Shared with HR') (default 'All Users')
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **site :** The URL of the Performexa site Eg:- https://performexa.com
**Sample API request**
**CURL**
curl --request GET https://performexa.com/api/v1/reviews?key=0dd8e75009e304030711d683fe5e901892d265c9d113672f81b96ce78724ac16
--data 'secret=2a24e0e3cd95cf1e78c256c53e04c8190a3f9d9f88b1b1cd83e438d65682b937
&access_token=333305cd7f18e2d28e3358270e8572166a0b700dfa3c22f9f066967ea7da576b
&site=https://performexa.com
&review_cycle_id=57 &filter_id=2 &limit=4'
**RUBY**
api_client = Performexa::Client.instance
api_client.reviews(:site => "https://performexa.com", :access_token => "994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1", :review_cycle_id => 57, :filter_id => 2, :limit => 4)
**Sample API Response**
{
"review_cycle": {
"id": 57,
"start_date": "2016-05-01",
"end_date": "2016-05-31",
"self_review_end_date": "2016-05-25",
"manager_review_end_date": "2016-05-30",
"title": "FUTURE - Published 7th Mar",
"by_user": 1,
"published_date": "2016-05-01",
"published": true
},
"manager": {
"id": 1,
"firstname": "Performance",
"lastname": "Admin",
"email": "performanceadmin@learnexa.com",
"job_role": ""
},
"overall_team_appraisal_status": {
"all_users": 5,
"no_reviews": 5,
"self_review_pending": 0,
"manager_review_pending": 0,
"reviews_completed": 0,
"reviews_submitted": 0,
"appraisal_feedbacks_pending": 0
},
"members": [
{
"name": "Abhisek12 it has to be a very big and long name S now surname is also long",
"review_assigned": false,
"feedbacks_assigned": false
},
{
"name": "Abhisek13 S",
"review_assigned": false,
"feedbacks_assigned": false
},
{
"name": "Abhisek16 S",
"review_assigned": false,
"feedbacks_assigned": false
},
{
"name": "Abhisek17 S",
"review_assigned": false,
"feedbacks_assigned": false
}
],
"page": 1,
"limit": "4"
}
==== Assign Review ====
* **Description :** Assign a review to a user.
* **End Point URL :** https://performexa.com/api/v1/review_assignments
* **Method :** POST
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* **self_review_end_date :** Specify a date by which self review must be complete (default Self Review end date from selected Review Cycle)
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **site :** The URL of the Performexa site Eg:- https://performexa.com
* **review_cycle_id :** Pass the required review cycle id as parameter to the API endpoint
* **reviewee_ids :** Pass the id(s) of the user(s) whom you want to assign review.
* **selected_questionnaire :** Specify the Form id which you want to assign.
**Sample API request**
**CURL**
curl --request POST https://performexa.com/api/v1/review_assignments?key=f0381afdef0ddf50aa8c6f606676c397de08ea227441ab31225bd5a7513636fb
--data 'secret=5f577ad33d8bcc818aca97558e79bb8242511e9cc366ea2c7a0c5f8b31cc0608 &access_token=994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1
&site=https://performexa.com &reviewee_ids=86,74,2 &selected_questionnaire=225 &review_cycle_id=61 &self_review_end_date=Fri, 6 May 2016'
**RUBY**
api_client = Performexa::Client.instance
api_client.assign_review(:access_token => "994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1", :site => https://performexa.com, :reviewee_ids => "86,74,2", :selected_questionnaire => "225", :review_cycle_id => 61, :self_review_end_date => "Fri, 6 May 2016")
**Sample API Response**
{
"review_assignment": [
{
"id": 3373
},
{
"id": 3374
},
{
"id": 3375
},
{
"id": 3376
}
]
}
==== Edit Review ====
* **Description :** Edit a review assignment.
* **End Point URL :** https://performexa.com/api/v1/review_assignments
* **Method :** PUT
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* **self_review_end_date :** Specify a date by which self review must be complete (default Self Review end date from selected Review Cycle)
* **selected_questionnaire :** Specify the Form id which you want to assign.
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **id :** Pass the review assignment id which you wanted to edit. (Must be self review assignment id)
**Sample API request**
**CURL**
curl --request PUT https://performexa.com/api/v1/review_assignments?key=f0381afdef0ddf50aa8c6f606676c397de08ea227441ab31225bd5a7513636fb
--data 'secret=5f577ad33d8bcc818aca97558e79bb8242511e9cc366ea2c7a0c5f8b31cc0608 &access_token=994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1
&id=3379 &selected_questionnaire=225 &self_review_end_date=May 7, 2016'
**RUBY**
api_client = Performexa::Client.instance
api_client.edit_review_assignment(:access_token => "994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1", :id => 3379, :self_review_end_date => "May 7, 2016", :selected_questionnaire => "225")
**Sample API Response**
{
"review_assignment": {
"id": 3379
}
}
==== Cancel Review ====
* **Description :** Cancel a review assignment.
* **End Point URL :** https://performexa.com/api/v1/review_assignments
* **Method :** DELETE
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* None
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **id :** Pass the review assignment id which you wanted to cancel. (Must be self review assignment id)
**Sample API request**
**CURL**
curl --request DELETE https://performexa.com/api/v1/review_assignments?key=0dd8e75009e304030711d683fe5e901892d265c9d113672f81b96ce78724ac16
--data 'secret=2a24e0e3cd95cf1e78c256c53e04c8190a3f9d9f88b1b1cd83e438d65682b937 &access_token=333305cd7f18e2d28e3358270e8572166a0b700dfa3c22f9f066967ea7da576b&id=1
**RUBY**
api_client = Performexa::Client.instance
api_client.cancel_review_assignment(:access_token => "333305cd7f18e2d28e3358270e8572166a0b700dfa3c22f9f066967ea7da576b", :id => 1)
**Sample API Response**
204 No content
==== Consolidated Feedback ====
* **Description :** Get Feedback about an user
* **End Point URL :** https://performexa.com/api/v1/feedbacks
* **Method :** GET
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* None
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **id :** Pass the required id as parameter to the API endpoint
**Sample API request**
**CURL**
curl --request GET https://performexa.com/api/v1/feedbacks?key=f0381afdef0ddf50aa8c6f606676c397de08ea227441ab31225bd5a7513636fb
--data 'secret=5f577ad33d8bcc818aca97558e79bb8242511e9cc366ea2c7a0c5f8b31cc0608 &access_token=994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1 &id=2346'
**RUBY**
api_client = Performexa::Client.instance
api_client.feedbacks(:access_token => "994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1", :id => 2346)
**Sample API Response**
{
"feedback_responses": [
{
"task_id": 2348,
"response_set": 470,
"progress": 100,
"responses": [
{
"response": "3",
"question_id": 1316,
"response_type": "rating"
},
{
"response": "Good",
"question_id": 1315,
"response_type": "text"
},
{
"response": "3",
"question_id": 1318,
"response_type": "rating"
},
{
"response": "4",
"question_id": 1317,
"response_type": "rating"
}
]
},
{
"task_id": 2349,
"response_set": 541,
"progress": 0,
"responses": [
{
"response": "2",
"question_id": 1316,
"response_type": "rating"
},
{
"response": "Great",
"question_id": 1315,
"response_type": "text"
},
{
"response": "3",
"question_id": 1318,
"response_type": "rating"
},
{
"response": "5",
"question_id": 1317,
"response_type": "rating"
}
]
}
]
}
==== Assign Feedback ====
* **Description :** Assign Feedbacks to users.
* **End Point URL :** https://performexa.com/api/v1/feedbacks
* **Method :** POST
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* None
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **site :** The URL of the Performexa site Eg:- https://dev01.performexa.com
* **create_feedback_params :** Pass the parameters required for Feedback creation
**Sample API request**
**CURL**
curl --request POST https://performexa.com/api/v1/feedbacks?key=f0381afdef0ddf50aa8c6f606676c397de08ea227441ab31225bd5a7513636fb
--data 'secret=5f577ad33d8bcc818aca97558e79bb8242511e9cc366ea2c7a0c5f8b31cc0608 &access_token=994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1
&site=https://performexa.com &create_feedback_params={"reviewee_id":["86"], "added_questionnaires":{"0":"225", "1":"224"}, "recipient_emails":{"0":"abhiseks@expertus.com abhisek.exp12@gmail.com",
"1":"abhisek.exp13@gmail.com abhisek.exp14@gmail.com"}, "tag":["abhiseks@expertus.com", "abhisek.exp12@gmail.com", "abhisek.exp13@gmail.com", "abhisek.exp14@gmail.com"], "review_cycle_id":"92"}'
**RUBY**
api_client = Performexa::Client.instance
api_client.assign_feedback(:access_token => "994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1", :site => "https://performexa.com",
:create_feedback_params => '{"reviewee_id":["86"], "added_questionnaires":{"0":"225", "1":"224"}, "recipient_emails":{"0":"abhiseks@expertus.com abhisek.exp12@gmail.com",
"1":"abhisek.exp13@gmail.com abhisek.exp14@gmail.com"}, "tag":["abhiseks@expertus.com", "abhisek.exp12@gmail.com", "abhisek.exp13@gmail.com", "abhisek.exp14@gmail.com"],
"review_cycle_id":"92"}')
**Sample API Response**
{
"feedbacks": [
{
"id": 3535
},
{
"id": 3536
},
{
"id": 3537
},
{
"id": 3538
}
]
}
==== Update Feedback ====
* **Description :** Edit Feedbacks
* **End Point URL :** https://performexa.com/api/v1/feedbacks
* **Method :** PUT
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* None
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **site :** The URL of the Performexa site Eg:- https://performexa.com
* **id :** Pass the id of the Feedback to be updated
* **update_feedback_params :** Pass the parameters required for Feedback creation
**Sample API request**
**CURL**
curl --request PUT https://dev01.performexa.com/api/v1/feedbacks?key=f0381afdef0ddf50aa8c6f606676c397de08ea227441ab31225bd5a7513636fb
--data 'secret=5f577ad33d8bcc818aca97558e79bb8242511e9cc366ea2c7a0c5f8b31cc0608 &access_token=994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1
&site=https://dev01.performexa.com &id=3539 &update_feedback_params={"previous_invitees":{"0":"2 74", "1":"3 5"}, "previous_questionnaires":{"0":"225", "1":"224"},
"added_questionnaires":{"0":"225", "1":"223"}, "recipient_emails":{"0":"abhiseks@expertus.com", "1":"abhisek.exp13@gmail.com abhisek.exp14@gmail.com abhisek.exp15@gmail.com"},
"tag":["abhiseks@expertus.com", "abhisek.exp13@gmail.com", "abhisek.exp14@gmail.com", "abhisek.exp15@gmail.com"]}'
**RUBY**
api_client = Performexa::Client.instance
api_client.edit_feedback(:access_token => "994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1", :id => 3539, :site => "https://dev01.performexa.com",
:update_feedback_params => '{"previous_invitees":{"0":"2 74", "1":"3 5"}, "previous_questionnaires":{"0":"225", "1":"224"}, "added_questionnaires":{"0":"225", "1":"223"},
"recipient_emails":{"0":"abhiseks@expertus.com", "1":"abhisek.exp13@gmail.com abhisek.exp14@gmail.com abhisek.exp15@gmail.com"}, "tag":["abhiseks@expertus.com", "abhisek.exp13@gmail.com",
"abhisek.exp14@gmail.com", "abhisek.exp15@gmail.com"]}')
**Sample API Response**
{
"feedbacks": [
{
"id": 3542
},
{
"id": 3543
},
{
"id": 3544
},
{
"id": 3545
}
]
}
==== Cancel Feedback ====
* **Description :** Cancel Feedback
* **End Point URL :** https://performexa.com/api/v1/feedbacks
* **Method :** DELETE
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* None
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **id :** Pass the id of the Feedback to be cancelled (Must be base review assignment id)
**Sample API request**
**CURL**
curl --request DELETE https://dev01.performexa.com/api/v1/feedbacks?key=f0381afdef0ddf50aa8c6f606676c397de08ea227441ab31225bd5a7513636fb
--data 'secret=5f577ad33d8bcc818aca97558e79bb8242511e9cc366ea2c7a0c5f8b31cc0608 &access_token=994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1
&id=3549'
**RUBY**
api_client = Performexa::Client.instance
api_client.cancel_feedback(:access_token => "994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1", :id => 3549)
**Sample API Response**
204 No content
==== Show Review Cycles ====
* **Description :** Get list of active review cycles
* **End Point URL :** https://performexa.com/api/v1/review_cycles
* **Method :** GET
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* **page :** Page number (default 1)
* **limit :** Maximum number of results per page (default 20)
* **sort by :** Sort items by desired column (accepted values: 'created_at desc', 'title asc' and 'title desc') (default 'created_at desc')
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **site :** The URL of the Performexa site Eg:- https://performexa.com
**Sample API request**
**CURL**
curl --request GET https://dev01.performexa.com/api/v1/review_cycles?access_token=994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1
--data 'key=f0381afdef0ddf50aa8c6f606676c397de08ea227441ab31225bd5a7513636fb &secret=5f577ad33d8bcc818aca97558e79bb8242511e9cc366ea2c7a0c5f8b31cc0608
&site=https://performexa.com &sort_by=title asc &limit=3 &page=1'
**RUBY**
api_client = Performexa::Client.instance
api_client.review_cycles(:access_token => "994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1", :site => "https://performexa.com", :sort_by => "title asc", :limit => 3, :page => 1)
**Sample API Response**
{
"review_cycles": [
{
"id": 55,
"title": "First Review Cycle",
"self_review_end_date": "2016-03-25",
"start_date": "2016-02-26",
"end_date": "2016-03-31",
"by_user": 1,
"published": true,
"manager_review_end_date": "2016-03-30"
},
{
"id": 36,
"title": "Second Review Cycle",
"published_date": "2015-06-02",
"self_review_end_date": "2016-01-15",
"start_date": "2015-06-01",
"end_date": "2016-01-31",
"by_user": 1,
"published": true,
"manager_review_end_date": "2016-01-26"
},
{
"id": 33,
"title": "Third Review Cycle",
"published_date": "2015-05-06",
"self_review_end_date": "2015-05-31",
"start_date": "2015-05-01",
"end_date": "2015-12-31",
"by_user": 1,
"published": true,
"manager_review_end_date": "2015-12-31"
}
],
"page": "1",
"limit": "3 "
}
==== Create Review Cycle ====
* **Description :** Create new review cycle.
* **End Point URL :** https://performexa.com/api/v1/create_review_cycle
* **Method :** POST
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* None
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **create_review_cycle :** The review cycle to be created with the given params.
**Sample API request**
**CURL**
curl --request POST https://performexa.com/api/v1/create_review_cycle?access_token=994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1
--data 'key=f0381afdef0ddf50aa8c6f606676c397de08ea227441ab31225bd5a7513636fb &secret=5f577ad33d8bcc818aca97558e79bb8242511e9cc366ea2c7a0c5f8b31cc0608
&create_review_cycle={ "review_cycle":{"title":"Review 1", "start_date":"May 1, 2016", "end_date":"May 30, 2016", "self_review_end_date":"May 20, 2016",
"manager_review_end_date":"May 30, 2016", "published_date": "May 9, 2016", "by_user":1}, "publish_on_creation":"false"}'
**RUBY**
api_client = Performexa::Client.instance
api_client.create_review_cycle(:access_token => "994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1", :create_review_cycle => '{"review_cycle":{"title":"Review 1", "start_date":"May 1, 2016", "end_date":"May 30, 2016", "self_review_end_date":"May 20, 2016", "manager_review_end_date":"May 30, 2016", "published_date":"May 9, 2016", "by_user":1}, "publish_on_creation":"false"}')
**Sample API Response**
{
"review_cycle": {
"id": 84,
"title": "Review 1",
"start_date": "2016-05-01",
"end_date": "2016-05-30",
"published_date": "2016-05-10",
"self_review_end_date": "2016-05-20",
"manager_review_end_date": "2016-05-30",
"by_user": 1,
"published": true
}
}
==== Update Review Cycle ====
* **Description :** Update review cycle for the given review cycle ID.
* **End Point URL :** https://performexa.com/api/v1/update_review_cycle
* **Method :** PUT
* **Input Parameters :** Following are the list of Optional/Mandatory parameters to make this api call.
**Optional Params**
* None
**Required Params**
* **access_token :** Pass the generated access_token as parameter to the API endpoint
* **id :** Specify the review cycle id which you want to update.
* **update_review_cycle :** The review cycle to be updated with the given params.
* **site :** The URL of the Performexa site Eg:- https://performexa.com
**Sample API request**
**CURL**
curl --request PUT https://performexa.com/api/v1/update_review_cycle?access_token=994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1
--data 'key=f0381afdef0ddf50aa8c6f606676c397de08ea227441ab31225bd5a7513636fb &secret=5f577ad33d8bcc818aca97558e79bb8242511e9cc366ea2c7a0c5f8b31cc0608
&id=92 &site=https://performexa.com &update_review_cycle={"review_cycle":{"title":"Review 2", "start_date":"May 2, 2016", "end_date":"May 31, 2016",
"self_review_end_date":"May 20, 2016", "manager_review_end_date":"May 30, 2016", "published_date":"May 9, 2016", "by_user":1}, "publish_on_creation":"false"}'
**RUBY**
api_client = Performexa::Client.instance
api_client.update_review_cycle(:access_token => "994b3acf0a1d1ddffcad9e3f171cf80611f69066dd4b0d64668cb5d4fc7951f1", :id => 92, :site => "https://performexa.com", :update_review_cycle => '{"review_cycle":{"title":"Review 2", "start_date":"May 2, 2016", "end_date":"May 31, 2016", "self_review_end_date":"May 20, 2016", "manager_review_end_date":"May 30, 2016", "published_date":"May 9, 2016", "by_user":1}, "publish_on_creation":"false"}')
**Sample API Response**
{
"review_cycle": {
"id": 92,
"title": "Review 2",
"start_date": "2016-05-02",
"end_date": "2016-05-31",
"published_date": "2016-05-09",
"self_review_end_date": "2016-05-20",
"manager_review_end_date": "2016-05-30",
"by_user": 1,
"published": true
}
}