Time Tracking

The API functions for Time Tracking in Papershift



Create a new Time Tracking

Creates a new time tracking entry in your Papershift account

URL

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

Method

POST

Parameters

ParametersTypeRequired
api_tokenStringrequired
location_idIntegerrequired
location_external_idStringrequired if location_id is not set
working_area_idIntegerrequired
working_area_external_idStringrequired if working_area_id is not set
user_idIntegerrequired
user_external_idStringrequired if user_id is not set
starts_atString (use ISO)required
ends_atString (use ISO)required
manual_pauseInteger (in minutes)optional
external_idStringoptional

Information

Creating a time tracking entry requires a valid location, working area
and user within the authorized Enterprise. You either get these through
the external ID you simply set by yourself or the record’s ID
from the database.

Example

{
        "api_token":  "U6H2QWD6UWsI8sgs6TyvoK1E6HdliuTL2LgniO18",
        "working_session":    {
                        "location_external_id":     "Company-A",
                        "working_area_external_id": "Area-Alpha",
                        "user_external_id":         "User-001",
                        "starts_at":                "2015-10-31T08:30:00+00:00",
                        "ends_at":                  "2015-10-31T17:30:00+00:00",
                        "manual_pause":             60,
                        "external_id":              "WorkingSession-001"
                      }
      }
function createWorkingSession() {
        var params = {
          "api_token":  "rJkAk7Bzm5uDipfJY9aZtWhHxfsz06oO5ggJyvI7",
          "working_session": {
            "location_external_id":     "Company-A",
            "working_area_external_id": "Area-Alpha",
            "user_external_id":         "User-001",
            "starts_at":                "2015-10-31T08:30:00+00:00",
            "ends_at":                  "2015-10-31T17:30:00+00:00",
            "manual_pause":             60,
            "external_id":              "WorkingSession-001"
          }
        };
  
        $.ajax({
          url: "https://app.papershift.com/public_api/v1/working_sessions",
          type: 'POST',
          dataType: 'json',
          data: JSON.stringify(params),
          complete: function (data) {
            console.log(data.responseText);
          }
        });
      }
{
        "id":                       1491029,
        "starts_at":                "2015-10-31T09:30:00+01:00",
        "ends_at":                  "2015-10-31T18:30:00+01:00",
        "updated_at":               "2015-11-19T19:14:27+00:00",
        "location_id":              8006,
        "employee_id":              1,
        "break_time":               3600
      }



Update an existing Time Tracking

Update an existing time tracking entry in your Papershift account

URL

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

Method

PUT

Parameters

ParametersTypeRequired
api_tokenStringrequired
idIntegerrequired
external_idStringrequired if id not set
starts_atString (use ISO)required
ends_atString (use ISO)required
manual_pauseInteger (in minutes)optional
working_area_idIntegeroptional
working_area_external_idStringoptional
filters_idIntegeroptional

Information

Updating an existing time tracking entry requires finding the specific
record in the database. This can be achieved via the time tracking entry’s
external ID or record ID.

Example

{
        "api_token":  "U6H2QWD6UWsI8sgs6TyvoK1E6HdliuTL2LgniO18",
        "working_session":    {
                        "external_id":              "WorkingSession-001",
                        "starts_at":                "2015-10-31T08:15:00+00:00",
                        "ends_at":                  "2015-10-31T17:45:00+00:00",
                        "manual_pause":             50,
												"working_area_external_id": "Area-Alpha"
                      }
      }
function updateWorkingSession() {
        var params = {
          "api_token": "rJkAk7Bzm5uDipfJY9aZtWhHxfsz06oO5ggJyvI7",
          "working_session": {
            "external_id":  						"WorkingSession-001",
            "starts_at":    						"2015-10-31T08:15:00+00:00",
            "ends_at":      						"2015-10-31T17:45:00+00:00",
            "manual_pause": 						50,
            "working_area_external_id": "Area-Alpha"
          }
        };
  
        $.ajax({
          url: "https://app.papershift.com/public_api/v1/working_sessions",
          type: 'PUT',
          dataType: 'json',
          data: JSON.stringify(params),
          complete: function (data) {
            console.log(data.responseText);
          }
        });
      }
{
        "id":                       1491029,
        "starts_at":                "2015-10-31T09:15:00+01:00",
        "ends_at":                  "2015-10-31T18:45:00+01:00",
        "updated_at":               "2015-11-19T19:23:27+00:00",
        "location_id":              8006,
        "employee_id":              1,
        "break_time":               3000,
        "working_area_id": 					12
      }



Get Time Tracking by ID

Get a time tracking entry by its unique ID or external ID

URL

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

Method

GET

Parameters

ParametersTypeRequired
api_tokenstringrequired
idintegerrequired
external_idstringrequired if id is not set

Example

{
    "api_token": "XXXX",
    "id": 17325954
}
{
    "ends_at": "2019-06-10T18:00:00+02:00",
    "id": 17325954,
    "starts_at": "2019-06-10T08:00:00+02:00",
    "updated_at": "2018-09-18T10:46:10+02:00",
    "location_id": 60414,
    "employee_id": 245602,
    "breaks": [
        {
            "ends_at": "2019-06-10T15:54:00+02:00",
            "id": 9420514,
            "starts_at": "2019-06-10T14:54:00+02:00",
            "updated_at": "2018-09-26T17:22:02+02:00",
            "start_signature_id": null,
            "end_signature_id": null,
            "secure_id": "379bf999ea58561cae61f0d120519c27"
        }
    ],
    "break_time": 3600,
    "start_signature_id": null,
    "end_signature_id": null,
    "secure_id": "6312e2c07cc670c79d5567e8c40b6fdb",
    "filters": [
        {
            "id": 67087,
            "title": "Berater",
            "active": true,
            "external_id": null,
            "color": "#6C7A89"
        }
    ]
}



Get Time Tracking in Range

Get existing time tracking entries from your Papershift account

URL

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

Method

GET

Parameters

ParametersTypeRequired
api_tokenStringrequired
range_startString (use ISO)required
range_endString (use ISO)required
user_idIntegeroptional
user_external_idStringoptional
pageIntegeroptional
tagsString (must contain comma-separated tag IDs and/or zero for Time Tracking without tags)optional
company_idIntegerrequired if ‚tags‘ is specified and ‚company_external_id‘ is not specified
company_external_idStringrequired if ‚tags‘ is specified and ‚company_id‘ is not specified

Information

A successful request returns an array of the n-th 25 time tracking entry
depending on the page param. You can also pass a user’s external - or
record ID to only query for time tracking entries of this specific user.

It is possible to pass a list of tag IDs to only query time tracking entries
with tags specified by the given IDs. The list of tags IDs can also
contain a zero to include time tracking entries without any tags. The list of
tag IDs must be a comma-separated string which must contain positive
integers including zero, e.g. ‚3,7,15,0,8‘. When using the ‚tags‘
attribute, ‚company_id‘ or ‚company_external_id‘ must also be specified.

Example

{
        "api_token":                "U6H2QWD6UWsI8sgs6TyvoK1E6HdliuTL2LgniO18",
        "range_start":              "2015-10-01",
        "range_end":                "2015-10-31",
        "user_external_id":         "User-001",
        "user_id":                  5,
        "page":                     1
      }
function getWorkingSessions() {
        var api_token = "rJkAk7Bzm5uDipfJY9aZtWhHxfsz06oO5ggJyvI7";
        var range_start = "2015-10-01";
        var range_end = "2015-10-31";
        var page = 1;
  
        $.ajax({
          url: "https://app.papershift.com/public_api/v1/working_sessions?api_token=" + api_token + "&range_start=" + range_start + "&range_end=" + range_end + "&page=" + page,
          type: 'GET',
          dataType: 'json',
          complete: function (data) {
            console.log(data.responseText);
          }
        });
      }
{
        "working_sessions": [
          {
            "id":                       1491029,
            "starts_at":                "2015-10-31T09:15:00+01:00",
            "ends_at":                  "2015-10-31T18:45:00+01:00",
            "updated_at":               "2015-11-19T19:23:27+00:00",
            "location_id":              8006,
            "employee_id":              1,
            "break_time":               3000,
            "confirmed":                false,
            "last_edit_by":	        200178
          }
        ],
        "next_page": "https://app.papershift.com/public_api/v1/working_sessions?api_token=rJkAk7Bzm5uDipfJY9aZtWhHxfsz06oO5ggJyvI7&range_start=2015-10-01&range_end=2015-10-31&page=2
      }



Confirm existing Time Tracking

Confirm an existing time tracking entry in your Papershift account

URL

https://app.papershift.com/public_api/v1/working_sessions/confirm

Method

PUT

Parameters

ParametersTypeRequired
api_tokenStringrequired
idIntegerrequired
external_idStringrequired if id not set

Information

Confirming an existing time tracking entry requires finding the specific
record in the database. This can be achieved via the time tracking entry’s
external ID or record ID.

Example

{
    "api_token": "U6H2QWD6UWsI8sgs6TyvoK1E6HdliuTL2LgniO18",
    "working_session": {
        "id": "34567"
    }
}
{
    "ends_at": "2019-06-30T17:00:00+02:00",
    "id": 34567,
    "starts_at": "2019-06-30T09:00:00+02:00",
    "updated_at": "2019-07-01T09:57:07+02:00",
    "location_id": 234,
    "employee_id": 987654,
    "breaks": [],
    "break_time": 1800,
    "start_signature_id": null,
    "end_signature_id": null,
    "secure_id": "c3a17ab82e1f1782e1bb599b4550eac0",
    "filters": []
}



Delete an existing Time Tracking

Delete an existing time tracking entry in your Papershift account

URL

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

Method

DELETE

Parameters

ParametersTypeRequired
api_tokenStringrequired
idIntegerrequired
external_idStringrequired if id not set

Information

Deleting an existing time tracking entry requires finding the specific
record in the database. This can be achieved via the time tracking entry’s
external ID or record ID.

Example

{
        "api_token":  "U6H2QWD6UWsI8sgs6TyvoK1E6HdliuTL2LgniO18",
        "working_session":    {
               "external_id": "WorkingSession-001"
                      }
      }
function updateWorkingSession() {
        var params = {
          "api_token":  "rJkAk7Bzm5uDipfJY9aZtWhHxfsz06oO5ggJyvI7",
          "working_session": {
            "external_id":  "WorkingSession-001"
          }
        };
  
        $.ajax({
          url: "https://app.papershift.com/public_api/v1/working_sessions",
          type: 'DELETE',
          dataType: 'json',
          data: JSON.stringify(params),
          complete: function (data) {
            console.log(data.responseText);
          }
        });
      }
Response 200 (application/json)