Skip to main content

Introduction to SkyPrep APIs

Written by Stephen Chang

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.

-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:

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.

Did this answer your question?