List time entries for a project
Scope: projects:projects.read https://api.alladdin.com/api/v2/projects/{projectId}/times
Returns a paginated list of time tracking entries for a specific project.
Results are paginated with limit and cursor parameters.
Parameters
Path parameters
projectId string required
Project ID
Query parameters
cursor string optional
Pagination cursor returned by the previous response. Omit to start from the first page.
limit integer optional = 50
Maximum number of items to return
startDate string<date> optional
Filter entries on or after this date (ISO 8601, YYYY-MM-DD)
endDate string<date> optional
Filter entries on or before this date (ISO 8601, YYYY-MM-DD)
Request
import requests
url = "https://api.alladdin.com/api/v2/projects/{projectId}/times?cursor=value&limit=50&startDate=2025-01-01"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
response = requests.get(url, headers=headers)
print(response.json())Responses
Response
{
"items": [
{
"id": "string",
"project_id": "string",
"duration": 0,
"user_name": "string",
"description": "string",
"cost_per_hour": "25.00",
"user_id": "string",
"task_id": "string",
"date": "string",
"approved": false,
"total_cost": "12.50",
"category": "string"
}
],
"has_more": false,
"cursor": "string"
}Success responses
200 List of project time entries application/json object items[] object[] required id string required
Unique identifier
project_id string required
ID of the project the entry belongs to
duration integer required
Duration in seconds
user_name string required
User display name
description string required
Description
cost_per_hour string<decimal> required
Cost per hour as a decimal string
user_id string required
User ID
task_id string | null required
Task ID
date string | null required
Date, formatted according to the account's date settings
approved boolean required
Whether the entry is approved
total_cost string<decimal> required
Total cost as a decimal string
category string required
Category
has_more boolean required
Whether there are more items on the next page
cursor string | null optional
Opaque cursor to pass as ?cursor= to fetch the next page. Null on the last page.
Error responses
400 Bad request application/json 401 Invalid or missing API key application/json 403 Insufficient permissions application/json 404 Project not found application/json 429 Rate limit exceeded application/json
