Our Users API allows you to manage user accounts directly between your system and Springest. 

Access to this feature is currently restricted to authorized API users only. If you feel you need access to this feature, please contact

In order to process a user you need to send a POST request to the following endpoint:

POST  /users.(json|xml)?api_key=YOUR_PRIVATE_API_KEY

We support both creating and updating existing users. Users will be matched on email address. 

All data you send will override the existing data, even when a value is empty.

We support the following data fields:

Field Type Required Accepted format
email string yes
gender string no "male" or "female"
first_name string no
last_name string no
phone_number string no
birthdate string no yyyy-mm-dd
birthplace string no
company_name string no
address string no
house_number string no
zip_code string no
city string no
country string no
active boolean no default: true
job_title string no
external_id string no
department_name string no
cost_center string no
approvers array no
— email string yes
— label string yes
tags array no  


When you POST your data to our API we run some validations on our end and will only process the conversion when they pass. When they don't, we let you know. As such, there are a couple of possible responses:

  1. 201 Created
  2. When the user has been created successfully. It will return the ID of the user as a response. You can save this id as a reference to how we saved the booking.
  3. 400 Bad Request
  4. We were not able to process this user, the response will contain relevant validation errors.

Further details about specific fields


Background: read more about the "manager approval" feature here.

Possible situations to consider:

  • Approver does not exist yet
  • When adding approvers to a user, it's important that the approver has an existing, active user account. If you try to add an approver that does not exist, you will get validation errors.


Background: this field is only relevant when your organisation uses the "learning tracks" feature. Based on these tags, any learning tracks with matching tags will be assigned automatically to the user.

Instructions: this field should be an array of strings, separated by comma's. Special characters (including spaces) are allowed. Any uppercase letters will be downcased in our application.

Examples: ["Marketer", "Netherlands", "department-1"]