Cloud Academy's API support for reports lets enterprises automate report generation and retrieval. With the report API, you can integrate your Cloud Academy reports directly into your corporate dashboards so you can understand your teams' progress in a central location. The reports API functionality is predictable and reliable.
This article contains the following sections:
- Process Overview
- Using the Reports API
The report API expects the following standard workflow:
- The requestor performs a POST request to the endpoint for the desired report.
The body of the request contains parameters to specify the configuration of the report, such as user ID, team ID, or date range. You can find the specific parameters for each report type in the Reports section of the API documentation.
- Cloud Academy validates the credentials and request.
- Cloud Academy creates a reporting job and returns a unique job ID to the requestor.
- The requestor performs a GET request to periodically check the job status using the unique job ID. When the job status returns DONE, it includes the report URL.
- The requestor retrieves the report from the URL. The URL expires after 10 minutes, after which it is not functional.
While in transit, the APIs are protected by SSL (HTTPS).
Using the Reports API
You can find the list of endpoints, parameters, and code samples on the Cloud Academy API documentation.
The reports API is a part of the larger Cloud Academy API, which requires requestors to use an API key pair to generate an authentication token. You can read more about generating an authentication token in Generating an Authentication Token.
Special Throttling for Reports
For general use, the Cloud Academy limits the public API to 100 calls per minute. However, reports have their own throttling. Many reports are limited to 1 call per user per hour. Some are limited to 1 call per user per 10-minute period. See the description of the individual endpoint in the API documentation for specific information about each report.
If a user attempts to request a second copy of the report to soon, the API returns a 429 Too Many Requests error. The error includes the length of time the user must wait before successfully retrying.
Note: The one report throttling limit also applies to the application user interface. If a user requests a report using the API, that user must wait the required amount of time before requesting the same report through the user interface.
All requests must contain the following content-type header:
The following reports are available to request with the API:
- Company Usage Report: The User Usage Report for all members of the company.
- Consumption Content Report: Generates the Product Consumption Report.
- Consumption Learning Paths: Generates the Learning Paths Consumption Report.
- Content Access: Generates the Content Access Report.
- Learning Path Content: Generates the Learning Path Content Report.
- Members Export: Generates the Members Report.
- Team Memberships: Generates the Team Membership Report.
- Team Usage: Generates the User Usage Report for all members of the team the parameters specify.
- Training Plan Content: Generates the Training Plan Content Report.
- Training Plan Progress: Generates the Training Plan Progress Report.
- User Skills: Generates the User Skills Report.
- User Usage: Generates the User Usage Report for the user the parameters specify.