SnozeDevelopers
API referenceTime tracking

List shifts in a workspace

Returns shifts narrowed by `from`, `to`, `memberId`, and `status`, each with its worked and break totals. Requires a workspace member with `time_entries:read` and the `time_tracking_v1` control enabled; an invalid date, a reversed range, or a malformed `memberId` is rejected. Pass `limit` to cap the page size.

GET
/v1/workspaces/{workspaceId}/shifts
AuthorizationBearer <token>

Workspace API key created in Workspace settings → API keys. Scopes on the key bound what it can read and write.

In: header

Path Parameters

workspaceId*string

Query Parameters

from?string|null
to?string|null
memberId?string|null
status?string|null
limit?string|null

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/workspaces/string/shifts"
{  "data": {    "shifts": [      {        "id": "string",        "workspaceId": "string",        "userId": "string",        "userDisplayName": "string",        "status": "open",        "startedAt": "string",        "endedAt": "string",        "breakStartedAt": "string",        "accumulatedBreakMs": 0,        "workedMs": 0,        "closedBy": "user",        "note": "string",        "createdByUserId": "string",        "updatedByUserId": "string",        "createdAt": "string",        "updatedAt": "string"      }    ],    "hasMore": true  }}