Introduction
An application programming interface (API) is a way for different software systems to communicate with one another. To facilitate their use, most APIs will have an API specification that contains a list of actions it can perform, as well as descriptions of how to implement each of them.
Using an API has many benefits, with the primary being the ability to automate much of your day-to-day administrative or repetitive tasks.
At SkyPrep, we believe integrating your LMS with third party systems is an important part of increasing your training efficiency and effectiveness. The documents that you find in the API section of our Help Center are intended to provide you with the information you need to get started with our APIs. As processes around APIs are added or modified, we will update the documentation to reflect the most up-to-date information.
Who this article is for
This article is for administrators and technical teams who want to connect an external system to SkyPrep using the SkyPrep API.
A non-technical admin should use this article to understand what information their technical team needs. A developer should use the API reference for exact endpoint parameters and responses.
Responsibilities
SkyPrep is responsible for:
Providing API documentation, endpoints, authentication requirements, and API key management.
Enforcing API key permissions and IP allowlists configured in SkyPrep.
Returning SkyPrep API responses and error messages.
Investigating unexpected SkyPrep-side API errors.
Your development team is responsible for:
Building, hosting, securing, and maintaining the integration code.
Keeping API keys secret and rotating keys when needed.
Sending the required parameters and headers.
Handling pagination, retries, validation errors, and failed responses.
Avoiding excessive or concurrent batch requests.
Testing API behavior in a sandbox when needed.
The external system is responsible for:
Providing its own API access, credentials, permissions, field definitions, and support.
Confirming that data sent to SkyPrep is accurate and formatted correctly.
Current Version
The current API version and available endpoints are listed in the SkyPrep API documentation. Use the endpoint paths and parameters shown in the API reference as the source of truth.
If SkyPrep introduces versioned API endpoints in the future, the API documentation will be updated to show the required version path.
API References & Documentation
Detailed documentation for all of SkyPrep’s publicly available APIs is available on our website. The documentation is constantly updated with the most up-to-date API version.
The link to the access documentation is:
Quick developer handoff
API base URL:
Recommended authentication headers:
X-SkyPrep-Acct-Key: your SkyPrep account key
X-SkyPrep-API-Key: your API key secret
Test endpoint:
Account key example:
acme.skyprepapp.com
Do not send API requests to your regular SkyPrep login domain. API requests should use https://api.skyprep.io.
curl -X POST "https://api.skyprep.io/admin/api/test_connection" \
-H "X-SkyPrep-Acct-Key: acme.skyprepapp.com" \
-H "X-SkyPrep-API-Key: YOUR_API_KEY_SECRET"
API Client Libraries
At this time, SkyPrep does not provide any client libraries for APIs. You need to set up your own package to start coding against our APIs.
API Call Limitations
SkyPrep may rate limit excessive API usage to protect platform performance. Avoid sending large batches concurrently, especially when creating or updating many users, enrollments, or records.
For batch jobs:
Process records in controlled batches.
Retry failed requests only after reading the error response.
Avoid repeatedly sending the same failed request.
API General Information
Schema
Our API can only be accessed via the HTTPS protocol to protect sensitive information being transferred between your system and SkyPrep.
All API responses will be sent in JSON format, with optional support for XML.
HTTP Verbs
Most SkyPrep admin API endpoints use POST requests. Parameters can be sent according to the endpoint documentation. Always check the API reference for the exact method and required parameters for the endpoint you are using.
Error Codes
The SkyPrep API returns the standard HTTP error codes to indicate whether a request was successful or not. Specifically, each client must be able to handle the following HTTP codes:
HTTP Code | Description |
200 - OK | Success - The task requested to the API has been performed. |
400 - Bad Request | The request was not correct, usually due to a parameter issue. |
401 - Unauthorized | The call was not properly authenticated. |
403 - Forbidden | The client's request is formed correctly but the API refuses to honor it. For example, in case the user does not have the necessary permissions for the resource. |
404 - Not Found | The requested resource doesn't exist. |
500 - Server Errors | The call generated an error on the SkyPrep side. |
API Authentication
Authentication
SkyPrep’s API uses API key authentication.
Every request must include:
"acct_key" : your SkyPrep account key, such as "acme.skyprepapp.com
"api_key" : your API key secret
We recommend sending these as HTTP headers:
X-SkyPrep-Acct-Key
X-SkyPrep-API-Key
They can also be sent as request parameters when required by your implementation.
All API calls should be made to:
For example, the call should be made to https://api.skyprep.io/admin/api/test_connection not https://acme.skyprepapp.com/admin/api/test_connection
The API key can be found in the System Configuration area of the platform.
Make sure to keep the api_key private and secure. DO NOT expose the API key (for example, in publicly-facing URLs, or within client-facing HTML/JS source code).
Activating and Setting Up the API
To view your API key, simply click on the Settings tab on the right and navigate to the System Configuration tab.
Scroll down to Integrations and click on API Key Manager.
On the next page, you can view your existing API keys as well as create new ones using the Add API Key button.
Please ensure that you copy the API key and verify that you did actually copy it by pasting it somewhere else as once you close the window that shows the full key, you will not be able to retrieve it again and you will need to create a new API key instead.
Important: SkyPrep only shows the full API key secret once, immediately after creation. After that, SkyPrep only shows an obfuscated version. If the secret is lost, create a new API key and update your integration.
You will also be required to provide your account key. Your account key is the URL that you use to login, such as acme.skyprepapp.com or training.mycompany.com if you have a custom domain enabled.
The API key can also have its access and permissions limited by clicking on the Edit button after its been created.
The dropdown lets you select the route that the API key has access to, with the default being full access.
Testing SkyPrep APIs
If you require a sandbox environment for testing API functionality, contact your account manager and one will be provided to you.
We recommend using Postman to test your API calls.
Start with:
A successful response confirms that the account key and API key are valid.
Troubleshooting
Before contacting SkyPrep Support, confirm:
The request is being sent to `https://api.skyprep.io`.
"X-SkyPrep-Acct-Key" is correct.
"X-SkyPrep-API-Key" is the full API key secret, not the obfuscated version.
The API key has permission for the route being called.
The request is coming from an allowed IP address, if IP restrictions are configured.
Required endpoint parameters are included.
Contact SkyPrep Support when:
SkyPrep returns an unexpected server error.
A documented endpoint behaves differently than expected.
You need help understanding a SkyPrep API error response.
Your development team should handle:
Writing the integration code.
Formatting requests.
Managing retries and failed responses.
Debugging external-system data before it is sent to SkyPrep.
When contacting Support, include the endpoint, timestamp, response body, affected user or record, and a redacted request sample. Do not send unredacted API keys, passwords, private keys, or full access tokens.
Common Use Cases
User management:
Create users, update user fields, deactivate users, and keep SkyPrep user data aligned with another system.
Enrollment automation:
Enroll users into Courses, Learning Paths, Groups, or other training objects based on events from another system.
Reporting and analytics:
Pull training records or generated reports into business intelligence tools such as Power BI.
Completion sync:
Send SkyPrep training activity or completion data to another system when your workflow requires it.
Custom workflows:
Connect SkyPrep to internal systems when a prebuilt SkyPrep integration is not available.
Reporting
Our regular reports (advanced reports aren't currently supported) can be pulled using the API. For example, you could have a report automatically generated if a user fails a course, allowing you to see exactly where they went wrong, or have reports scheduled to be sent out on a specific day.
Single Sign-On
Automatic sign-in from a third party service with support for JIT provisioning.
Pulling to interactive data visualization software such as Power BI
You can pull all training records and related objects into data visualization software for training analysis. Software such as Power BI allows you to pull data from SkyPrep and create your own reporting dashboards.
Gamification
Connect to third-party gamification loyalty programs where points can be tracked, added, and deducted from user profiles to allow for point-based transactions.




