Time Entries
Time tracking management
List time entries
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Query Parameters
cursor?string
Pagination cursor
limit?integer
Number of items per page (1-100)
Default
20Range
1 <= value <= 100start_date?string
Start date (YYYY-MM-DD)
end_date?string
End date (YYYY-MM-DD)
q?string
Search by description
project_id?string
Filter by project ID
Response Body
application/json
application/json
curl -X GET "https://api.expensicat.com/api/v1/time-entries"{
"data": [
{
"id": "string",
"organization_id": "string",
"user_id": "string",
"project_id": "string",
"start_time": "string",
"end_time": "string",
"duration": 0,
"description": "string",
"billable": true,
"invoice_id": "string",
"created_at": "string",
"updated_at": "string",
"user": {
"id": "string",
"full_name": "string",
"email": "string",
"avatar_url": "string"
},
"project": {
"id": "string",
"name": "string",
"customer_id": "string",
"hourly_rate": 0,
"currency": "string",
"customer": {
"id": "string",
"name": "string"
}
},
"invoice": {
"id": "string",
"number": "string",
"status": "string",
"date": "string",
"due_date": "string"
}
}
],
"meta": {
"count": 0,
"next_cursor": "string"
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}Create time entry
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Request Body
application/json
project_id?|
start_time*string
end_time?|
description*string
billable?boolean
Response Body
application/json
application/json
curl -X POST "https://api.expensicat.com/api/v1/time-entries" \ -H "Content-Type: application/json" \ -d '{ "start_time": "string", "description": "string" }'{
"data": {
"id": "string",
"organization_id": "string",
"user_id": "string",
"project_id": "string",
"start_time": "string",
"end_time": "string",
"duration": 0,
"description": "string",
"billable": true,
"invoice_id": "string",
"created_at": "string",
"updated_at": "string",
"user": {
"id": "string",
"full_name": "string",
"email": "string",
"avatar_url": "string"
},
"project": {
"id": "string",
"name": "string",
"customer_id": "string",
"hourly_rate": 0,
"currency": "string",
"customer": {
"id": "string",
"name": "string"
}
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}Get time entry
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Path Parameters
id*string
Response Body
application/json
application/json
application/json
curl -X GET "https://api.expensicat.com/api/v1/time-entries/string"{
"data": {
"id": "string",
"organization_id": "string",
"user_id": "string",
"project_id": "string",
"start_time": "string",
"end_time": "string",
"duration": 0,
"description": "string",
"billable": true,
"invoice_id": "string",
"created_at": "string",
"updated_at": "string",
"user": {
"id": "string",
"full_name": "string",
"email": "string",
"avatar_url": "string"
},
"project": {
"id": "string",
"name": "string",
"customer_id": "string",
"hourly_rate": 0,
"currency": "string",
"customer": {
"id": "string",
"name": "string"
}
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}Update time entry
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Path Parameters
id*string
Request Body
application/json
project_id?|
start_time?string
end_time?|
description?string
billable?boolean
Response Body
application/json
application/json
application/json
curl -X PATCH "https://api.expensicat.com/api/v1/time-entries/string" \ -H "Content-Type: application/json" \ -d '{}'{
"data": {
"id": "string",
"organization_id": "string",
"user_id": "string",
"project_id": "string",
"start_time": "string",
"end_time": "string",
"duration": 0,
"description": "string",
"billable": true,
"invoice_id": "string",
"created_at": "string",
"updated_at": "string",
"user": {
"id": "string",
"full_name": "string",
"email": "string",
"avatar_url": "string"
},
"project": {
"id": "string",
"name": "string",
"customer_id": "string",
"hourly_rate": 0,
"currency": "string",
"customer": {
"id": "string",
"name": "string"
}
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}Delete time entry
AuthorizationBearer <token>
Session JWT or OAuth2 access token
In: header
Path Parameters
id*string
Response Body
application/json
application/json
curl -X DELETE "https://api.expensicat.com/api/v1/time-entries/string"Empty
{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}{
"error": {
"code": "string",
"message": "string",
"details": {
"property1": null,
"property2": null
}
}
}