Everhour
Time tracking with built-in billing and budgeting. Set project budgets, track billable hours, and get threshold alerts—all inside Asana, ClickUp, Monday, Jira & more. Free trial.
Authentication
| Method | Kind | Status | Details |
|---|---|---|---|
| API Key | api_key | available | — |
Call a tool
import { createClient } from "@open-connector/sdk";const oc = createClient({ baseUrl: "https://api.openconnector.dev", apiKey: process.env.OPEN_CONNECTOR_API_KEY!,});const result = await oc.executeTool({ slug: "EVERHOUR_ADD_ATTACHMENT_TO_EXPENSE", connectedAccountId: "conn_...", arguments: { /* match this tool's input schema */ },});import Composio from "@composio/client";const composio = new Composio({ baseURL: "https://api.openconnector.dev/composio", apiKey: process.env.OPEN_CONNECTOR_API_KEY!,});const result = await composio.tools.execute("EVERHOUR_ADD_ATTACHMENT_TO_EXPENSE", { connected_account_id: "conn_...", arguments: { /* match this tool's input schema */ },});oc tools execute EVERHOUR_ADD_ATTACHMENT_TO_EXPENSE --data '{ }'Tool catalog
Available tools
101 callable operations
Add Attachment To ExpenseEVERHOUR_ADD_ATTACHMENT_TO_EXPENSEAttach a previously uploaded file (by its token from `POST /attachments`) to an existing expense.Connection
Attach a previously uploaded file (by its token from `POST /attachments`) to an existing expense.
Authentication
Connected account requiredTags
Add TimeEVERHOUR_ADD_TIMEAdd a time record (in seconds) for a user on a given task and date. **Upsert:** at most one time record exists per `(user, date, task)`. Posting again with the same combination updates the existing record's duration instead of creating a duplicate. To update a specific record by ID, use `PUT /time/{time_id}`. See [Dates](/dates-and-timezones) for accepted date and duration formats.Connection
Add a time record (in seconds) for a user on a given task and date. **Upsert:** at most one time record exists per `(user, date, task)`. Posting again with the same combination updates the existing record's duration instead of creating a duplicate. To update a specific record by ID, use `PUT /time/{time_id}`. See [Dates](/dates-and-timezones) for accepted date and duration formats.
Authentication
Connected account requiredTags
Approve or Reject Approval RequestEVERHOUR_APPROVE_OR_REJECT_APPROVAL_REQUESTApprove or reject an existing timesheet approval request. Use this endpoint to act on a request previously created with `POST /timesheets/{timesheet_id}/approval`. The response reflects the resulting approval state.Connection
Approve or reject an existing timesheet approval request. Use this endpoint to act on a request previously created with `POST /timesheets/{timesheet_id}/approval`. The response reflects the resulting approval state.
Authentication
Connected account requiredTags
Approve Week/Request for ApprovalEVERHOUR_APPROVE_WEEK_REQUEST_FOR_APPROVALSubmit a timesheet week for approval. The week's owner uses this endpoint to request review; an approver acts on the request via `PUT /timesheets/{timesheet_id}/approval`. The `timesheet_id` is the concatenation of `user_id` and a 4-digit `week_id` in `YYWW` format (no separator). Example: user `14856` for week `2535` (week 35 of 2025) → `timesheet_id = 148562535`. See the Timesheets overview for the full Week ID definition.Connection
Submit a timesheet week for approval. The week's owner uses this endpoint to request review; an approver acts on the request via `PUT /timesheets/{timesheet_id}/approval`. The `timesheet_id` is the concatenation of `user_id` and a 4-digit `week_id` in `YYWW` format (no separator). Example: user `14856` for week `2535` (week 35 of 2025) → `timesheet_id = 148562535`. See the Timesheets overview for the full Week ID definition.
Authentication
Connected account requiredTags
Archive/Unarchive ProjectEVERHOUR_ARCHIVE_UNARCHIVE_PROJECTArchive or unarchive a project. Archived projects are hidden from default listings but their data is preserved.Connection
Archive or unarchive a project. Archived projects are hidden from default listings but their data is preserved.
Authentication
Connected account requiredTags
Clients ReportEVERHOUR_CLIENTS_REPORTAggregated client report. Same filters and units as `GET /dashboards/projects` — see [Concepts](/concepts).Connection
Aggregated client report. Same filters and units as `GET /dashboards/projects` — see [Concepts](/concepts).
Authentication
Connected account requiredTags
Clock InEVERHOUR_CLOCK_INClock a user in. Starts a new timecard segment at the current time.Connection
Clock a user in. Starts a new timecard segment at the current time.
Authentication
Connected account requiredTags
Clock OutEVERHOUR_CLOCK_OUTClock a user out. Closes the current timecard segment.Connection
Clock a user out. Closes the current timecard segment.
Authentication
Connected account requiredTags
Create AllocationEVERHOUR_CREATE_ALLOCATIONCreate a time-off allocation for a user and time-off type.Connection
Create a time-off allocation for a user and time-off type.
Authentication
Connected account requiredTags
Create AssignmentEVERHOUR_CREATE_ASSIGNMENTCreate a schedule assignment. To create time-off use `POST /resource-planner/assignments/time-off` instead.Connection
Create a schedule assignment. To create time-off use `POST /resource-planner/assignments/time-off` instead.
Authentication
Connected account requiredTags
Create AttachmentEVERHOUR_CREATE_ATTACHMENTUpload a file and receive a one-time attachment token. The token can then be attached to an expense via `POST /expenses/{expense_id}/attachments` or included in `POST /expenses`.Connection
Upload a file and receive a one-time attachment token. The token can then be attached to an expense via `POST /expenses/{expense_id}/attachments` or included in `POST /expenses`.
Authentication
Connected account requiredTags
Create CategoryEVERHOUR_CREATE_CATEGORYCreate a new expense category.Connection
Create a new expense category.
Authentication
Connected account requiredTags
Create ClientEVERHOUR_CREATE_CLIENTCreate a new client. Names are not deduplicated — posting the same name creates another client.Connection
Create a new client. Names are not deduplicated — posting the same name creates another client.
Authentication
Connected account requiredTags
Create ExpenseEVERHOUR_CREATE_EXPENSELog a new expense. Amounts are in cents (see [Concepts](/concepts)); attach files first via `POST /attachments` and reference their IDs in the request body.Connection
Log a new expense. Amounts are in cents (see [Concepts](/concepts)); attach files first via `POST /attachments` and reference their IDs in the request body.
Authentication
Connected account requiredTags
Create Field in ProjectEVERHOUR_CREATE_FIELD_IN_PROJECTCreate a new custom field on a project.Connection
Create a new custom field on a project.
Authentication
Connected account requiredTags
Create InvoiceEVERHOUR_CREATE_INVOICECreate an invoice for a client. The invoice is generated from the client's tracked time over the requested date range — see [Dates](/dates-and-timezones).Connection
Create an invoice for a client. The invoice is generated from the client's tracked time over the requested date range — see [Dates](/dates-and-timezones).
Authentication
Connected account requiredTags
Create ProjectEVERHOUR_CREATE_PROJECTCreate a new project. To copy from an existing template use the `template` or `publicTemplate` body field. To sync a project from a connected integration use `POST /projects/{project_id}/sync` instead.Connection
Create a new project. To copy from an existing template use the `template` or `publicTemplate` body field. To sync a project from a connected integration use `POST /projects/{project_id}/sync` instead.
Authentication
Connected account requiredTags
Create SectionEVERHOUR_CREATE_SECTIONCreate a new section in a project.Connection
Create a new section in a project.
Authentication
Connected account requiredTags
Create TaskEVERHOUR_CREATE_TASKCreate a task in a project. For tasks coming from connected integrations, sync them via `POST /projects/{project_id}/sync` instead.Connection
Create a task in a project. For tasks coming from connected integrations, sync them via `POST /projects/{project_id}/sync` instead.
Authentication
Connected account requiredTags
Create Time Off TypeEVERHOUR_CREATE_TIME_OFF_TYPECreate a new time-off type.Connection
Create a new time-off type.
Authentication
Connected account requiredTags
Create WebhookEVERHOUR_CREATE_WEBHOOKRegister a new webhook subscription. **Handshake:** on create, Everhour sends a POST to the supplied `targetUrl` with an `X-Hook-Secret` header (HMAC-SHA512) and an empty body. The receiver must respond with a 2xx status to complete verification. Send `X-Skip-Handshake: 1` to skip verification when the receiver cannot participate. **Scope:** a webhook can listen across the whole team or be scoped to a single project. See [Webhooks](/webhooks) for event types, payload structure, and delivery semantics.Connection
Register a new webhook subscription. **Handshake:** on create, Everhour sends a POST to the supplied `targetUrl` with an `X-Hook-Secret` header (HMAC-SHA512) and an empty body. The receiver must respond with a 2xx status to complete verification. Send `X-Skip-Handshake: 1` to skip verification when the receiver cannot participate. **Scope:** a webhook can listen across the whole team or be scoped to a single project. See [Webhooks](/webhooks) for event types, payload structure, and delivery semantics.
Authentication
Connected account requiredTags
Delete AllocationEVERHOUR_DELETE_ALLOCATIONDelete a time-off allocation.Connection
Delete a time-off allocation.
Authentication
Connected account requiredTags
Delete AssignmentEVERHOUR_DELETE_ASSIGNMENTDelete a schedule assignment. You can include an optional `reason` (max 1000 characters) in the request body.Connection
Delete a schedule assignment. You can include an optional `reason` (max 1000 characters) in the request body.
Authentication
Connected account requiredTags
Delete AttachmentEVERHOUR_DELETE_ATTACHMENTDelete an attachment and its underlying file.Connection
Delete an attachment and its underlying file.
Authentication
Connected account requiredTags
Delete CategoryEVERHOUR_DELETE_CATEGORYDelete an expense category. Expenses already assigned to it are kept but become uncategorized.Connection
Delete an expense category. Expenses already assigned to it are kept but become uncategorized.
Authentication
Connected account requiredTags
Delete ClientEVERHOUR_DELETE_CLIENTDelete a client.Connection
Delete a client.
Authentication
Connected account requiredTags
Delete Client BudgetEVERHOUR_DELETE_CLIENT_BUDGETRemove the budget attached to a client. The client itself is kept.Connection
Remove the budget attached to a client. The client itself is kept.
Authentication
Connected account requiredTags
Delete ExpenseEVERHOUR_DELETE_EXPENSEDelete an expense entry. Attached files are also removed.Connection
Delete an expense entry. Attached files are also removed.
Authentication
Connected account requiredTags
Delete FieldEVERHOUR_DELETE_FIELDDelete a custom field. Existing task values for that field are discarded.Connection
Delete a custom field. Existing task values for that field are discarded.
Authentication
Connected account requiredTags
Delete InvoiceEVERHOUR_DELETE_INVOICEDelete an invoice. Time records attached to the invoice are released and become billable again.Connection
Delete an invoice. Time records attached to the invoice are released and become billable again.
Authentication
Connected account requiredTags
Delete ProjectEVERHOUR_DELETE_PROJECTDelete a project, its tasks, and all associated time records. This is irreversible.Connection
Delete a project, its tasks, and all associated time records. This is irreversible.
Authentication
Connected account requiredTags
Delete SectionEVERHOUR_DELETE_SECTIONDelete a section. Tasks in the section are kept but become section-less.Connection
Delete a section. Tasks in the section are kept but become section-less.
Authentication
Connected account requiredTags
Delete TaskEVERHOUR_DELETE_TASKDelete a task and all of its time records.Connection
Delete a task and all of its time records.
Authentication
Connected account requiredTags
Delete Task EstimateEVERHOUR_DELETE_TASK_ESTIMATERemove a task's estimate.Connection
Remove a task's estimate.
Authentication
Connected account requiredTags
Delete Time Off TypeEVERHOUR_DELETE_TIME_OFF_TYPEDelete a time-off type. Existing time-off entries that reference it are kept.Connection
Delete a time-off type. Existing time-off entries that reference it are kept.
Authentication
Connected account requiredTags
Delete Time RecordEVERHOUR_DELETE_TIME_RECORDRemove a time record by setting its duration to zero. The history trail is preserved; the row no longer appears in time listings, which filter for `time > 0`.Connection
Remove a time record by setting its duration to zero. The history trail is preserved; the row no longer appears in time listings, which filter for `time > 0`.
Authentication
Connected account requiredTags
Delete TimecardEVERHOUR_DELETE_TIMECARDDelete a user's timecard entry for a specific date.Connection
Delete a user's timecard entry for a specific date.
Authentication
Connected account requiredTags
Delete WebhookEVERHOUR_DELETE_WEBHOOKDelete a webhook subscription. Stops further deliveries; no event is sent for the deletion itself.Connection
Delete a webhook subscription. Stops further deliveries; no event is sent for the deletion itself.
Authentication
Connected account requiredTags
Discard Your Approval RequestEVERHOUR_DISCARD_YOUR_APPROVAL_REQUESTRetract the caller's previously submitted approval request for a week. The week returns to draft state.Connection
Retract the caller's previously submitted approval request for a week. The week returns to draft state.
Authentication
Connected account requiredTags
Download AttachmentEVERHOUR_DOWNLOAD_ATTACHMENTDownload the binary contents of an attachment by its token. The response is the raw file, not JSON.Connection
Download the binary contents of an attachment by its token. The response is the raw file, not JSON.
Authentication
Connected account requiredTags
Estimates Report (deprecated)EVERHOUR_ESTIMATES_REPORT_DEPRECATEDLegacy export of team estimates, returned as JSON. Requires admin access. Kept for backward compatibility; new integrations should use the dashboard reports.Connection
Legacy export of team estimates, returned as JSON. Requires admin access. Kept for backward compatibility; new integrations should use the dashboard reports.
Authentication
Connected account requiredTags
Export Invoice to Xero/QB/FBEVERHOUR_EXPORT_INVOICE_TO_XERO_QB_FBExport an invoice to a connected external accounting system. Supports Xero, QuickBooks, and FreshBooks integrations — the destination must be linked to the team beforehand. An invoice can only be exported once; subsequent calls return an error.Connection
Export an invoice to a connected external accounting system. Supports Xero, QuickBooks, and FreshBooks integrations — the destination must be linked to the team beforehand. An invoice can only be exported once; subsequent calls return an error.
Authentication
Connected account requiredTags
Get All AllocationsEVERHOUR_GET_ALL_ALLOCATIONSList per-user time-off allocations (e.g. annual vacation balances).Connection
List per-user time-off allocations (e.g. annual vacation balances).
Authentication
Connected account requiredTags
Get All AssignmentsEVERHOUR_GET_ALL_ASSIGNMENTSList schedule assignments across the team. Supports filtering by date range, project, and member.Connection
List schedule assignments across the team. Supports filtering by date range, project, and member.
Authentication
Connected account requiredTags
Get All CategoriesEVERHOUR_GET_ALL_CATEGORIESList expense categories available in the team.Connection
List expense categories available in the team.
Authentication
Connected account requiredTags
Get All ClientsEVERHOUR_GET_ALL_CLIENTSSearch Clients by Name using the query parameter.Connection
Search Clients by Name using the query parameter.
Authentication
Connected account requiredTags
Get All ExpensesEVERHOUR_GET_ALL_EXPENSESList expenses logged by the authenticated user.Connection
List expenses logged by the authenticated user.
Authentication
Connected account requiredTags
Get All InvoicesEVERHOUR_GET_ALL_INVOICESList invoices in the team. Supports filtering by date and client.Connection
List invoices in the team. Supports filtering by date and client.
Authentication
Connected account requiredTags
Get All ProjectsEVERHOUR_GET_ALL_PROJECTSList projects the caller has access to. Use the `query` parameter to search by name and `limit`/`page` for pagination — see [Pagination](/pagination).Connection
List projects the caller has access to. Use the `query` parameter to search by name and `limit`/`page` for pagination — see [Pagination](/pagination).
Authentication
Connected account requiredTags
Get All Team TimersEVERHOUR_GET_ALL_TEAM_TIMERSList the timers currently running across the team — one entry per active user.Connection
List the timers currently running across the team — one entry per active user.
Authentication
Connected account requiredTags
Get All Time RecordsEVERHOUR_GET_ALL_TIME_RECORDSList time records across the entire team for a date range. When `from`/`to` are omitted, only the current day is returned. See [Dates](/dates-and-timezones).Connection
List time records across the entire team for a date range. When `from`/`to` are omitted, only the current day is returned. See [Dates](/dates-and-timezones).
Authentication
Connected account requiredTags
Get All TimecardsEVERHOUR_GET_ALL_TIMECARDSList timecards across the team. Defaults to the last two weeks when no date range is provided — see [Dates](/dates-and-timezones).Connection
List timecards across the team. Defaults to the last two weeks when no date range is provided — see [Dates](/dates-and-timezones).
Authentication
Connected account requiredTags
Get All UsersEVERHOUR_GET_ALL_USERSList all members of the team. Supports `query` for name search and `limit` for pagination — see [Pagination](/pagination).Connection
List all members of the team. Supports `query` for name search and `limit` for pagination — see [Pagination](/pagination).
Authentication
Connected account requiredTags
Get All WebhooksEVERHOUR_GET_ALL_WEBHOOKSList all webhook subscriptions created with your API key.Connection
List all webhook subscriptions created with your API key.
Authentication
Connected account requiredTags
Get ClientEVERHOUR_GET_CLIENTRetrieve a single client by ID.Connection
Retrieve a single client by ID.
Authentication
Connected account requiredTags
Get Current UserEVERHOUR_GET_CURRENT_USERRetrieve the user that owns the API key, including personal settings (timezone, formats, API key).Connection
Retrieve the user that owns the API key, including personal settings (timezone, formats, API key).
Authentication
Connected account requiredTags
Get InvoiceEVERHOUR_GET_INVOICERetrieve a single invoice with its full line-item breakdown.Connection
Retrieve a single invoice with its full line-item breakdown.
Authentication
Connected account requiredTags
Get ProjectEVERHOUR_GET_PROJECTRetrieve a single project. See [Concepts](/concepts) for the project model.Connection
Retrieve a single project. See [Concepts](/concepts) for the project model.
Authentication
Connected account requiredTags
Get Project Fields ConfigurationEVERHOUR_GET_PROJECT_FIELDS_CONFIGURATIONList the custom fields configured on a project, in display order.Connection
List the custom fields configured on a project, in display order.
Authentication
Connected account requiredTags
Get Project SectionsEVERHOUR_GET_PROJECT_SECTIONSList sections (groupings of tasks) within a project.Connection
List sections (groupings of tasks) within a project.
Authentication
Connected account requiredTags
Get Project TasksEVERHOUR_GET_PROJECT_TASKSList tasks in a project. By default all tasks are returned; set `exclude-closed=true` to hide closed/completed tasks. See [Pagination](/pagination) for `limit`/`page` rules.Connection
List tasks in a project. By default all tasks are returned; set `exclude-closed=true` to hide closed/completed tasks. See [Pagination](/pagination) for `limit`/`page` rules.
Authentication
Connected account requiredTags
Get Project Time RecordsEVERHOUR_GET_PROJECT_TIME_RECORDSList time records logged against a single project, across all users and tasks.Connection
List time records logged against a single project, across all users and tasks.
Authentication
Connected account requiredTags
Get Running TimerEVERHOUR_GET_RUNNING_TIMERRetrieve the authenticated user's currently running timer, or an empty timer payload if none is running.Connection
Retrieve the authenticated user's currently running timer, or an empty timer payload if none is running.
Authentication
Connected account requiredTags
Get SectionEVERHOUR_GET_SECTIONRetrieve a single section by ID.Connection
Retrieve a single section by ID.
Authentication
Connected account requiredTags
Get TaskEVERHOUR_GET_TASKRetrieve a single task with its time totals, estimate, and custom fields.Connection
Retrieve a single task with its time totals, estimate, and custom fields.
Authentication
Connected account requiredTags
Get Task Time RecordsEVERHOUR_GET_TASK_TIME_RECORDSList time records logged against a single task, across all users.Connection
List time records logged against a single task, across all users.
Authentication
Connected account requiredTags
Get Team TimesheetsEVERHOUR_GET_TEAM_TIMESHEETSList timesheet weeks across the team, grouped by user.Connection
List timesheet weeks across the team, grouped by user.
Authentication
Connected account requiredTags
Get Time Off TypesEVERHOUR_GET_TIME_OFF_TYPESList the time-off types defined for the team (e.g. Vacation, Sick Leave).Connection
List the time-off types defined for the team (e.g. Vacation, Sick Leave).
Authentication
Connected account requiredTags
Get TimecardEVERHOUR_GET_TIMECARDRetrieve a user's timecard for a specific date.Connection
Retrieve a user's timecard for a specific date.
Authentication
Connected account requiredTags
Get User Time RecordsEVERHOUR_GET_USER_TIME_RECORDSList time records for a single user. Supports the same filters as `GET /team/time`.Connection
List time records for a single user. Supports the same filters as `GET /team/time`.
Authentication
Connected account requiredTags
Get User TimecardsEVERHOUR_GET_USER_TIMECARDSList timecards for a single user. Defaults to the last two weeks when no date range is provided.Connection
List timecards for a single user. Defaults to the last two weeks when no date range is provided.
Authentication
Connected account requiredTags
Get User TimesheetsEVERHOUR_GET_USER_TIMESHEETSList timesheet weeks for a single user. The week id is the Monday date of the week (see [Dates](/dates-and-timezones)).Connection
List timesheet weeks for a single user. The week id is the Monday date of the week (see [Dates](/dates-and-timezones)).
Authentication
Connected account requiredTags
Get WebhookEVERHOUR_GET_WEBHOOKRetrieve a single webhook subscription.Connection
Retrieve a single webhook subscription.
Authentication
Connected account requiredTags
Projects ReportEVERHOUR_PROJECTS_REPORTAggregated project report. Returns time, billing, and budget figures grouped by project. Filter the result with `date.gte`, `date.lte`, `projectId`, `clientId`, and `memberId` query parameters — see [Dates](/dates-and-timezones) for parameter formats. Time columns are in seconds, amounts in cents (see [Concepts](/concepts)).Connection
Aggregated project report. Returns time, billing, and budget figures grouped by project. Filter the result with `date.gte`, `date.lte`, `projectId`, `clientId`, and `memberId` query parameters — see [Dates](/dates-and-timezones) for parameter formats. Time columns are in seconds, amounts in cents (see [Concepts](/concepts)).
Authentication
Connected account requiredTags
Refresh Invoice Line ItemsEVERHOUR_REFRESH_INVOICE_LINE_ITEMSRefresh an invoice's line items from current time records. The invoice's billable items are rebuilt from the underlying time tracked against the invoice's client over its date range. Useful when time records have been added, edited, or deleted after the invoice was first generated.Connection
Refresh an invoice's line items from current time records. The invoice's billable items are rebuilt from the underlying time tracked against the invoice's client over its date range. Useful when time records have been added, edited, or deleted after the invoice was first generated.
Authentication
Connected account requiredTags
Reorder FieldsEVERHOUR_REORDER_FIELDSReorder a project's custom fields. Send the full list of field IDs in the desired order.Connection
Reorder a project's custom fields. Send the full list of field IDs in the desired order.
Authentication
Connected account requiredTags
Search Project TasksEVERHOUR_SEARCH_PROJECT_TASKSSearch tasks within a single project. Same query semantics as `GET /tasks/search`; `limit` must be between 1 and 100.Connection
Search tasks within a single project. Same query semantics as `GET /tasks/search`; `limit` must be between 1 and 100.
Authentication
Connected account requiredTags
Search TasksEVERHOUR_SEARCH_TASKSSearch tasks across all projects by name. The `limit` parameter must be between 1 and 100.Connection
Search tasks across all projects by name. The `limit` parameter must be between 1 and 100.
Authentication
Connected account requiredTags
Start TimerEVERHOUR_START_TIMERStart a timer for the authenticated user on a given task. Only one timer can run per user at a time. If the user already has a timer running on another task, that timer is stopped automatically before the new one starts; the stopped run is committed to a time record on its own date (the date the timer was started, which may not be today for cross-midnight runs). See [Concepts](/concepts) for timer semantics.Connection
Start a timer for the authenticated user on a given task. Only one timer can run per user at a time. If the user already has a timer running on another task, that timer is stopped automatically before the new one starts; the stopped run is committed to a time record on its own date (the date the timer was started, which may not be today for cross-midnight runs). See [Concepts](/concepts) for timer semantics.
Authentication
Connected account requiredTags
Stop TimerEVERHOUR_STOP_TIMERStop the authenticated user's currently running timer. The accumulated duration is committed to a time record on the timer's task for the current date and returned in the response.Connection
Stop the authenticated user's currently running timer. The accumulated duration is committed to a time record on the timer's task for the current date and returned in the response.
Authentication
Connected account requiredTags
Sync Integration ProjectEVERHOUR_SYNC_INTEGRATION_PROJECTSync new integration projects to Everhour. Traditionally, project sync relied on background jobs which could delay access to Everhour functionality. This endpoint allows instant synchronization of a project from a connected integration (like Trello, Asana, ClickUp, etc.) into Everhour. Useful for automation flows where you want to start working with a project immediately after creating it in your external tool. Safe to call multiple times — if the project already exists in Everhour, it simply returns it without creating duplicates. **Workflow** - Create a project in your external tool (Asana, Trello, etc.) and retrieve its ID. - Sync it to Everhour using this endpoint in Everhour API. - Proceed with other Everhour API actions — assign a budget, link a client, or set task estimates. Supported platform codes: as, b2, b3, bb, cl, gh, gl, in, li, mo, no, td, tw, tr, wr.Connection
Sync new integration projects to Everhour. Traditionally, project sync relied on background jobs which could delay access to Everhour functionality. This endpoint allows instant synchronization of a project from a connected integration (like Trello, Asana, ClickUp, etc.) into Everhour. Useful for automation flows where you want to start working with a project immediately after creating it in your external tool. Safe to call multiple times — if the project already exists in Everhour, it simply returns it without creating duplicates. **Workflow** - Create a project in your external tool (Asana, Trello, etc.) and retrieve its ID. - Sync it to Everhour using this endpoint in Everhour API. - Proceed with other Everhour API actions — assign a budget, link a client, or set task estimates. Supported platform codes: as, b2, b3, bb, cl, gh, gl, in, li, mo, no, td, tw, tr, wr.
Authentication
Connected account requiredTags
Time Report (deprecated)EVERHOUR_TIME_REPORT_DEPRECATEDLegacy export of team time records, returned as JSON. Kept for backward compatibility; new integrations should use `GET /team/time` or the dashboard reports.Connection
Legacy export of team time records, returned as JSON. Kept for backward compatibility; new integrations should use `GET /team/time` or the dashboard reports.
Authentication
Connected account requiredTags
Update AllocationEVERHOUR_UPDATE_ALLOCATIONUpdate a time-off allocation's amount or period.Connection
Update a time-off allocation's amount or period.
Authentication
Connected account requiredTags
Update AssignmentEVERHOUR_UPDATE_ASSIGNMENTUpdate an existing schedule assignment.Connection
Update an existing schedule assignment.
Authentication
Connected account requiredTags
Update CategoryEVERHOUR_UPDATE_CATEGORYUpdate an expense category.Connection
Update an expense category.
Authentication
Connected account requiredTags
Update ClientEVERHOUR_UPDATE_CLIENTUpdate an existing client. Only the fields supplied in the body are modified.Connection
Update an existing client. Only the fields supplied in the body are modified.
Authentication
Connected account requiredTags
Update Client BudgetEVERHOUR_UPDATE_CLIENT_BUDGETCreate or replace the budget attached to a client. Send a complete budget object; partial updates are not supported.Connection
Create or replace the budget attached to a client. Send a complete budget object; partial updates are not supported.
Authentication
Connected account requiredTags
Update ExpenseEVERHOUR_UPDATE_EXPENSEUpdate an existing expense entry.Connection
Update an existing expense entry.
Authentication
Connected account requiredTags
Update FieldEVERHOUR_UPDATE_FIELDUpdate a custom field's name, type-specific options, or visibility.Connection
Update a custom field's name, type-specific options, or visibility.
Authentication
Connected account requiredTags
Update InvoiceEVERHOUR_UPDATE_INVOICEUpdate invoice metadata (notes, dates, custom totals). To change the lifecycle state, set `manualStatus` to `draft`, `sent`, or `paid`.Connection
Update invoice metadata (notes, dates, custom totals). To change the lifecycle state, set `manualStatus` to `draft`, `sent`, or `paid`.
Authentication
Connected account requiredTags
Update ProjectEVERHOUR_UPDATE_PROJECTUpdate project settings. To change budget or billable rate, use `PUT /projects/{project_id}/billing` instead.Connection
Update project settings. To change budget or billable rate, use `PUT /projects/{project_id}/billing` instead.
Authentication
Connected account requiredTags
Update Project Billing/BudgetEVERHOUR_UPDATE_PROJECT_BILLING_BUDGETSet or update the project's budget, billable rate, and billing type in a single call. Amounts are in cents (see [Concepts](/concepts)).Connection
Set or update the project's budget, billable rate, and billing type in a single call. Amounts are in cents (see [Concepts](/concepts)).
Authentication
Connected account requiredTags
Update SectionEVERHOUR_UPDATE_SECTIONUpdate a section's name or position.Connection
Update a section's name or position.
Authentication
Connected account requiredTags
Update TaskEVERHOUR_UPDATE_TASKUpdate task fields (name, status, due date, section, labels).Connection
Update task fields (name, status, due date, section, labels).
Authentication
Connected account requiredTags
Update Task BillingEVERHOUR_UPDATE_TASK_BILLINGSet a task's billing rate or mark it non-billable. Requires admin access. The same values are returned on task responses when you pass `opts_include_billing=1`.Connection
Set a task's billing rate or mark it non-billable. Requires admin access. The same values are returned on task responses when you pass `opts_include_billing=1`.
Authentication
Connected account requiredTags
Update Task EstimateEVERHOUR_UPDATE_TASK_ESTIMATESet or replace a task's estimate (in seconds). Send a complete estimate object; partial updates are not supported.Connection
Set or replace a task's estimate (in seconds). Send a complete estimate object; partial updates are not supported.
Authentication
Connected account requiredTags
Update Time Off TypeEVERHOUR_UPDATE_TIME_OFF_TYPEUpdate a time-off type's name, color, or settings.Connection
Update a time-off type's name, color, or settings.
Authentication
Connected account requiredTags
Update Time RecordEVERHOUR_UPDATE_TIME_RECORDUpdate a specific time record by ID. To add or upsert time, use `POST /time` instead.Connection
Update a specific time record by ID. To add or upsert time, use `POST /time` instead.
Authentication
Connected account requiredTags
Update TimecardEVERHOUR_UPDATE_TIMECARDUpdate (or create, if missing) a user's timecard for a specific date. Suitable for manual edits — clock-in and clock-out have dedicated endpoints.Connection
Update (or create, if missing) a user's timecard for a specific date. Suitable for manual edits — clock-in and clock-out have dedicated endpoints.
Authentication
Connected account requiredTags
Update WebhookEVERHOUR_UPDATE_WEBHOOKUpdate a webhook's events or scope. The `targetUrl` cannot be changed and is ignored if sent; the handshake is repeated against the existing URL to confirm it is still reachable. Send `X-Skip-Handshake: 1` to skip it.Connection
Update a webhook's events or scope. The `targetUrl` cannot be changed and is ignored if sent; the handshake is repeated against the existing URL to confirm it is still reachable. Send `X-Skip-Handshake: 1` to skip it.
Authentication
Connected account requiredTags
Users ReportEVERHOUR_USERS_REPORTAggregated member report. Same filters and units as `GET /dashboards/projects` — see [Concepts](/concepts).Connection
Aggregated member report. Same filters and units as `GET /dashboards/projects` — see [Concepts](/concepts).
Authentication
Connected account requiredTags