Knowledge Base Articles

Reassigning / Moving Worklogs Between Users

Question

Can we move (reassign) a worklog from one user to another?

Answer

Yes, but only via the Tempo REST API, not through the Jira or Tempo UI.

Neither Jira's native worklog UI nor the Tempo Timesheets UI exposes a way to change who a worklog belongs to.


How to do it via the Tempo REST API

Prerequisites

  • A Tempo API token (Bearer token) with permission to manage worklogs.

  • The Jira account ID of the user you want to move the worklog to (find via the Jira /rest/api/3/user/search endpoint or Jira admin user management).

  • The Tempo worklog ID for the worklog you want to reassign — note this is not the same as the Jira worklog ID.

Step 1 — Look up the Tempo worklog ID

Tempo keeps its own internal worklog ID separate from the Jira worklog ID. If you only have the Jira worklog ID, resolve it first:

Bash
curl -X GET \
  https://api.tempo.io/4/worklogs/jira/{jiraWorklogId} \
  -H 'Authorization: Bearer {tempoApiToken}' \
  -H 'Content-Type: application/json'

The response includes tempoWorklogId, which you'll use in the next step.

Step 2 — Update the worklog's author

Call the update (PUT) endpoint for that worklog, passing the target user's Jira accountId in the authorAccountId field:

Bash
curl -X PUT \
  https://api.tempo.io/4/worklogs/{tempoWorklogId} \
  -H 'Authorization: Bearer {tempoApiToken}' \
  -H 'Content-Type: application/json' \
  -d '{
        "issueId": 12868,
        "timeSpentSeconds": 3600,
        "billableSeconds": 3600,
        "startDate": "2019-11-27",
        "startTime": "16:11:15",
        "authorAccountId": "557058:3322bc29-17c6-493f-b4f5-1945319acf06"
      }'

Note: The PUT call replaces the full worklog record, so include the other fields (issueId, time spent, date, etc.) alongside authorAccountId — not just the field you're changing — to avoid unintentionally clearing data.

Step 3 — Verify

Re-fetch the worklog (GET /4/worklogs/{tempoWorklogId}) and confirm the author.accountId now reflects the new user.


Common use cases

  • Correcting a worklog logged under the wrong account after an org restructure or account migration.

  • Reassigning worklogs when a user's Jira account was recreated (e.g., email/domain change resulted in a new accountId).

  • Cleaning up worklogs after a Cloud migration, where entries temporarily land under a generic "Tempo Timesheets" app user.

Limitations / things to watch for

  • Bulk reassignment (many worklogs at once) requires scripting this call in a loop; there's no native bulk-reassign endpoint.