Create a time entry for an employee
Scope: team:time-tracking.write https://api.alladdin.com/api/v2/employees/{employeeId}/times
Creates a completed time tracking entry with start and end times.
The response returns the new time entry id.
## Error handling
When this tool returns a 422 error, the error message contains the reason. Surface it verbatim to the user and stop — do NOT offer to retry with different parameters. Common errors:
- "start_at cannot be a future date": future time entries are not allowed — inform the user and stop.
- "overlaps with an existing time entry": there is already an entry for that period — inform the user and stop.
Parameters
Path parameters
employeeId string required
Employee ID
Request body
object start_at string<date-time> required
Start time in the user's local timezone. Use ISO 8601 format without UTC offset (e.g. 2026-03-01T09:00:00) so the API interprets it in the account timezone. Do not use +00:00 — it will shift the stored time by the account's UTC offset. Date-only (e.g. 2026-03-01) is also accepted.
end_at string<date-time> required
End time in the user's local timezone. Use ISO 8601 format without UTC offset (e.g. 2026-03-01T17:00:00) so the API interprets it in the account timezone. Do not use +00:00 — it will shift the stored time by the account's UTC offset. Date-only (e.g. 2026-03-01) is also accepted.
pauses[] object[] optional
Optional list of pauses within the time entry. Each pause must be within the start/end range.
start_at string required
Pause start time in local time without timezone offset (e.g. 2026-03-01T14:00:00). Do NOT append +00:00 or Z.
end_at string required
Pause end time in local time without timezone offset (e.g. 2026-03-01T15:00:00). Do NOT append +00:00 or Z.
Request
import requests
url = "https://api.alladdin.com/api/v2/employees/{employeeId}/times"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
}
payload = {
"start_at": "2026-03-01T09:00:00",
"end_at": "2026-03-01T17:00:00",
"pauses": [
{
"start_at": "2026-03-01T14:00:00",
"end_at": "2026-03-01T15:00:00"
}
]
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())Responses
Response
{
"id": "507f1f77bcf86cd799439011"
}Success responses
201 Time entry created application/json object id string
Error responses
400 Bad request application/json 401 Invalid or missing API key application/json 403 Insufficient permissions application/json 422 Validation error application/json 429 Rate limit exceeded application/json
