HubstaffDeveloper Portal

Tracking states

View timer start and stop events per member

Recent changes (1)
  1. New endpoint

    Tracking states endpoint

    List timer start and stop events per member.

    Returns timer start/stop events for an organization’s members, each with its project_type (project/work_order/work_break). Filterable by occurred[start]/occurred[stop] (maximum 7-day range), user_ids, project_ids, and task_ids. Events on deleted projects are excluded; events from members removed from the organization are excluded unless include_removed=true. Keyset-paginated by id; requires the hubstaff:read scope.

List organization tracking states

GET/v2/organizations/{organization_id}/tracking_states

Returns timer start/stop events for members in the organization.

Each event has a type of start or stop, derived from the client-reported tracking state. Both the desktop and web timers report these events.

Results can be filtered by user_ids[], project_ids[], and task_ids[], within a required occurred[start]/[stop] time range (maximum 7 days).

Events on deleted projects are excluded. Events from members who have been removed from the organization are excluded by default; pass include_removed=true to include them.

Note: occurred_at is client-reported and may be backdated, so results are returned in insertion order (by id). Sort by occurred_at client-side to build a chronological timeline.

Parameters

NameInTypeDescription
organization_idrequired
pathinteger (int32)
page_start_id
queryinteger (int32)
The page start ID.
page_limit
queryinteger (int32)
The default page size
occurred[start]required
querystring (date-time)
Start time (ISO 8601)
occurred[stop]required
querystring (date-time)
Stop time (ISO 8601, exclusive)
user_ids
queryarray integer[]
List of user IDs
project_ids
queryarray integer[]
List of project IDs
task_ids
queryarray integer[]
List of task IDs
include_removed
queryboolean
Include events from members removed from the organization

Responses

200A list of tracking state events
object
  • tracking_statesarray
    array<object>
    items
    object

    TrackingState model

    • idinteger required

      Tracking state event ID

    • occurred_atstring required

      When the tracking state transition occurred (client-reported, UTC)

    • typestring required

      Event type: start or stop

    • user_idinteger required

      User ID

    • project_idinteger required

      Project ID

    • project_typestring required

      Project type (project, work_order, work_break)

    • task_idinteger required

      Task ID

Example response
json
{
  "tracking_states": [
    {
      "id": 0,
      "occurred_at": "2024-01-15T10:30:00Z",
      "type": "string",
      "user_id": 0,
      "project_id": 0,
      "project_type": "string",
      "task_id": 0
    }
  ]
}
400Invalid parameters
object

Hubstaff_Public_V2_Entities_Error model

  • codestring required

    Legacy string error code for backward compatibility

  • error_codeinteger

    Numeric error code for i18n/programmatic handling. Ranges: 10000-10999 (Auth), 11000-11999 (Validation), 12000-12999 (Resource), 13000-13999 (Rate Limit), 14000-14999 (Time Entry/Activity), 15000-15999 (System). See GET /v2/error_codes for full reference.

  • errorstring required

    Human-readable error message

  • detailsarray

    Per-attribute validation errors: [{attribute, error}]. Present on validation failures.

    array<string>

    Per-attribute validation errors: [{attribute, error}]. Present on validation failures.

    items
    string
Example response
json
{
  "code": "string",
  "error_code": 0,
  "error": "string",
  "details": [
    "string"
  ]
}
401Unauthorized
object

Hubstaff_Public_V2_Entities_Error model

  • codestring required

    Legacy string error code for backward compatibility

  • error_codeinteger

    Numeric error code for i18n/programmatic handling. Ranges: 10000-10999 (Auth), 11000-11999 (Validation), 12000-12999 (Resource), 13000-13999 (Rate Limit), 14000-14999 (Time Entry/Activity), 15000-15999 (System). See GET /v2/error_codes for full reference.

  • errorstring required

    Human-readable error message

  • detailsarray

    Per-attribute validation errors: [{attribute, error}]. Present on validation failures.

    array<string>

    Per-attribute validation errors: [{attribute, error}]. Present on validation failures.

    items
    string
Example response
json
{
  "code": "string",
  "error_code": 0,
  "error": "string",
  "details": [
    "string"
  ]
}
403API access is only for organizations on an active plan
object

Hubstaff_Public_V2_Entities_Error model

  • codestring required

    Legacy string error code for backward compatibility

  • error_codeinteger

    Numeric error code for i18n/programmatic handling. Ranges: 10000-10999 (Auth), 11000-11999 (Validation), 12000-12999 (Resource), 13000-13999 (Rate Limit), 14000-14999 (Time Entry/Activity), 15000-15999 (System). See GET /v2/error_codes for full reference.

  • errorstring required

    Human-readable error message

  • detailsarray

    Per-attribute validation errors: [{attribute, error}]. Present on validation failures.

    array<string>

    Per-attribute validation errors: [{attribute, error}]. Present on validation failures.

    items
    string
Example response
json
{
  "code": "string",
  "error_code": 0,
  "error": "string",
  "details": [
    "string"
  ]
}
404Could not find record
object

Hubstaff_Public_V2_Entities_Error model

  • codestring required

    Legacy string error code for backward compatibility

  • error_codeinteger

    Numeric error code for i18n/programmatic handling. Ranges: 10000-10999 (Auth), 11000-11999 (Validation), 12000-12999 (Resource), 13000-13999 (Rate Limit), 14000-14999 (Time Entry/Activity), 15000-15999 (System). See GET /v2/error_codes for full reference.

  • errorstring required

    Human-readable error message

  • detailsarray

    Per-attribute validation errors: [{attribute, error}]. Present on validation failures.

    array<string>

    Per-attribute validation errors: [{attribute, error}]. Present on validation failures.

    items
    string
Example response
json
{
  "code": "string",
  "error_code": 0,
  "error": "string",
  "details": [
    "string"
  ]
}
429Rate limit exceeded
object

Hubstaff_Public_V2_Entities_Error model

  • codestring required

    Legacy string error code for backward compatibility

  • error_codeinteger

    Numeric error code for i18n/programmatic handling. Ranges: 10000-10999 (Auth), 11000-11999 (Validation), 12000-12999 (Resource), 13000-13999 (Rate Limit), 14000-14999 (Time Entry/Activity), 15000-15999 (System). See GET /v2/error_codes for full reference.

  • errorstring required

    Human-readable error message

  • detailsarray

    Per-attribute validation errors: [{attribute, error}]. Present on validation failures.

    array<string>

    Per-attribute validation errors: [{attribute, error}]. Present on validation failures.

    items
    string
Example response
json
{
  "code": "string",
  "error_code": 0,
  "error": "string",
  "details": [
    "string"
  ]
}