Vacation Entitlements

The API functions for Vacation Entitlements in Papershift

Create a Vacation Entitlement

Create new vacation entitlement for your papershift account

URL

https://app.papershift.com/public_api/v1/vacation_entitlements

Method

POST

Parameters
ParametersTypeRequired
api_tokenStringrequired
titleStringrequired
user_idIntegerrequired
user_external_idStringrequired if user_id not set
start_dateString (use ISO)optional
end_dateString (use ISO)optional
planned_daysFloatrequired
expiresBooleanoptional
transfer_remainingBooleanoptional
end_of_transfer_periodString (ISO format)required if transfer_remaining = true

A successful request returns the created vacation entitlement.

Example
{
    "api_token" : "xxxx23-b833-xxxx-af70-xxxx",
    "vacation_times": {
        "title": "Vacation Time",
        "starts_at": "2025-07-25T04:15:00+01:00",
        "ends_at": "2025-07-26T10:15:00+01:00",
        "user_external_id": "99090909",
        "planned_days": 10,
        "expires": true

    }
}
function createVacationEntitlement() {
  var params = {
    "api_token":  "XXXX",
    "vacation_times": {
      "title": "Vacation Time",
      "starts_at": "2025-07-25T04:15:00+01:00",
      "ends_at": "2025-07-26T10:15:00+01:00",
      "user_external_id": "99090909",
      "planned_days": 10,
      "expires": true
    }
};
  
  $.ajax({
          url: "https://app.papershift.com/public_api/v1/vacation_entitlements",
          type: 'POST',
          dataType: 'json',
          data: JSON.stringify(params),
          complete: function (data) {
            console.log(data.responseText);
          }
        });
      }
{
"vacation_times": [
  {
    "id": 2,
    "user_id": 30,
    "starts_at": "2024-05-20",
    "ends_at": "2024-06-05",
    "planned_days": 0.0,
    "spent_days": 0.0,
    "expires": true,
    "created_at": "2025-03-19T17:54:47Z",
    "updated_at": "2025-03-19T17:54:47Z",
    "title": "1",
    "transfer_remaining": false,
    "end_of_transfer_period": null,
    "transferred_days": 0.0,
    "transferred_to": null,
    "import_id": null,
    "status": "active",
    "locked": false
  }
]
}


Get Vacation Entitlement

Get Vacation Entitlement from your Papershift account

URL

https://app.papershift.com/public_api/v1/vacation_entitlements

Method

GET

Parameters
ParametersTypeRequired
api_tokenStringrequired
start_dateString (use ISO)optional
end_dateString (use ISO)optional
user_idIntegerrequired
user_external_idStringrequired if user_id not set
pageIntegeroptional

A successful request returns an array of the n-th 25 vacation entitlements depending
on the page param. You can also pass a user’s external- or record ID to only query for vacation entitlements of this specific user. Additionally, optional parameters such as start_date or end_date allow you to retrieve vacation entitlements within specific date range.

Example
{
	"api_token":"XXXX",
	"range_start":"2022-10-01",
	"range_end":"2022-10-31",
	"user_external_id":"User-001",
	"user_id":5,
	"page":1
}
function getAbsences() {
        var api_token = "XXXX";
        var range_start = "2022-10-01";
        var range_end = "2022-10-31";
  
        $.ajax({
          url: "https://app.papershift.com/public_api/v1/vacation_entitlements?api_token=" + api_token + "&start_date=" + start_date + "&end_date=" + end_date,
          type: 'GET',
          dataType: 'json',
          complete: function (data) {
            console.log(data.responseText);
          }
        });
      }
{
  "vacation_times": [
        {
       "id":2,
       "user_id":30,
       "starts_at":"2024-05-20",
       "ends_at":"2024-06-05",
       "planned_days":0.0,
       "spent_days":0.0,
       "expires":true,
       "created_at":"2025-03-19T17:54:47Z",
       "updated_at":"2025-03-19T17:54:47Z",
       "title":"1",
       "transfer_remaining":false,
       "end_of_transfer_period":null,
       "transferred_days":0.0,
       "transferred_to":null,
       "import_id":null,
       "status":"active",
       "locked":false
    }
  ],
  "page_number": 1,
  "total_pages": 1,
  "next_page": null
}