Abandon a time entry without recording its time
Marks the caller's own running or paused entry `abandoned` so its elapsed time is not counted anywhere, and returns it. Requires a workspace member with `time_entries:write` who can write the entry's target, and only the person the entry belongs to may abandon it. An unknown entry is reported as not found and an entry that is neither active nor paused is refused as a transition conflict. Naturally idempotent: abandoning an already-abandoned entry returns it unchanged.
Authorization
apiKey Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.
In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v1/workspaces/string/time-entries/string/abandon" \ -H "Content-Type: application/json" \ -d '{}'{ "data": { "entry": { "id": "string", "workspaceId": "string", "userId": "string", "userDisplayName": "string", "targetKind": "database_record", "targetId": "string", "targetTitleSnapshot": "string", "databaseId": "string", "fieldId": "string", "fieldLabelSnapshot": "string", "source": "timer", "mode": "stopwatch", "status": "active", "startedAt": "string", "endedAt": "string", "pausedAt": "string", "accumulatedPausedMs": 0, "durationMs": 0, "targetDurationMs": 0, "dueAt": "string", "summary": "string", "soundId": "none", "completedBy": "user", "shiftId": "string", "clientMutationId": "string", "createdByUserId": "string", "updatedByUserId": "string", "createdAt": "string", "updatedAt": "string" }, "serverTime": "string", "authoritativeElapsedMs": 0 }}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}{ "_tag": "ApiNotFound", "error": "not_found", "message": "That item does not exist, or this key cannot see it.", "status": 404}Stop a time entry and complete it
Completes the caller's own running or paused entry, freezing its authoritative duration, and returns the completed entry. Requires a workspace member with `time_entries:write` who can write the entry's target, and only the person the entry belongs to may stop it. An unknown entry is reported as not found and an entry that is neither active nor paused is refused as a transition conflict. Naturally idempotent: stopping an already-completed entry returns it unchanged.
Read the caller's open shift
Returns the caller's currently open or on-break shift in this workspace with its authoritative worked milliseconds, or null when they are not clocked in. Requires a workspace member with `time_entries:read` and the `time_tracking_v1` control enabled.