Skip to main content
Skip table of contents

Worklog API


Create, Update, View or Delete worklogs with the same restrictions and rules as you would within the app.

All requests need to be made to this base URL:

https://jttp-cloud.everit.biz/timetracker/api/latest/public

Create worklog POST /worklog

Header parameters

Header Parameter

Optional

Description

x-everit-api-key

false

Generated Everit authentication token, see: REST API

x-everit-jwt deprecated

false

JWT token (deprecated, use the new x-everit-api-key instead)

x-requested-by

false

CSRF protection parameter. Can be empty or any dummy text.

x-timezone

true

The time zone of the user, for eg.: Europe/Budapest. If not specified defaults to UTC.

x-everit-on-behalf-account

true

The account id of the on behalf user.

Body

The POST body is a JSON object: NewWorklog

The available parameters of the NewWorklog:

Parameter

Value type

Optional

Description

description

string

true

The description of a worklog.

Example: “description”: “my description“

durationInSeconds

number

true

The duration of a worklog in seconds.
Example: “durationInSeconds”: 3600

isBillable

boolean

true

True if the worklog is billable.

Example: “isBillable”: true

issueId

number

true

The worklog was made on this issue.

Example: “issueId”: 10000

workDate

string

false

The day (ISO-8601 date in 'yyyy-MM-dd' format) when the work was made.

Example: “workDate”: “2023-04-24“

worklogTagIds

number[]

true

The IDs of the worklog tags assigned to this worklog.

Example: “worklogTagIds”: [1, 5]

workStartTime

string

true

The time (ISO-8601 time in 'HH:mm' format) when the work was started.

Example: “workStartTime”: "11:00"

Examples

POST URL: TIME_TRACKER_BASE_URL/timetracker/api/latest/public/worklog

Example post body:

CODE
{
    "description": "my description",
    "durationInSeconds": 3600,
    "isBillable": true,
    "worklogTagIds": [1, 5],
    "issueId": 10182,
    "workDate": "2023-04-24",
    "workStartTime": "12:00"
}

Example response:

200 Successful operation:

CODE
{
    "description": "my description",
    "durationInSeconds": 3600,
    "isBillable": true,
    "issueId": 10182,
    "jiraWorklogId": 230818,
    "workDate": "2023-04-24",
    "worklogId": 155,
    "worklogTagIds": [
        1,
        5
    ],
    "workStartTime": "12:00"
}

400 Invalid parameters:

An object that holds all field and non-field related errors:

CODE
{
  // Errors that are not tied to any specific field.
  "additionalErrors": [
    {
      "errorType": "JiraError" | "PeriodicLimit" | "PeriodicLoggablePeriod" | "PeriodicMaxHoursPerDay" | "TooManyDataForTimesheet" | "TooManyWorklogsToExport" | "NoActiveLicense" | "ManualUpgradeNeeded"
      "extra": // A field holding additional information related to the error
    }
  ],
  // Error response data for fields.
  "fieldErrors": [
    {
      "errorType": "Exceed" | "Invalid" | "InvalidByJira" | "InvalidFormat" | "LoggablePeriod" | "MaxHoursPerDay" | "Required" | "TooManyPeriodicIssues",
      // An array of string arrays containing the problematic field names.
      "paths": [
        [
          "string"
        ]
      ]
    }
  ]
}

401 Unauthorized

479 The user does not have one of the necessary Timetracker permissions that can be set in the Global Settings.

Update worklog PATCH /worklog

Header parameters

Header Parameter

Optional

Description

x-everit-api-key

false

Generated Everit authentication token, see: REST API

x-everit-jwt deprecated

false

JWT token (deprecated, use the new x-everit-api-key instead)

x-requested-by

false

CSRF protection paramter.

x-timezone

true

The time zone of the user, for eg.: Europe/Budapest. If not specified defaults to UTC.

x-everit-on-behalf-account

true

The account id of the on behalf user.

Body

The PATCH body is a JSON object: PatchWorklog

The available parameters of the PatchWorklog:

Parameter

Value type

Optional

Description

worklogId

number

false

The internal ID of the worklog to patch.

jiraWorklogId

number

true

The ID of the worklog as stored in Jira.

partialWorklog

PartialWorklog

false

The patch to apply on the worklog. Only the fields with defined values will be updated.

(info) You either use “worklogId” or “jiraWorklogId”. If both are specified, “worklogId” is stronger.

The available parameters of the PartialWorklog:

Parameter

Value type

Optional

Description

description

string

true

The description of a worklog.

durationInSeconds

number

true

The duration of a worklog in seconds.

isBillable

boolean

true

True if the worklog is billable.

issueId

number

true

The worklog was made on this issue.

workDate

string

true

The day (ISO-8601 date in 'yyyy-MM-dd' format) when the work was made.

worklogTagIds

number[]

true

The IDs of the worklog tags assigned to this worklog.

workStartTime

string

true

The time (ISO-8601 time in 'HH:mm' format) when the work was started.

Examples

  • PATCH URL: TIME_TRACKER_BASE_URL/timetracker/api/latest/public/worklog

Example patch body:

CODE
{
    "partialWorklog": {
        "description": "test description",
        "durationInSeconds": 3600,
        "isBillable": true,
        "issueId": 10329,
        "workDate": "2023-04-19",
        "worklogTagIds": [1, 5],
        "workStartTime": "08:15"
    },
    "worklogId": 181,
    "jiraWorklogId": 230818,
}

Example response:

200 The patch operation is accepted and processed. The result of the worklog patch can be found in the response body:

  • If there was no error during the patch the error object will be null and the patched worklog is returned:

    • CODE
      {
          "error": null,
          "worklog": {
              "description": "test description",
              "durationInSeconds": 10800,
              "isBillable": true,
              "issueId": 10329,
              "workDate": "2023-04-19",
              "worklogId": 181,
              "worklogTagIds": [
                  1,
                  5
              ],
              "workStartTime": "08:15"
          }
      }
  • If there was an error during the patch the error object will be filled:

    • CODE
      {
          "error": {
              "message": null,
              "result": "WORKLOG_NOT_FOUND",
              "worklogId": 181
          },
          "worklog": null
      }

400 Invalid parameters:

An object that holds all field and non-field related errors:

CODE
{
  // Errors that are not tied to any specific field.
  "additionalErrors": [
    {
      "errorType": "JiraError" | "PeriodicLimit" | "PeriodicLoggablePeriod" | "PeriodicMaxHoursPerDay" | "TooManyDataForTimesheet" | "TooManyWorklogsToExport" | "NoActiveLicense" | "ManualUpgradeNeeded"
      "extra": // A field holding additional information related to the error
    }
  ],
  // Error response data for fields.
  "fieldErrors": [
    {
      "errorType": "Exceed" | "Invalid" | "InvalidByJira" | "InvalidFormat" | "LoggablePeriod" | "MaxHoursPerDay" | "Required" | "TooManyPeriodicIssues",
      // An array of string arrays containing the problematic field names.
      "paths": [
        [
          "string"
        ]
      ]
    }
  ]
}

401 Unauthorized

479 The user does not have one of the necessary Timetracker permissions that can be set in the Global Settings.

Get worklog GET /worklog

Header parameters

Header Parameter

Optional

Description

x-everit-api-key

false

Generated Everit authentication token, see: REST API

x-everit-jwt deprecated

false

JWT token (deprecated, use the new x-everit-api-key instead)

x-timezone

true

The time zone of the user, for eg.: Europe/Budapest. If not specified defaults to UTC.

Query Parameters

The available query parameters for the request:

Query Parameter

Value type

Optional

Description

worklogId

number

false

The internal app ID of the worklog.

Example: /public/worklog?worklogId=107

jiraWorklogId

number

true

The ID of the worklog as stored in Jira.

Example: /public/worklog?jiraWorklogId=230818

(info) You either use “worklogId” or “jiraWorklogId”. If both are specified, “worklogId” is stronger.

Examples

  • GET URL: TIME_TRACKER_BASE_URL/timetracker/api/latest/public/worklog?worklogId=155

  • GET URL: TIME_TRACKER_BASE_URL/timetracker/api/latest/public/worklog?jiraWorklogId=230818

Example response:

200 Successful operation:

CODE
{
    "description": "my description",
    "durationInSeconds": 3600,
    "isBillable": true,
    "issueId": 10182,
    "jiraWorklogId": 230818,
    "workDate": "2023-04-24",
    "worklogId": 155,
    "worklogTagIds": [
        1,
        5
    ],
    "workStartTime": "12:00"
}
  • 400

    • Invalid parameters:

      • An object that holds all field and non-field related errors:

        CODE
        {
          // Errors that are not tied to any specific field.
          "additionalErrors": [
            {
              "errorType": "JiraError" | "PeriodicLimit" | "PeriodicLoggablePeriod" | "PeriodicMaxHoursPerDay" | "TooManyDataForTimesheet" | "TooManyWorklogsToExport" | "NoActiveLicense" | "ManualUpgradeNeeded"
              "extra": // A field holding additional information related to the error
            }
          ],
          // Error response data for fields.
          "fieldErrors": [
            {
              "errorType": "Exceed" | "Invalid" | "InvalidByJira" | "InvalidFormat" | "LoggablePeriod" | "MaxHoursPerDay" | "Required" | "TooManyPeriodicIssues",
              // An array of string arrays containing the problematic field names.
              "paths": [
                [
                  "string"
                ]
              ]
            }
          ]
        }
    • WorklogError:

      • CODE
        {
            "error": {
                "message": null,
                "result": "WORKLOG_NOT_FOUND",
                "worklogId": 123
            }
        }

401 Unauthorized

479 The user does not have one of the necessary Timetracker permissions that can be set in the Global Settings.

Delete worklog DELETE /worklog

Header parameters

Header Parameter

Optional

Description

x-everit-api-key

false

Generated Everit authentication token, see: REST API

x-everit-jwt deprecated

false

JWT token (deprecated, use the new x-everit-api-key instead)

x-requested-by

false

CSRF protection paramter.

x-timezone

true

The time zone of the user, for eg.: Europe/Budapest. If not specified defaults to UTC.

Query Parameters

The available query parameters for the request:

Query Parameter

Value type

Optional

Description

worklogId

number

false

The ID of the worklog.

Example: /public/worklog?worklogId=107

jiraWorklogId

number

true

The ID of the worklog as stored in Jira.

Example: /public/worklog?jiraWorklogId=230818

(info) You either use “worklogId” or “jiraWorklogId”. If both are specified, “worklogId” is stronger.

Examples

  • DELETE URL: TIME_TRACKER_BASE_URL/timetracker/api/latest/public/worklog?worklogId=123

  • DELETE URL: TIME_TRACKER_BASE_URL/timetracker/api/latest/public/worklog?jiraWorklogId=230818

Example response:

200 The delete operation is accepted and processed. The result of the worklog delete can be found in the response body:

  • If there was no error during the deletion the error object will be null:

    • CODE
      {
          "error": null
      }
  • If there was an error during the deletion the error object will be filled:

    • CODE
      {
          "error": {
              "message": null,
              "result": "WORKLOG_NOT_FOUND",
              "worklogId": 123
          }
      }

400 Invalid parameters:

An object that holds all field and non-field related errors:

CODE
{
  // Errors that are not tied to any specific field.
  "additionalErrors": [
    {
      "errorType": "JiraError" | "PeriodicLimit" | "PeriodicLoggablePeriod" | "PeriodicMaxHoursPerDay" | "TooManyDataForTimesheet" | "TooManyWorklogsToExport" | "NoActiveLicense" | "ManualUpgradeNeeded"
      "extra": // A field holding additional information related to the error
    }
  ],
  // Error response data for fields.
  "fieldErrors": [
    {
      "errorType": "Exceed" | "Invalid" | "InvalidByJira" | "InvalidFormat" | "LoggablePeriod" | "MaxHoursPerDay" | "Required" | "TooManyPeriodicIssues",
      // An array of string arrays containing the problematic field names.
      "paths": [
        [
          "string"
        ]
      ]
    }
  ]
}

401 Unauthorized

479 The user does not have one of the necessary Timetracker permissions that can be set in the Global Settings.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.