Integrations Hub

Trusted solutions built for a changing world

LMS/LXP

HRIS

Data Analytics

Build Your Own Integrations

LMS/LXP

HRIS

Data Analytics

Build Your Own Integrations

Setup

In this article:


Post method


This section describes how to deprovision users by submitting a CSV file to Pluralsight. By default, the process runs as a "dry run," meaning the operations to remove user licenses in Pluralsight are generated and stored but not applied. This allows you to review the data and confirm it meets your expectations. To apply the changes, set the dryRun parameter in the URL to false. See the "Turning off Dry Run" section below for details.


API request details


API requests should be delivered to an endpoint appended to the production URL https://integrations-api.pluralsight.com.


SectionDetails
EndpointPOST /deprovision
HTTP methodPOST
DescriptionSubmit a CSV file containing all users to be deprovisioned. By default, the deprovision process runs as a "dry run," meaning the operations to remove user licenses in Pluralsight are generated and stored but not applied. This allows you to review the data and confirm it meets your expectations. To apply the changes, set the dryRun parameter in the URL to false. See the "Turning off Dry Run" section below for details.
Headers

Content-Type: text/csv

Content-Disposition: attachment; filename="deprovision.csv"

Body

Provide either the deprovision.csv file as described below.

Provision CSV file

File Name: deprovision.csv

Required CSV Headers:

  • id
  • email
  • first_name
  • last_name

Each user must have a unique id (preferably the same id used for SSO integration with Pluralsight).


Note: Filter out users missing id or email fields; these are required and will cause errors. Ensure that all users have unique id and email. Avoid special characters in the file (e.g., quotation marks, commas, symbols) to prevent parsing errors.


URL parameters and responses


Dry run (dryRun)


What It Does:

  • Dry Run lets you generate and store the operations to remove user licenses without actually applying the changes in Pluralsight. This allows you to review the data to ensure everything would appear as expected.

Default Setting:

  • true (meaning changes are not applied by default)

How to Use:

  • To apply changes, add ?dryRun=false to the end of your endpoint URL.

Example URL:

  • https://integrations-api.pluralsight.com/deprovision?dryRun=false

Strict mode (exitOnError)


What It Does:

  • Strict Mode forces the deprovisioning process to stop if any errors occur. Without Strict Mode, the process continues, skipping any users that cause errors.

Default Setting:

  • false (meaning the process continues without stopping even if errors occur)

How to Use:

  • To turn on Strict Mode and stop the process when errors are encountered, add ?exitOnError=true to the end of your endpoint URL.

Example URL:

  • https://integrations-api.pluralsight.com/deprovision?exitOnError=true

Turning off Remove Users


What It Does:

  • This setting allows you to retain or remove users from your plan as well as remove their licenses.

Default Setting:

  • true (meaning users are removed from the plan)

How to Use:

  • To retain users on plan and only remove licenses, add ?removeUsers=false to the end of your endpoint URL.

Example URL:

  • https://integrations-api.pluralsight.com/deprovision?removeUsers=false

Turning on Retain Privileges


What It Does:

  • This setting allows you to strip users of their privileges (e.g., managerial status). To retain user privileges after license removal, enable this flag.

Default Setting:

  • false (meaning privileges are removed)

How to Use:

  • To retain privileges, set both ?retainPrivileges=true&removeUsers=false.

Example URL:

  • https://integrations-api.pluralsight.com/deprovision?retainPrivileges=true&removeUsers=false

Possible responses


StatusMessageCode
No files submitted{"status": "No files"}400
In progress{"status": "Processing"}200
Validation errors{"status": "Validation Completed With Errors"}400
Deprovision errors{ "status": "Completed With Errors" }400
Success{"status": "Completed Successfully"}200

Full example:

curl 
  -T deprovision.csv 
  -X POST 
  -H "Authorization: Bearer [insert-your-api-key-here]" 
  -H 'Content-Disposition: attachment; filename="deprovision.csv"' 
  -H "Content-Type: text/csv" 
  https://integrations-api.pluralsight.com/deprovision