Skip to main content
POST
/
{team_id}
/
time
/
entries
Create a time entry (idempotent)
curl --request POST \
  --url https://api.superthread.com/v1/{team_id}/time/entries \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "01HQK6Z9YJZ4M9JX8FVB6QXYAB",
  "scope_type": "card",
  "scope_id": "2700",
  "started_at": 1608742037016,
  "duration_seconds": 1800,
  "description": "Pairing with Alex on the API spec",
  "billable": true
}
'
{
  "time_entry": {
    "id": "01HQK6Z9YJZ4M9JX8FVB6QXYAB",
    "type": "time_entry",
    "team_id": "tDsu0j19",
    "scope_type": "card",
    "scope_id": "2700",
    "user_id": "uR2dws11",
    "started_at": 1608742037016,
    "duration_seconds": 1800,
    "description": "Pairing with Alex on the API spec",
    "billable": true,
    "rate_snapshot_cents": 12500,
    "deleted_at": 1608742037016,
    "locked_at": 1608742037016,
    "time_created": 1608742037016,
    "time_updated": 1608742037016
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

team_id
string
required

Team ID is an alphanumerical string that identifies a Team. This is externally referred to as a "Workspace".

Body

application/json

Time entry to create.

id
string
required

Client-supplied ULID. Repeating the same id makes the call idempotent.

Example:

"01HQK6Z9YJZ4M9JX8FVB6QXYAB"

scope_type
enum<string>
required

Scope a time entry attaches to. card ties the entry to a specific card (and rolls up to its epic), while category ties the entry to a workspace-level time category not associated with any card.

Available options:
card,
category
Example:

"card"

scope_id
string
required
Example:

"2700"

started_at
integer<int64>
required

unix timestamp in seconds

Example:

1608742037016

duration_seconds
integer<int64>
required
Example:

1800

description
string | null
Example:

"Pairing with Alex on the API spec"

billable
boolean | null

Defaults to the category default (or workspace default) when omitted.

Response

Existing time entry returned (idempotent replay)

time_entry
object