HubstaffDeveloper Portal

Time edit logs

Audit trail of manual time entry modifications

List organization time edit logs

GET/v2/organizations/{organization_id}/time_edit_logs

Returns a collection of time edit logs (manual time additions/edits/deletions) for the given organization.

Results can be filtered by created[start]/[stop], user_ids[], task_ids[], and project_ids[].

Note: Date range limit is 31 days. Earliest date is 3 years ago.

Parameters

NameInTypeDescription
organization_idrequired
pathinteger (int32)
page_start_id
queryinteger (int32)
The page start ID.
page_limit
queryinteger (int32)
The default page size
created[start]required
querystring (date-time)
Start time (ISO 8601)
created[stop]required
querystring (date-time)
Stop time (ISO 8601, exclusive)
user_ids
queryarray integer[]
List of user IDs
task_ids
queryarray integer[]
List of task IDs
project_ids
queryarray integer[]
List of project IDs
include
queryarray string[]
Specify related data to side load.
Possible valuesusersprojectstasks

Responses

200A list of time edit logs
object
  • time_edit_logsarray
    array<object>
    items
    object

    TimeEditLog model

    • idinteger required

      Time edit log ID

    • created_atstring required

      When the record was created

    • starts_atstring required

      The start time of the final time entry

    • stops_atstring required

      The stop time of the final time entry

    • original_starts_atstring

      The start time of the original time entry

    • original_stops_atstring

      The stop time of the original time entry

    • blame_user_idinteger required

      User ID who created the time edit log

    • user_idinteger required

      User ID to which the time edit log belongs

    • original_project_idinteger

      Original Project ID

    • original_task_idinteger

      Original Task ID

    • project_idinteger

      Project ID

    • task_idinteger

      Task ID

    • actionstring required

      Action type

    • added_durationinteger required

      The number of seconds that were added due to this edit

    • deleted_durationinteger required

      The number of seconds that were deleted due to this edit

    • replaced_durationinteger required

      The number of seconds that were replaced due to this edit

    • reasonstring required

      Reason for making the change

Example response
json
{
  "time_edit_logs": [
    {
      "id": 0,
      "created_at": "2024-01-15T10:30:00Z",
      "starts_at": "2024-01-15T10:30:00Z",
      "stops_at": "2024-01-15T10:30:00Z",
      "original_starts_at": "2024-01-15T10:30:00Z",
      "original_stops_at": "2024-01-15T10:30:00Z",
      "blame_user_id": 0,
      "user_id": 0,
      "original_project_id": 0,
      "original_task_id": 0,
      "project_id": 0,
      "task_id": 0,
      "action": "string",
      "added_duration": 0,
      "deleted_duration": 0,
      "replaced_duration": 0,
      "reason": "string"
    }
  ]
}
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"
  ]
}

List project time edit logs

GET/v2/projects/{project_id}/time_edit_logs

Returns a collection of time edit logs (manual time additions/edits/deletions) for the given project.

Results can be filtered by created[start]/[stop], user_ids[], task_ids[], and project_ids[].

Note: Date range limit is 31 days. Earliest date is 3 years ago.

Parameters

NameInTypeDescription
project_idrequired
pathinteger (int32)
page_start_id
queryinteger (int32)
The page start ID.
page_limit
queryinteger (int32)
The default page size
created[start]required
querystring (date-time)
Start time (ISO 8601)
created[stop]required
querystring (date-time)
Stop time (ISO 8601, exclusive)
user_ids
queryarray integer[]
List of user IDs
task_ids
queryarray integer[]
List of task IDs
include
queryarray string[]
Specify related data to side load.
Possible valuesusersprojectstasks

Responses

200A list of time edit logs
object
  • time_edit_logsarray
    array<object>
    items
    object

    TimeEditLog model

    • idinteger required

      Time edit log ID

    • created_atstring required

      When the record was created

    • starts_atstring required

      The start time of the final time entry

    • stops_atstring required

      The stop time of the final time entry

    • original_starts_atstring

      The start time of the original time entry

    • original_stops_atstring

      The stop time of the original time entry

    • blame_user_idinteger required

      User ID who created the time edit log

    • user_idinteger required

      User ID to which the time edit log belongs

    • original_project_idinteger

      Original Project ID

    • original_task_idinteger

      Original Task ID

    • project_idinteger

      Project ID

    • task_idinteger

      Task ID

    • actionstring required

      Action type

    • added_durationinteger required

      The number of seconds that were added due to this edit

    • deleted_durationinteger required

      The number of seconds that were deleted due to this edit

    • replaced_durationinteger required

      The number of seconds that were replaced due to this edit

    • reasonstring required

      Reason for making the change

Example response
json
{
  "time_edit_logs": [
    {
      "id": 0,
      "created_at": "2024-01-15T10:30:00Z",
      "starts_at": "2024-01-15T10:30:00Z",
      "stops_at": "2024-01-15T10:30:00Z",
      "original_starts_at": "2024-01-15T10:30:00Z",
      "original_stops_at": "2024-01-15T10:30:00Z",
      "blame_user_id": 0,
      "user_id": 0,
      "original_project_id": 0,
      "original_task_id": 0,
      "project_id": 0,
      "task_id": 0,
      "action": "string",
      "added_duration": 0,
      "deleted_duration": 0,
      "replaced_duration": 0,
      "reason": "string"
    }
  ]
}
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"
  ]
}