Reporting API Reference
Introduction
The Reporting REST API enables the ability to execute and run previously saved review reports and retrieve their results as JSON data. These APIs can be useful for retrieving review data to populate a preferred reporting or BI tool or to drive automation using popular automation platforms (Zapier, etc.). The API offers the following capabilities:
- Retrieve the list of currently saved reports
- Run and retrieve the data for a report
Requirements
Calling these API endpoints requires an API Key and API ID. See Getting Started with PerformYard API for details on creating API keys and API Authentication for authentication flow.
Review Reports
The Reporting API currently only supports retrieving lists the data for reports about reviews. Employee reports are excluded from the response of the Reporting API endpoints at this time.
Retrieve All Reports
GET https://api.talent.performyard.com/v1/reports
Returns a list of all currently created reports. You can learn more about Reporting & Analytics here.
Query Parameters
limit integer The number of reports to be returned in a single API Request. Default: 200 Minimum: 5 Maximum: 200 |
offset integer Used to paginate through the list of reports. Can be combined with limit. Default: 0 Increment the value by one to fetch subsequent pages (1 for the second page, 2 for the third, etc.). |
sort string Order in which to return the reports. Allowed Values: asc(FIELD_NAME) desc(FIELD_NAME) Allowed Field Names: name type created_at last_updated description tags |
name string Filter the returned reports by a specific name. Accepts only a single string value. Case sensitive. |
tags string Filter the returned reports by a specific tag. Accepts only a single string value. Case sensitive. |
CURL Example
curl --location 'https://api.talent.performyard.com/v1/reports?limit=10&offset=0&tags=employment' \ --header 'Accept: application/json' \ --header 'x-api-id: {{X-API-ID}}' \ --header 'x-api-key: {{X-API-KEY}}'
Response (200)
{ "reports": [ { "_id": "<string>", "name": "<string>", "type": "<string>", "description": "<string>", "created_at": "<string>" "created_by": "<string>", "last_updated": "<string>", "tags": [ "<string>", "<string>" ] } ] }
Run and Retrieve the Data for a Report
GET https://api.talent.performyard.com/v1/reports/:report_id
Returns the data for the specified report as an array of objects.
Limit
This endpoint has a maximum limit of 200 data rows per request. If your report exceeds 200 data rows, you'll need to use the offset query parameter to loop through all the data rows in your report. For example, if you have a report with 450 data rows, you'll need three API calls to this endpoint to get all your data:
- GET https://api.talent.performyard.com/v1/reports/:report_id?limit=200&offset=0 //returns data rows 1-200
- GET https://api.talent.performyard.com/v1/reports/:report_id?limit=200&offset=1 //returns data rows 201-400
- GET https://api.talent.performyard.com/v1/reports/:report_id?limit=200&offset=2 //returns data rows 401-450
Path Parameters
report_id string The ID that uniquely identifies the report to retrieve. |
Query Parameters
limit integer The number of data points from this report to be returned in a single API Request. Default: 200 Minimum: 5 Maximum: 200 |
offset integer Used to paginate through the data for the specified report. Can be combined with limit. Default: 0 Increment the value by one to fetch subsequent pages (1 for the second page, 2 for the third, etc.). |
CURL Example
curl --location 'https://api.talent.performyard.com/v1/reports/6744925fe220edeac2af12fa?limit=200&offset=0' \ --header 'Accept: application/json' \ --header 'x-api-id: {{X-API-ID}}' \ --header 'x-api-key: {{X-API-KEY}}'
Response (200)
{ "review_report": [ { "<Report-Column1-name>": "value", "<Report-Column2-name>": "value", .... }, { "<Report-Column1-name>": "value", "<Report-Column2-name>": "value", .... }, .... ] }