Time Tracking

The API functions for Time Tracking in Papershift



Create a new Time Tracking

Creates a new Time Tracking in your Papershift Account

URL

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

Method

POST

Parameters

Parameters

Type

Required

api_token

String

required

location_id

Integer

required

location_external_id

String

required if location_id is not set

working_area_id

Integer

required

working_area_external_id

String

required if working_area_id is not set

user_id

Integer

required

user_external_id

String

required if user_id is not set

starts_at

String (use ISO)

required

ends_at

String (use ISO)

required

manual_pause

Integer (in minutes)

optional

external_id

String

optional

Information

Creating Time Tracking 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 in you Papershift Account

URL

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

Method

PUT

Parameters

Parameters

Type

Required

api_token

String

required

id

Integer

required

external_id

String

required if id not set

starts_at

String (use ISO)

required

ends_at

String (use ISO)

required

manual_pause

Integer (in minutes)

optional

working_area_id

Integer

optional

working_area_external_id

String

optional

Information

To update an existing Time Tracking requires finding the specific
record in the Database. This can be achieved via the Time Tracking’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 Time Tracking by its unique ID or external ID

URL

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

Method

GET

Parameters

Parameters

Type

Required

api_token

string

required

id

integer

required (if external_id not set)

external_id

string

required (if id 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 from your Papershift Account

URL

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

Method

GET

Parameters

Parameters

Type

Required

api_token

String

required

range_start

String (use ISO)

required

range_end

String (use ISO)

required

user_id

Integer

optional

user_external_id

String

optional

page

Integer

optional

tags

String (must contain comma-separated tag IDs and/or zero for Time Tracking without tags)

optional

company_id

Integer

required if ‚tags‘ is specified and ‚company_external_id‘ is not specified

company_external_id

String

required if ‚tags‘ is specified and ‚company_id‘ is not specified

Information

A Successful Request returns an Array of the n-th 25 Time Tracking
depending on the Page-Param. You can also pass a User’s External- or
Record-ID to only query for Time Tracking of this specific User.

It is possible to pass a list of tag IDs to only query Time Tracking
with tags specified by the given IDs. The list of tags IDs can also
contain a zero to include Time Tracking without any tags. The list of
tag IDs must be a comma-separated string that 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 in your Papershift Account

URL

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

Method

PUT

Parameters

Parameters

Type

Required

api_token

String

required

id

Integer

required

external_id

String

required if id not set

Information

To confirm an existing Time Tracking requires finding the specific
record in the Database. This can be achieved via the Time Tracking’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 in your Papershift Account

URL

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

Method

DELETE

Parameters

Parameters

Type

Required

api_token

String

required

id

Integer

required

external_id

String

required if id not set

Information

To delete an existing Time Tracking requires finding the specific
record in the Database. This can be achieved via the Time Tracking’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)