API Documentation

API Endpoint

Time Entries

Time Entries

Time entry object represents spent time for a person.

Time can be spent tracking on a service or on a time off event.

When tracked on a service, time entry can also belong to a task.

When time entry belongs to a task, time tracked on time entry represents task worked time and will decrease time to complete on the task.

Time entry can represent:

  • Worked hours (without start and end time)

  • Worked time period (with start and end time) - in a form of a timer. More on timers here.

Following diagram shows time entries in our data hierarchy:

Time entry diagram

You can find out more about Time entries in our Help documentation for My Time

Supported filter params

  • after (date)

  • approved_at (date)

  • approver_id (array)

  • autotracked

  • before (date)

  • billing_type_id (1: fixed, 2: actuals, 3: non_billable)

  • booking_id (array)

  • budget_id (array)

  • company_id (array)

  • creator_id (array)

  • date

  • deal_id (array)

  • id

  • invoicing_status (1: not_invoiced, 2: drafted, 3: finalized)

  • invoice_attribution_id (array)

  • invoice_id (array)

  • invoiced (boolean)

  • jira_issue_id

  • jira_issue_status

  • jira_issue_summary

  • jira_worklog_id

  • last_activity_at (date)

  • last_actor_id (array)

  • person_id (array)

  • project_id (array)

  • responsible_id (array)

  • service_id (array)

  • started_at (date)

  • status (1: approved, 2: unapproved, 3: rejected)

  • status with timesheet submission feature (1: approved, 2: unapproved, 3: rejected, 5: submitted, 6: draft)

  • task_id (array)

  • time (integer)

  • track_method_id (array)

  • updated_at (date)

Supported sort params

  • date

  • updated_at

  • jira_issue_id

  • jira_issue_status

  • jira_issue_summary

Filter operations are supported on this endpoint.

GET /api/v2/time_entries
Requestsreturns time entriesreturns time entriesreturns error

GET  /api/v2/time_entries

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "222",
      "type": "time_entries",
      "attributes": {
        "date": "2016-10-01",
        "created_at": "2025-08-01T06:18:41.728+02:00",
        "time": 480,
        "billable_time": 480,
        "note": "test note",
        "track_method_id": 1,
        "started_at": null,
        "timer_started_at": null,
        "timer_stopped_at": null,
        "approved": false,
        "approved_at": null,
        "updated_at": "2025-08-01T06:18:41.728+02:00",
        "calendar_event_id": null,
        "invoice_attribution_id": null,
        "invoiced": false,
        "overhead": false,
        "rejected": false,
        "rejected_reason": null,
        "rejected_at": null,
        "last_activity_at": "2025-08-01T06:18:41.728+02:00",
        "submitted": false,
        "currency": "USD",
        "currency_default": "USD",
        "currency_normalized": "USD",
        "cost": 0,
        "cost_default": 0,
        "cost_normalized": 0,
        "work_cost": 0,
        "work_cost_default": 0,
        "work_cost_normalized": 0,
        "overhead_cost": 0,
        "overhead_cost_default": 0,
        "overhead_cost_normalized": 0,
        "internal_overhead_cost": 0,
        "internal_overhead_cost_default": 0,
        "internal_overhead_cost_normalized": 0,
        "facility_overhead_cost": 0,
        "facility_overhead_cost_default": 0,
        "facility_overhead_cost_normalized": 0
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "2051"
          }
        },
        "person": {
          "meta": {
            "included": false
          }
        },
        "service": {
          "meta": {
            "included": false
          }
        },
        "task": {
          "meta": {
            "included": false
          }
        },
        "approver": {
          "meta": {
            "included": false
          }
        },
        "updater": {
          "meta": {
            "included": false
          }
        },
        "rejecter": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "last_actor": {
          "meta": {
            "included": false
          }
        },
        "person_subsidiary": {
          "meta": {
            "included": false
          }
        },
        "deal_subsidiary": {
          "meta": {
            "included": false
          }
        },
        "timesheet": {
          "meta": {
            "included": false
          }
        },
        "approval_statuses": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "links": {
    "first": "http://api-test.productive.io/api/v2/time_entries?page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/time_entries?page%5Bnumber%5D=1&page%5Bsize%5D=30"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 1,
    "total_count": 1,
    "page_size": 30,
    "max_page_size": 200
  }
}

GET  /api/v2/time_entries?filter[after]=2019-10-21&sort=date

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [],
  "links": {
    "first": "http://api-test.productive.io/api/v2/time_entries?filter%5Bafter%5D=2019-10-21&page%5Bnumber%5D=1&page%5Bsize%5D=30&sort=date",
    "last": "http://api-test.productive.io/api/v2/time_entries?filter%5Bafter%5D=2019-10-21&page%5Bnumber%5D=0&page%5Bsize%5D=30&sort=date"
  },
  "meta": {
    "current_page": 1,
    "total_pages": 0,
    "total_count": 0,
    "page_size": 30,
    "max_page_size": 200
  }
}

GET  /api/v2/time_entries?filter[after]=10/21/19&sort=date

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses400
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "unprocessable_entity",
      "code": "unsupported_filter_value_type",
      "title": "Unsupported filter value type",
      "detail": "Unsupported value '10/21/19' for filter 'after' on this endpoint. Expected a value of type 'Date'",
      "source": {
        "parameter": "filter[after]"
      }
    }
  ]
}

Get time entries
GET/api/v2/time_entries


GET /api/v2/time_entries/1
Requestsreturns time_entry

GET  /api/v2/time_entries/225

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "225",
    "type": "time_entries",
    "attributes": {
      "date": "2016-10-01",
      "created_at": "2025-08-01T06:18:42.599+02:00",
      "time": 480,
      "billable_time": 480,
      "note": "test note",
      "track_method_id": 1,
      "started_at": null,
      "timer_started_at": null,
      "timer_stopped_at": null,
      "approved": false,
      "approved_at": null,
      "updated_at": "2025-08-01T06:18:42.599+02:00",
      "calendar_event_id": null,
      "invoice_attribution_id": null,
      "invoiced": false,
      "overhead": false,
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "last_activity_at": "2025-08-01T06:18:42.599+02:00",
      "submitted": false,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "cost": 0,
      "cost_default": 0,
      "cost_normalized": 0,
      "work_cost": 0,
      "work_cost_default": 0,
      "work_cost_normalized": 0,
      "overhead_cost": 0,
      "overhead_cost_default": 0,
      "overhead_cost_normalized": 0,
      "internal_overhead_cost": 0,
      "internal_overhead_cost_default": 0,
      "internal_overhead_cost_normalized": 0,
      "facility_overhead_cost": 0,
      "facility_overhead_cost_default": 0,
      "facility_overhead_cost_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2054"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "task": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "person_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "deal_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "timesheet": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Gets a time entry
GET/api/v2/time_entries/{id}

URI Parameters
HideShow
id
number (required) Example: 1

time_entry id


POST /api/v2/time_entries
Requestscreates time_entry and tracks intercom eventreturns errorcreates time_entry with salary currency

POST  /api/v2/time_entries

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "time_entries",
    "attributes": {
      "note": "test note",
      "date": "2016-10-01",
      "time": 480
    },
    "relationships": {
      "person": {
        "data": {
          "type": "people",
          "id": "8160"
        }
      },
      "service": {
        "data": {
          "type": "services",
          "id": "1192"
        }
      },
      "task": {
        "data": {
          "type": "tasks",
          "id": "444"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "227",
    "type": "time_entries",
    "attributes": {
      "date": "2016-10-01",
      "created_at": "2025-08-01T06:18:43.688+02:00",
      "time": 480,
      "billable_time": 480,
      "note": "test note",
      "track_method_id": 1,
      "started_at": null,
      "timer_started_at": null,
      "timer_stopped_at": null,
      "approved": false,
      "approved_at": null,
      "updated_at": "2025-08-01T06:18:43.688+02:00",
      "calendar_event_id": null,
      "invoice_attribution_id": null,
      "invoiced": false,
      "overhead": true,
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "last_activity_at": "2025-08-01T06:18:43.688+02:00",
      "submitted": false,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "cost": 16000,
      "cost_default": 20000,
      "cost_normalized": 16000,
      "work_cost": 16000,
      "work_cost_default": 20000,
      "work_cost_normalized": 16000,
      "overhead_cost": 0,
      "overhead_cost_default": 0,
      "overhead_cost_normalized": 0,
      "internal_overhead_cost": 0,
      "internal_overhead_cost_default": 0,
      "internal_overhead_cost_normalized": 0,
      "facility_overhead_cost": 0,
      "facility_overhead_cost_default": 0,
      "facility_overhead_cost_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2055"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "task": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "person_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "deal_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "timesheet": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/time_entries

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "time_entries",
    "attributes": {
      "date": ""
    },
    "relationships": {
      "person": {
        "data": {
          "type": "people",
          "id": "8184"
        }
      },
      "service": {
        "data": {
          "type": "services",
          "id": "1196"
        }
      }
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/date"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a date",
      "source": {
        "pointer": "data/attributes/date"
      }
    }
  ]
}

POST  /api/v2/time_entries

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "time_entries",
    "attributes": {
      "note": "test note",
      "date": "2016-10-01"
    },
    "relationships": {
      "person": {
        "data": {
          "type": "people",
          "id": "8405"
        }
      },
      "service": {
        "data": {
          "type": "services",
          "id": "1229"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "280",
    "type": "time_entries",
    "attributes": {
      "date": "2016-10-01",
      "created_at": "2025-08-01T06:19:26.260+02:00",
      "time": 0,
      "billable_time": 0,
      "note": "test note",
      "track_method_id": 1,
      "started_at": null,
      "timer_started_at": null,
      "timer_stopped_at": null,
      "approved": false,
      "approved_at": null,
      "updated_at": "2025-08-01T06:19:26.260+02:00",
      "calendar_event_id": null,
      "invoice_attribution_id": null,
      "invoiced": false,
      "overhead": true,
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "last_activity_at": "2025-08-01T06:19:26.260+02:00",
      "submitted": false,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "cost": 0,
      "cost_default": 0,
      "cost_normalized": 0,
      "work_cost": 0,
      "work_cost_default": 0,
      "work_cost_normalized": 0,
      "overhead_cost": 0,
      "overhead_cost_default": 0,
      "overhead_cost_normalized": 0,
      "internal_overhead_cost": 0,
      "internal_overhead_cost_default": 0,
      "internal_overhead_cost_normalized": 0,
      "facility_overhead_cost": 0,
      "facility_overhead_cost_default": 0,
      "facility_overhead_cost_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2092"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "task": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "person_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "deal_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "timesheet": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Create a time entry
POST/api/v2/time_entries

URI Parameters
HideShow
date
date (required) Example: 2018-01-01

date

service_id
number (required) Example: 1

service id

person_id
number (required) Example: 1

person id

task_id
number (optional) Example: 1

task id

note
string (optional) Example: Note

note

time
number (optional) Example: 60

time in minutes

jira_issue_id
string (optional) Example: 1

jira issue id

jira_worklog_id
string (optional) Example: 1

jira worklog id

jira_organization
string (optional) Example: 1

jira organization id

jira_issue_status
string (optional) Example: Status

jira issue status

jira_issue_summary
string (optional) Example: Summary

jira issue summary

rejected_reason
string (optional) Example: Reason

rejected reason

started_at
datetime (optional) Example: 2022-12-20T10%3A15%3A20.099Z

timestamp

calendar_event_id
number (optional) Example: 1

calendar event id


PATCH /api/v2/time_entries/1
Requestsupdates time_entryreturns error

PATCH  /api/v2/time_entries/281

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "attributes": {
      "date": "2024-02-23",
      "time": 40,
      "billable_time": 40,
      "note": "new note",
      "calendar_event_id": null,
      "jira_issue_id": null,
      "jira_issue_summary": null,
      "jira_issue_status": null,
      "jira_organization": null,
      "jira_worklog_id": null
    },
    "type": "time-entries"
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "281",
    "type": "time_entries",
    "attributes": {
      "date": "2024-02-23",
      "created_at": "2025-08-01T06:19:27.155+02:00",
      "time": 40,
      "billable_time": 40,
      "note": "new note",
      "track_method_id": 1,
      "started_at": null,
      "timer_started_at": null,
      "timer_stopped_at": null,
      "approved": false,
      "approved_at": null,
      "updated_at": "2025-08-01T06:19:27.503+02:00",
      "calendar_event_id": null,
      "invoice_attribution_id": null,
      "invoiced": false,
      "overhead": true,
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "last_activity_at": "2025-08-01T06:19:27.155+02:00",
      "submitted": false,
      "currency": "EUR",
      "currency_default": "USD",
      "currency_normalized": "EUR",
      "cost": 1333,
      "cost_default": 1667,
      "cost_normalized": 1333,
      "work_cost": 1333,
      "work_cost_default": 1667,
      "work_cost_normalized": 1333,
      "overhead_cost": 0,
      "overhead_cost_default": 0,
      "overhead_cost_normalized": 0,
      "internal_overhead_cost": 0,
      "internal_overhead_cost_default": 0,
      "internal_overhead_cost_normalized": 0,
      "facility_overhead_cost": 0,
      "facility_overhead_cost_default": 0,
      "facility_overhead_cost_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2093"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "task": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "person_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "deal_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "timesheet": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/time_entries/285

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "data": {
    "type": "time_entries",
    "attributes": {
      "date": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "can't be blank",
      "source": {
        "pointer": "data/attributes/date"
      }
    },
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "is not a date",
      "source": {
        "pointer": "data/attributes/date"
      }
    }
  ]
}

Update a time entry
PATCH/api/v2/time_entries/{id}

URI Parameters
HideShow
id
number (required) Example: 1

time_entry id


PATCH /api/v2/time_entries/1/approve
Requestsapproves entry

PATCH  /api/v2/time_entries/317/approve

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "317",
    "type": "time_entries",
    "attributes": {
      "date": "2016-10-01",
      "created_at": "2025-08-01T06:19:42.565+02:00",
      "time": 480,
      "billable_time": 480,
      "note": "test note",
      "track_method_id": 1,
      "started_at": null,
      "timer_started_at": null,
      "timer_stopped_at": null,
      "approved": true,
      "approved_at": "2025-08-01T06:19:42.000+02:00",
      "updated_at": "2025-08-01T06:19:42.661+02:00",
      "calendar_event_id": null,
      "invoice_attribution_id": null,
      "invoiced": false,
      "overhead": false,
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "last_activity_at": "2025-08-01T06:19:42.565+02:00",
      "submitted": false,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "cost": 0,
      "cost_default": 0,
      "cost_normalized": 0,
      "work_cost": 0,
      "work_cost_default": 0,
      "work_cost_normalized": 0,
      "overhead_cost": 0,
      "overhead_cost_default": 0,
      "overhead_cost_normalized": 0,
      "internal_overhead_cost": 0,
      "internal_overhead_cost_default": 0,
      "internal_overhead_cost_normalized": 0,
      "facility_overhead_cost": 0,
      "facility_overhead_cost_default": 0,
      "facility_overhead_cost_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2117"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "task": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "person_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "deal_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "timesheet": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Approves a time entry
PATCH/api/v2/time_entries/{id}/approve

URI Parameters
HideShow
id
number (required) Example: 1

time_entry id


PATCH /api/v2/time_entries/1/unapprove
Requestsunapproves entry

PATCH  /api/v2/time_entries/320/unapprove

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "320",
    "type": "time_entries",
    "attributes": {
      "date": "2016-10-01",
      "created_at": "2025-08-01T06:19:44.294+02:00",
      "time": 480,
      "billable_time": 480,
      "note": "test note",
      "track_method_id": 1,
      "started_at": null,
      "timer_started_at": null,
      "timer_stopped_at": null,
      "approved": false,
      "approved_at": null,
      "updated_at": "2025-08-01T06:19:44.401+02:00",
      "calendar_event_id": null,
      "invoice_attribution_id": null,
      "invoiced": false,
      "overhead": false,
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "last_activity_at": "2025-08-01T06:19:44.294+02:00",
      "submitted": false,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "cost": 0,
      "cost_default": 0,
      "cost_normalized": 0,
      "work_cost": 0,
      "work_cost_default": 0,
      "work_cost_normalized": 0,
      "overhead_cost": 0,
      "overhead_cost_default": 0,
      "overhead_cost_normalized": 0,
      "internal_overhead_cost": 0,
      "internal_overhead_cost_default": 0,
      "internal_overhead_cost_normalized": 0,
      "facility_overhead_cost": 0,
      "facility_overhead_cost_default": 0,
      "facility_overhead_cost_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2120"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "task": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "person_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "deal_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "timesheet": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

Unapproves a time entry
PATCH/api/v2/time_entries/{id}/unapprove

URI Parameters
HideShow
id
number (required) Example: 1

time_entry id


PATCH /api/v2/time_entries/bulk_approve
Requestsbulk approves entries

PATCH  /api/v2/time_entries/bulk_approve

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "ids": [
    325,
    326
  ]
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "325",
      "type": "time_entries",
      "attributes": {
        "date": "2016-10-01",
        "created_at": "2025-08-01T06:19:46.403+02:00",
        "time": 480,
        "billable_time": 480,
        "note": "test note",
        "track_method_id": 1,
        "started_at": null,
        "timer_started_at": null,
        "timer_stopped_at": null,
        "approved": true,
        "approved_at": "2025-08-01T06:19:46.000+02:00",
        "updated_at": "2025-08-01T06:19:46.620+02:00",
        "calendar_event_id": null,
        "invoice_attribution_id": null,
        "invoiced": false,
        "overhead": false,
        "rejected": false,
        "rejected_reason": null,
        "rejected_at": null,
        "last_activity_at": "2025-08-01T06:19:46.403+02:00",
        "submitted": false,
        "currency": "USD",
        "currency_default": "USD",
        "currency_normalized": "USD",
        "cost": 0,
        "cost_default": 0,
        "cost_normalized": 0,
        "work_cost": 0,
        "work_cost_default": 0,
        "work_cost_normalized": 0,
        "overhead_cost": 0,
        "overhead_cost_default": 0,
        "overhead_cost_normalized": 0,
        "internal_overhead_cost": 0,
        "internal_overhead_cost_default": 0,
        "internal_overhead_cost_normalized": 0,
        "facility_overhead_cost": 0,
        "facility_overhead_cost_default": 0,
        "facility_overhead_cost_normalized": 0
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "2124"
          }
        },
        "person": {
          "meta": {
            "included": false
          }
        },
        "service": {
          "meta": {
            "included": false
          }
        },
        "task": {
          "meta": {
            "included": false
          }
        },
        "approver": {
          "meta": {
            "included": false
          }
        },
        "updater": {
          "meta": {
            "included": false
          }
        },
        "rejecter": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "last_actor": {
          "meta": {
            "included": false
          }
        },
        "person_subsidiary": {
          "meta": {
            "included": false
          }
        },
        "deal_subsidiary": {
          "meta": {
            "included": false
          }
        },
        "timesheet": {
          "meta": {
            "included": false
          }
        },
        "approval_statuses": {
          "meta": {
            "included": false
          }
        }
      }
    },
    {
      "id": "326",
      "type": "time_entries",
      "attributes": {
        "date": "2016-10-01",
        "created_at": "2025-08-01T06:19:46.511+02:00",
        "time": 480,
        "billable_time": 480,
        "note": "test note",
        "track_method_id": 1,
        "started_at": null,
        "timer_started_at": null,
        "timer_stopped_at": null,
        "approved": true,
        "approved_at": "2025-08-01T06:19:46.000+02:00",
        "updated_at": "2025-08-01T06:19:46.620+02:00",
        "calendar_event_id": null,
        "invoice_attribution_id": null,
        "invoiced": false,
        "overhead": false,
        "rejected": false,
        "rejected_reason": null,
        "rejected_at": null,
        "last_activity_at": "2025-08-01T06:19:46.511+02:00",
        "submitted": false,
        "currency": "USD",
        "currency_default": "USD",
        "currency_normalized": "USD",
        "cost": 0,
        "cost_default": 0,
        "cost_normalized": 0,
        "work_cost": 0,
        "work_cost_default": 0,
        "work_cost_normalized": 0,
        "overhead_cost": 0,
        "overhead_cost_default": 0,
        "overhead_cost_normalized": 0,
        "internal_overhead_cost": 0,
        "internal_overhead_cost_default": 0,
        "internal_overhead_cost_normalized": 0,
        "facility_overhead_cost": 0,
        "facility_overhead_cost_default": 0,
        "facility_overhead_cost_normalized": 0
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "2124"
          }
        },
        "person": {
          "meta": {
            "included": false
          }
        },
        "service": {
          "meta": {
            "included": false
          }
        },
        "task": {
          "meta": {
            "included": false
          }
        },
        "approver": {
          "meta": {
            "included": false
          }
        },
        "updater": {
          "meta": {
            "included": false
          }
        },
        "rejecter": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "last_actor": {
          "meta": {
            "included": false
          }
        },
        "person_subsidiary": {
          "meta": {
            "included": false
          }
        },
        "deal_subsidiary": {
          "meta": {
            "included": false
          }
        },
        "timesheet": {
          "meta": {
            "included": false
          }
        },
        "approval_statuses": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "meta": {}
}

Bulk approves time entries
PATCH/api/v2/time_entries/bulk_approve


PATCH /api/v2/time_entries/bulk_unapprove
Requestsbulk unapproves entries

PATCH  /api/v2/time_entries/bulk_unapprove

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Body
{
  "ids": [
    334,
    335
  ]
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": [
    {
      "id": "334",
      "type": "time_entries",
      "attributes": {
        "date": "2016-10-01",
        "created_at": "2025-08-01T06:19:48.476+02:00",
        "time": 480,
        "billable_time": 480,
        "note": "test note",
        "track_method_id": 1,
        "started_at": null,
        "timer_started_at": null,
        "timer_stopped_at": null,
        "approved": false,
        "approved_at": null,
        "updated_at": "2025-08-01T06:19:48.698+02:00",
        "calendar_event_id": null,
        "invoice_attribution_id": null,
        "invoiced": false,
        "overhead": false,
        "rejected": false,
        "rejected_reason": null,
        "rejected_at": null,
        "last_activity_at": "2025-08-01T06:19:48.476+02:00",
        "submitted": false,
        "currency": "USD",
        "currency_default": "USD",
        "currency_normalized": "USD",
        "cost": 0,
        "cost_default": 0,
        "cost_normalized": 0,
        "work_cost": 0,
        "work_cost_default": 0,
        "work_cost_normalized": 0,
        "overhead_cost": 0,
        "overhead_cost_default": 0,
        "overhead_cost_normalized": 0,
        "internal_overhead_cost": 0,
        "internal_overhead_cost_default": 0,
        "internal_overhead_cost_normalized": 0,
        "facility_overhead_cost": 0,
        "facility_overhead_cost_default": 0,
        "facility_overhead_cost_normalized": 0
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "2127"
          }
        },
        "person": {
          "meta": {
            "included": false
          }
        },
        "service": {
          "meta": {
            "included": false
          }
        },
        "task": {
          "meta": {
            "included": false
          }
        },
        "approver": {
          "meta": {
            "included": false
          }
        },
        "updater": {
          "meta": {
            "included": false
          }
        },
        "rejecter": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "last_actor": {
          "meta": {
            "included": false
          }
        },
        "person_subsidiary": {
          "meta": {
            "included": false
          }
        },
        "deal_subsidiary": {
          "meta": {
            "included": false
          }
        },
        "timesheet": {
          "meta": {
            "included": false
          }
        },
        "approval_statuses": {
          "meta": {
            "included": false
          }
        }
      }
    },
    {
      "id": "335",
      "type": "time_entries",
      "attributes": {
        "date": "2016-10-01",
        "created_at": "2025-08-01T06:19:48.606+02:00",
        "time": 480,
        "billable_time": 480,
        "note": "test note",
        "track_method_id": 1,
        "started_at": null,
        "timer_started_at": null,
        "timer_stopped_at": null,
        "approved": false,
        "approved_at": null,
        "updated_at": "2025-08-01T06:19:48.698+02:00",
        "calendar_event_id": null,
        "invoice_attribution_id": null,
        "invoiced": false,
        "overhead": false,
        "rejected": false,
        "rejected_reason": null,
        "rejected_at": null,
        "last_activity_at": "2025-08-01T06:19:48.606+02:00",
        "submitted": false,
        "currency": "USD",
        "currency_default": "USD",
        "currency_normalized": "USD",
        "cost": 0,
        "cost_default": 0,
        "cost_normalized": 0,
        "work_cost": 0,
        "work_cost_default": 0,
        "work_cost_normalized": 0,
        "overhead_cost": 0,
        "overhead_cost_default": 0,
        "overhead_cost_normalized": 0,
        "internal_overhead_cost": 0,
        "internal_overhead_cost_default": 0,
        "internal_overhead_cost_normalized": 0,
        "facility_overhead_cost": 0,
        "facility_overhead_cost_default": 0,
        "facility_overhead_cost_normalized": 0
      },
      "relationships": {
        "organization": {
          "data": {
            "type": "organizations",
            "id": "2127"
          }
        },
        "person": {
          "meta": {
            "included": false
          }
        },
        "service": {
          "meta": {
            "included": false
          }
        },
        "task": {
          "meta": {
            "included": false
          }
        },
        "approver": {
          "meta": {
            "included": false
          }
        },
        "updater": {
          "meta": {
            "included": false
          }
        },
        "rejecter": {
          "meta": {
            "included": false
          }
        },
        "creator": {
          "meta": {
            "included": false
          }
        },
        "last_actor": {
          "meta": {
            "included": false
          }
        },
        "person_subsidiary": {
          "meta": {
            "included": false
          }
        },
        "deal_subsidiary": {
          "meta": {
            "included": false
          }
        },
        "timesheet": {
          "meta": {
            "included": false
          }
        },
        "approval_statuses": {
          "meta": {
            "included": false
          }
        }
      }
    }
  ],
  "meta": {}
}

Bulk unapproves time entries
PATCH/api/v2/time_entries/bulk_unapprove


PATCH /api/v2/time_entries/1/reject
Requestsrejects entryreturns error

PATCH  /api/v2/time_entries/342/reject

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "342",
    "type": "time_entries",
    "attributes": {
      "date": "2016-10-01",
      "created_at": "2025-08-01T06:19:50.522+02:00",
      "time": 480,
      "billable_time": 480,
      "note": "test note",
      "track_method_id": 1,
      "started_at": null,
      "timer_started_at": null,
      "timer_stopped_at": null,
      "approved": false,
      "approved_at": null,
      "updated_at": "2025-08-01T06:19:50.629+02:00",
      "calendar_event_id": null,
      "invoice_attribution_id": null,
      "invoiced": false,
      "overhead": false,
      "rejected": true,
      "rejected_reason": null,
      "rejected_at": "2025-08-01T06:19:50.621+02:00",
      "last_activity_at": "2025-08-01T06:19:50.522+02:00",
      "submitted": false,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "cost": 0,
      "cost_default": 0,
      "cost_normalized": 0,
      "work_cost": 0,
      "work_cost_default": 0,
      "work_cost_normalized": 0,
      "overhead_cost": 0,
      "overhead_cost_default": 0,
      "overhead_cost_normalized": 0,
      "internal_overhead_cost": 0,
      "internal_overhead_cost_default": 0,
      "internal_overhead_cost_normalized": 0,
      "facility_overhead_cost": 0,
      "facility_overhead_cost_default": 0,
      "facility_overhead_cost_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2130"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "task": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "person_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "deal_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "timesheet": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/time_entries/343/reject

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses409
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "409",
      "code": "record_already_approved",
      "title": "Conflict error",
      "source": {}
    }
  ]
}

Reject a time entry
PATCH/api/v2/time_entries/{id}/reject

URI Parameters
HideShow
id
number (required) Example: 1

time_entry id


PATCH /api/v2/time_entries/1/unreject
Requestsunrejects entryreturn error

PATCH  /api/v2/time_entries/345/unreject

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "345",
    "type": "time_entries",
    "attributes": {
      "date": "2016-10-01",
      "created_at": "2025-08-01T06:19:52.257+02:00",
      "time": 480,
      "billable_time": 480,
      "note": "test note",
      "track_method_id": 1,
      "started_at": null,
      "timer_started_at": null,
      "timer_stopped_at": null,
      "approved": false,
      "approved_at": null,
      "updated_at": "2025-08-01T06:19:52.365+02:00",
      "calendar_event_id": null,
      "invoice_attribution_id": null,
      "invoiced": false,
      "overhead": false,
      "rejected": false,
      "rejected_reason": null,
      "rejected_at": null,
      "last_activity_at": "2025-08-01T06:19:52.257+02:00",
      "submitted": false,
      "currency": "USD",
      "currency_default": "USD",
      "currency_normalized": "USD",
      "cost": 0,
      "cost_default": 0,
      "cost_normalized": 0,
      "work_cost": 0,
      "work_cost_default": 0,
      "work_cost_normalized": 0,
      "overhead_cost": 0,
      "overhead_cost_default": 0,
      "overhead_cost_normalized": 0,
      "internal_overhead_cost": 0,
      "internal_overhead_cost_default": 0,
      "internal_overhead_cost_normalized": 0,
      "facility_overhead_cost": 0,
      "facility_overhead_cost_default": 0,
      "facility_overhead_cost_normalized": 0
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2133"
        }
      },
      "person": {
        "meta": {
          "included": false
        }
      },
      "service": {
        "meta": {
          "included": false
        }
      },
      "task": {
        "meta": {
          "included": false
        }
      },
      "approver": {
        "meta": {
          "included": false
        }
      },
      "updater": {
        "meta": {
          "included": false
        }
      },
      "rejecter": {
        "meta": {
          "included": false
        }
      },
      "creator": {
        "meta": {
          "included": false
        }
      },
      "last_actor": {
        "meta": {
          "included": false
        }
      },
      "person_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "deal_subsidiary": {
        "meta": {
          "included": false
        }
      },
      "timesheet": {
        "meta": {
          "included": false
        }
      },
      "approval_statuses": {
        "meta": {
          "included": false
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/time_entries/346/unreject

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses409
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "409",
      "code": "record_already_unrejected",
      "title": "Conflict error",
      "source": {}
    }
  ]
}

Unreject a time entry
PATCH/api/v2/time_entries/{id}/unreject

URI Parameters
HideShow
id
number (required) Example: 1

time_entry id


DELETE /api/v2/time_entries/1
Requestsdeletes time_entry

DELETE  /api/v2/time_entries/352

Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Responses204
This response has no content.

Deletes a time entry
DELETE/api/v2/time_entries/{id}

URI Parameters
HideShow
id
number (required) Example: 1

time_entry id


Generated by aglio on 01 Aug 2025