clicktime_get_me
Get my user
The ClickTime user this API token belongs to: id, name, email, security level (Standard, Manager, Admin), division, default task, approvers and timesheet preferences. The API token itself is never returned. GET /Me.
Takes no parameters.
clicktime_get_company
Get company settings
Company configuration: name, currency, week start, timesheet model, how the company names jobs/clients/tasks, restriction methods, and which optional modules are on (Expenses, TimeOffAccruals, SubJob phases). Call this first before using expense, time-off-request or phase tools. GET /Company.
Takes no parameters.
clicktime_list_jobs
List jobs (projects)
List the jobs (projects) the token's user can log time to, by name, with job number, client, dates and active state. Use the ids to log time or filter entries. GET /Me/Jobs.
Parametersnamelimitoffsetmy_jobsverboseclient_idis_activejob_number
One job (project) by id: name, number, client, start/end dates, active state. GET /Me/Jobs/{jobID}.
Parametersjob_idrequiredverbose
clicktime_list_clients
List clients
List the clients the token's user can see, with client number, short name and active state. GET /Me/Clients.
Parametersnamelimitoffsetis_activeshort_nameclient_number
clicktime_list_tasks
List tasks
List the tasks (work categories) the token's user can log time against, with task code and active state. When the company restricts tasks per job, use clicktime_list_job_task_controls instead. GET /Me/Tasks.
Parametersnamelimitoffsetmy_tasksis_activetask_code
clicktime_list_job_task_controls
List valid job and task pairs
The (job, task) combinations the user may log time on. Only valid when the company's TaskRestrictionMethod is 'byjob' (see clicktime_get_company); otherwise ClickTime answers 403. Active rows only unless filtered. GET /Me/Jobs/TaskControls.
Parameterslimitjob_idoffsettask_id
clicktime_list_job_phases
List job phases
The phases (sub-jobs, level 1) defined on a job. Needs the company's SubJob/phases module (see clicktime_get_company). Use the phase id when logging time on a phased job. GET /Me/Jobs/{jobID}/JobPhase.
Parameterslimitjob_idrequiredoffset
clicktime_list_time_entries
List my time entries
List the token user's time entries, newest first: date, hours, job, task, comment, start/end time. Filter by one day (entry_date), a date range (start_date + end_date), job or task. Only days with logged time appear. Add verbose to get job/client names and the billable flag. GET /Me/TimeEntries.
Parameterslimitjob_idoffsettask_idverboseend_dateentry_datestart_date
clicktime_get_time_entry
Get time entry
One of the user's time entries by id, with hours, comment, date, job, task, phase and custom fields. GET /Me/TimeEntries/{timeEntryID}.
Parametersverbosetime_entry_idrequired
clicktime_list_timesheets
List my timesheets
List the user's timesheets (pay periods), newest first, with period dates, status (Open, Waiting, Approved, Rejected, Locked...), total hours and who submitted or approved. GET /Me/Timesheets.
Parameterslimitoffsetstatusto_datefrom_date
clicktime_get_timesheet_by_date
Get timesheet covering a date
The user's timesheet whose period contains a given day: period dates, status, day totals and the general actions (Submit, UndoSubmit...). GET /Me/Timesheets/{date}.
Parametersdaterequired
clicktime_list_timesheet_actions
List actions available on my timesheet
The status actions the user can take right now on the timesheet covering a date (Submit, UndoSubmit...). Check this before clicktime_submit_timesheet. GET /Me/Timesheets/{date}/Actions.
Parametersdaterequired
clicktime_list_time_off_types
List time off types and balances
The time off types the user can take (vacation, sick...) with CurrentBalance, accrual and whether approval is required. Use for balance questions. GET /Me/TimeOffTypes.
Parameterslimitoffsetis_activerequires_approval
clicktime_list_time_off
List my time off
Time off the user has taken or booked, newest first: date, hours, type, notes. Not requests or balances. GET /Me/TimeOff.
Parameterslimitoffsetto_datefrom_datetime_off_type_id
clicktime_list_time_off_requests
List my time off requests
The user's time off requests with status and dates. Needs the company's TimeOffAccruals module (see clicktime_get_company). GET /Me/TimeOffRequests.
Parameterslimitoffsetstatusto_datefrom_date
clicktime_list_expense_sheets
List my expense sheets
The user's expense sheets with status, total and reimbursable amount, paid flag. Needs the company's Expenses module (see clicktime_get_company). GET /Me/ExpenseSheets.
Parameterspaidlimitoffsetstatusto_datefrom_date
clicktime_list_expense_items
List my expense items
The user's expense items: date, type, amount, description, job, billable flag, sheet. Receipt images are not fetched. Needs the Expenses module. GET /Me/ExpenseItems.
Parameterslimitjob_idoffsetto_datefrom_dateexpense_sheet_id
clicktime_list_users
List users
List people in the company with name, email, security level, division, approvers and active state. Needs a Manager or Admin token (others get 403). Cost and billing rates are included for Admins. GET /Users.
Parametersnameemaillimitoffsetis_activedivision_id
clicktime_time_report
Time report (company-wide)
Company-wide time entries (what the Time report shows): date, user, job, client, task, hours, billable flag, rates. Filter by date range, user, job, client, task, division or billable. Needs an Admin, or a Manager allowed to run company reports. Up to 2500 rows per page. GET /Reports/Time.
Parameterslimitjob_idoffsettask_iduser_idend_dateclient_idstart_datedivision_idis_billable
clicktime_time_summary
Time summary (grouped)
Hours, billable hours, billings and cost totals grouped by Job, Task, User, Month, Date or WorkType (several groupings combine, for example Job + User). Needs a Manager or Admin token. ClickTime requires at least one of job_id, user_id or task_id as a filter. GET /Reports/TimeSummary.
Parameterslimitjob_idoffsettask_iduser_idend_dategroup_byrequiredstart_datejob_is_active
clicktime_create_time_entry
Log time
WRITE: log a time entry on the token user's own timesheet. Needs job_id and hours; task_id falls back to the user's default task; date defaults to today. Creates a NEW entry each call (not idempotent) and fails on a locked or submitted timesheet. Confirm date, hours, job, task and comment with the user first. POST /Me/TimeEntries.
Parametersdatehoursrequiredjob_idrequiredcommenttask_idend_timephase_idbreak_timestart_timesub_phase_iddcaa_explanation
clicktime_update_time_entry
Update time entry
WRITE: change one of the user's own time entries (hours, comment, job, task, start/end time, break). Only the fields you pass change; the date cannot be changed. Overwrites the previous values; a locked timesheet rejects it. Show the current and new values to the user first. PATCH /Me/TimeEntries/{timeEntryID}.
Parametershoursjob_idcommenttask_idend_timephase_idbreak_timestart_timesub_phase_idtime_entry_idrequireddcaa_explanation
clicktime_submit_timesheet
Submit or recall my timesheet
WRITE: submit the user's timesheet covering a date for approval (action Submit), or recall it (UndoSubmit). Submitting locks the entries and notifies the approver; confirm with the user first. Check the available actions with clicktime_list_timesheet_actions first. POST /Me/Timesheets/{date}/Actions.
Parametersdaterequiredactionrequiredcommenthas_attestation
clicktime_create_client
Create client
WRITE: create a client. Needs an Admin, or a Manager allowed to add clients. Creates a NEW client each call (not idempotent); check clicktime_list_clients first to avoid duplicates. POST /Clients.
Parametersnamerequirednotesis_activeshort_namerequiredclient_number
clicktime_create_job
Create job
WRITE: create a job (project) under a client. Needs an Admin, or a Manager allowed to add jobs. Creates a NEW job each call (not idempotent); check clicktime_list_jobs first to avoid duplicates. POST /Jobs.
Parametersnamerequirednotesend_dateclient_idrequiredis_activejob_numberrequiredstart_dateis_billable