Alladdin

Work in progress

Site en construction

الموقع قيد الإنشاء

Alladdin
POST

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

python
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

json
{
  "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

← PreviousClock out an employee →

Next →Pause an employee time session →