Sync a time entry from an external system
POST/integration/time-entries
Idempotently creates a time entry from an external provider (e.g. Illumera). The combination of
externalSystem + externalId is used as the idempotency key: a second call with the same pair
returns the existing entry (HTTP 200) without creating a duplicate.
Requires an org-scoped API key — project-scoped keys are rejected with scope_violation.
Plan gate: the organisation must have the time_tracking feature enabled; disabled workspaces
receive a 402 response with reason: feature_disabled.
Accepts an optional Idempotency-Key header for network-level replay safety.
Request
Header Parameters
Optional idempotency key (24 h cache). Repeat calls with the same key and path return the cached response.
Body
required
Align project UUID the time entry belongs to.
Possible values: non-empty
7b1e2c3d-0000-0000-0000-000000000001Align user UUID who performed the work.
Possible values: non-empty
9a8b7c6d-0000-0000-0000-000000000002ISO date (YYYY-MM-DD) or ISO 8601 datetime string for the day the work occurred.
2025-01-15Duration of the work in minutes (1–1440).
Possible values: >= 1 and <= 1440
150Whether the time is billable. Defaults to true.
trueFree-text description of the work performed (max 2000 chars).
Possible values: <= 2000 characters
Sprint planning session.UUID of an existing Align entry/ticket to associate with this time entry. Must belong to the specified project.
3fa85f64-5717-4562-b3fc-2c963f66afa6Identifier for the external system originating this time entry (e.g. illumera, jira, harvest).
Possible values: non-empty
illumeraStable unique ID for this time entry within the external system. Used as the idempotency key: a second call with the same externalSystem + externalId returns the existing entry without creating a duplicate.
Possible values: non-empty
illumera-te-001externalMetadata
object
Arbitrary key-value metadata from the external system (e.g. task name, project code). Stored as-is and returned on reads.
Arbitrary key-value metadata from the external system (e.g. task name, project code). Stored as-is and returned on reads.
Time entry already existed (idempotent replay). created is false in the response body.
Schema
3fa85f64-5717-4562-b3fc-2c963f66afa67b1e2c3d-0000-0000-0000-0000000000019a8b7c6d-0000-0000-0000-0000000000023fa85f64-5717-4562-b3fc-2c963f66afa6null2025-01-152.5150Sprint planning session.trueillumeraPossible values: [draft, submitted, approved, rejected, locked, invoiced]
draftfalse2025-01-15T08:00:00Z2025-01-15T10:30:00ZUUID of the integration link that was created or matched for externalSystem + externalId.
aa1b2c3d-0000-0000-0000-000000000099True when a new time entry was created; false when the existing entry was returned (idempotent replay).
true