====== 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 } }