---
title: Toggl API Integration on Truto
slug: toggl
category: Time Tracking
canonical: "https://truto.one/integrations/detail/toggl/"
---

# Toggl API Integration on Truto



**Category:** Time Tracking  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 315 tools for Toggl that AI agents can call directly.

- **list_all_toggl_audit_logs** — List Toggl Track audit log events for an organization over a given time range. Returns a list of audit log event objects; the upstream docs do not enumerate the individual event fields. Required: organization_id, from, to (RFC3339 datetimes).
- **list_all_toggl_saml_2_logins** — Get the SAML2 Identity Provider (SSO) URL in Toggl Track for a given user email, used for authenticating in an Identity Provider. Returns the SAML2 login response object with provider-specific fields. Required: email. Fails if the email is invalid or SSO is not configured for it.
- **create_a_toggl_saml_2_login** — Submit the SAML2 Identity Provider callback assertion to complete authentication for a Toggl Track workspace. Requires login_id (the numeric workspace ID) and SAMLResponse. Returns a 302 redirect to the authentication result URI with no response body.
- **create_a_toggl_avatar** — Upload a new avatar image for the current Toggl user. Returns the created avatar object (the upstream API does not document its fields). Required: file. The image must have a valid image content type and be resizable — convert it to png or jpeg if the upload is rejected.
- **toggl_avatars_bulk_delete** — Delete the current user's avatar in Toggl. Returns a plain string success message on success.
- **create_a_toggl_avatars_use_gravatar** — Change the authenticated toggl Track user's avatar to their Gravatar image. Returns the updated avatar record with its id and avatar attributes. Requires the email in Toggl to match the Gravatar email.
- **list_all_toggl_countries** — List all existing countries in Toggl Track. Returns an array of country records, each including its numeric id plus the remaining model-specific attributes of the upstream Country schema.
- **list_all_toggl_countrie_subdivisions** — List the subdivisions of a specific country in toggl. Returns subdivision records including their id and other upstream-defined attributes. Required: country_id.
- **list_all_toggl_currencies** — List the available currencies in toggl Track. Returns an array of currency records, each with an id and upstream-defined currency attributes (the models.Currency fields are not enumerated in the docs). Takes no parameters.
- **list_all_toggl_desktop_logins** — Get a new desktop login token in Toggl. The endpoint stores a new token and responds with a 302 redirect carrying an opaque string body — no structured fields are documented. Takes no parameters.
- **create_a_toggl_desktop_login_token** — Create (store) a new desktop login token in Toggl Track. Returns the desktop login token object including its id and an attributes object holding the upstream desktop.LoginToken fields, which the Toggl docs do not enumerate field-by-field. Requires no additional parameters.
- **create_a_toggl_feedback** — Send feedback to toggl about the app, attaching the toggl_version, feedback date, and details of the issue. Returns an empty response on success. Required: toggl_version, date, details.
- **get_single_toggl_ical_workspace_user_by_id** — Get the iCal calendar file for a Toggl workspace user, containing the user's time entries from the last 14 days. Returns the iCal (.ics) file content — a text/calendar payload, not a JSON object. Required: id and token (the iCal token). This is a paid Toggl feature.
- **list_all_toggl_integrations_calendars** — List the toggl calendar integrations a user has — each user may have at most one integration per provider. Returns the integration records including their id, integration_id, and provider-specific properties.
- **update_a_toggl_integrations_calendar_by_id** — Update a toggl calendar integration's properties by id. Returns an empty 204 response on success. Required: id (the integration's ID as saved in the database).
- **delete_a_toggl_integrations_calendar_by_id** — Delete a toggl calendar integration by id (logical deletion). Returns an empty 204 response on success. Required: id (the integration's ID as saved in the database).
- **update_a_toggl_calendar_by_id** — Update updatable fields of a Toggl calendar, such as whether it is selected by the user. Returns the updated calendars with id, selected, and integration_id. Required: integration_id, id. The request payload must not be empty.
- **toggl_calendars_list_events** — List events for a given calendar in a Toggl calendar integration. Deprecated upstream. Returns calendar event records including their id. Required: integration_id, id_calendar, start_date, end_date.
- **toggl_calendars_list_calendars** — List calendars saved for a Toggl user, optionally filtered by integration_id and selected. Returns calendars with id, selected, and integration_id.
- **list_all_toggl_calendars_selecteds** — List all calendars the user previously marked as selected for Toggl's calendar integrations. Returns the paginated collection of selected calendars saved in Toggl; field details are not enumerated in the upstream docs. Max 250 per page.
- **list_all_toggl_calendar_events** — List calendar events from the caller user's selected calendars in Toggl Track. Returns an opaque EventsResponse payload — the upstream docs publish no field-level structure for it. Events appear only after they were previously fetched from the provider via the events update endpoint. Required: start_date, end_date.
- **create_a_toggl_events_details_suggestion** — Get suggested time-entry details for one or more Toggl calendar events. Matches each event ID against past time entries and returns the most probable description, project_id, and accuracy (100% on an exact match; otherwise frequency- or Jaro-Winkler-based). Invalid or inaccessible event IDs, and events with no available suggestion, are silently omitted from the response. Required: event_ids…
- **create_a_toggl_events_update** — Refresh all calendar events for the caller's selected calendars in toggl: fetches the events from the provider and saves them in the database. Returns the amount of fetched events as reported in the response body. No request parameters are required.
- **get_single_toggl_event_details_suggestion_by_id** — Get the most probable details (and accuracy) for the time entry to be created from a Toggl calendar event, matched against similar past time entries. Returns a suggestion with an accuracy rating, or a "null" string when no suggestion exists. Required: id.
- **list_all_toggl_calendar_setups** — Get the URL for setting up a Toggl Track calendar integration with a given provider. Returns the provider authentication URL (302 redirect). Required: provider.
- **create_a_toggl_calendars_update** — Refresh Toggl calendar data for a calendar integration by re-fetching all of its calendars from the provider. Returns the fetched-calendars response object; its fields are not enumerated in the Toggl docs. Required: integration_id.
- **list_all_toggl_event_attendees** — List all attendees for a given calendar event in Toggl Track. Returns an array of attendee records for that event (the record's fields are defined by Toggl's upstream EventAttendee schema and are not itemized in the API docs). Required: integration_id, calendar_id, event_id.
- **get_single_toggl_invitation_by_id** — Get a toggl invitation by code. Returns the SSO invitation object including email, invitation_id, invite_url, organization_id, recipient_id, sender_id, and workspaces. Required: id (the invitation code).
- **list_all_toggl_keys** — Get the current JWKS keyset in Toggl Track used to sign JWT tokens. Returns the JSON Web Key Set document as a JSON object; the upstream API documents no specific key fields for this response. Requires no parameters.
- **list_all_toggl_me** — Get details for the current toggl user. Returns: id, email, fullname, timezone, api_token, at, authorization_updated_at, beginning_of_week, country_id, created_at, updated_at, default_workspace_id, has_password, 2fa_enabled, image_url, openid_email, openid_enabled, oauth_providers, intercom_hash, options, clients, projects, tags, tasks, time_entries, workspaces.
- **toggl_me_bulk_update** — Update details for the current toggl user, such as email, fullname, timezone, beginning_of_week, country_id, default_workspace_id, or password. Returns the updated user: id, email, fullname, timezone, updated_at. Changing the password requires current_password and a new password of at least 6 characters.
- **create_a_toggl_accept_to** — Accept the latest version of the Terms of Service for the current Toggl Track user. Returns a plain string confirmation on success. Takes no query parameters or request body.
- **list_all_toggl_clients** — List the Toggl Track clients belonging to the authenticated user. Returns client records including id, name, notes, external_reference, and workspace_id.
- **create_a_toggl_close_account** — Close the authenticated user's Toggl Track account. Returns a string confirmation message on success.
- **create_a_toggl_disable_product_email** — Disable product emails for the authenticated Toggl user. Returns a plain string confirmation of the successful operation. Required: disable_product_email_id, disable_code.
- **create_a_toggl_disable_weekly_report** — Disable a weekly report in toggl by supplying its weekly report code. Returns a plain string response on success. Required: disable_weekly_report_id, weekly_report_code.
- **create_a_toggl_enable_sso** — Confirm SSO enabling for an existing Toggl account after a successful SSO login. Returns a plain-text string response on success. Requires the SSO enabling confirmation data request body (the upstream sso.Confirmation schema, whose fields the Toggl docs do not enumerate).
- **list_all_toggl_exports** — List Toggl download (export) requests for the current user. Returns an array of download request records including id, uuid, requested_at, and created_at. No request body or query parameters required.
- **create_a_toggl_export** — Request a new Toggl export of the current user's data as a downloadable archive. Returns a string message confirming the export was started. Requires the export payload ("Objects to export"). Only one export can run at a time; requests to export at least one object.
- **list_all_toggl_export_data** — Download the zip archive of export data for the authenticated toggl user by its archive id. Returns the zip file itself as a binary stream, not a JSON object. Required: uuid.
- **list_all_toggl_favorites** — List all favorites saved by the requesting Toggl user. Returns the favorite record: id, workspace_id, user_id, description, project_id, tags, created_at, updated_at.
- **create_a_toggl_favorite** — Create a favorite in Toggl. Returns the created favorite with its id, workspace_id, user_id, description, project_id, and tags. Requires workspace_id and at least one of description or project_id; any referenced tags must belong to that workspace.
- **delete_a_toggl_favorite_by_id** — Delete a Toggl favorite by its numerical id; the favorite and its tags are removed logically. Returns an empty 204 response on success. Required: id.
- **toggl_favorites_bulk_update** — Update favorites in Toggl, following the same requirements as creation. Returns the updated favorite with its id, workspace_id, user_id, description, project_id, and tags. Requires workspace_id and at least one of description or project_id; any referenced tags must belong to that workspace.
- **create_a_toggl_favorites_suggestion** — Generate suggested favorites in Toggl Track from the user's past time-entry activity. Returns an array of suggested favorite objects with id, description, and tags, or a 204 response when there is no past time-entry data to base suggestions on. Suggestions are created only once per user and only if the user has never created a favorite before.
- **toggl_favorites_suggestions_create_workspace_suggestion** — Generate suggested favorites for the user's activity in a specific Toggl Track workspace. Returns an array of suggested favorite objects with id, description, and tags, or a 204 response when there is no past time-entry data to base suggestions on. Required: workspace_id. Suggestions are created only once per user and only if the user has never created a favorite before.
- **list_all_toggl_features** — List the feature flags available to the current user in Toggl Track, grouped per workspace. Returns: workspace_id, features.
- **list_all_toggl_flags** — List feature flags for the current Toggl Track user. Returns the flags object with dynamic string keys whose values can be of any type.
- **create_a_toggl_flag** — Add feature flags for the current Toggl Track user. Returns the updated flags object with dynamic string keys whose values can be of any type. Requires a flags body; limits: 4 flags per request, 128 flags in total, keys up to 32 characters, values up to 64 characters.
- **list_all_toggl_ids** — Get the local Track user ID for the authenticated user in toggl. Returns a bare JSON number — the user's local Track ID — rather than an object, so there are no fields to unpack. Requires no parameters.
- **list_all_toggl_locations** — Get the current user's last known location in Toggl Track, resolved from the client's IP address. Returns the IP-based location object; an empty response is yielded when no location data is present.
- **list_all_toggl_loggeds** — Check whether authentication works for the current Toggl Track user. Returns an empty 200 response on success; a 500 status signals an internal server error.
- **list_all_toggl_organizations** — Get a single Toggl Track organization by organization_id, including its name and current pricing plan. Returns: id, name, admin, owner, at, created_at, is_multi_workspace_enabled, is_unified, max_data_retention_days, max_workspaces, permissions, pricing_plan_enterprise, pricing_plan_id, pricing_plan_name, subscription, suspended_at, trial_info, user_count. Required: organization_id.
- **create_a_toggl_organization** — Create a new Toggl Track organization with a single initial workspace, assigning the current user as its owner. Returns the created IDs: id (organization) and workspace_id. Required: name and workspace_name. Names max 140 characters.
- **update_a_toggl_organization_by_id** — Update an existing Toggl Track organization by id. Returns a plain OK confirmation string; no field-level response body is documented. Required: id (numeric organization ID). The request body may include name to rename the organization (max 140 characters).
- **get_single_toggl_organization_by_id** — List all Toggl Track organizations the authenticated user belongs to. Returns organization records with id, name, admin and owner flags, user_count, pricing plan fields, subscription, and trial_info; an empty array is returned when the user has no access.
- **create_a_toggl_preference** — Update the preferences for the current user in toggl, including enabling or disabling alpha features. Returns a plain success message (string response body) on success. ToSAcceptNeeded cannot be set through this endpoint.
- **toggl_preferences_create_client** — Update the preferences for a specific client of the current user in toggl, including enabling or disabling alpha features. Returns a plain success message (string response body) on success. Required: client (desktop or web). ToSAcceptNeeded cannot be set through this endpoint.
- **list_all_toggl_preferences** — Get the preferences for the current user in toggl. Returns the full preferences object including date_format, timeofday_format, record_timeline, beginningOfWeek, and alpha_features with the enabled flag per feature code.
- **list_all_toggl_projects** — List toggl projects accessible to the authenticated user. Returns an array of project records including id, name, active, billable, client_id, color, currency, and recurring details.
- **list_all_toggl_projects_paginateds** — List the current user's Toggl Track projects. Returns an array of project records including id, name, workspace_id, status, client_id, color, and rate.
- **list_all_toggl_push_services** — List the Firebase registration tokens registered for the current Toggl Track user. Returns an array of registered token strings.
- **create_a_toggl_push_service** — Register a Firebase token for push notifications for the current Toggl Track user. Returns a success confirmation string. Required: fcm_registration_token.
- **toggl_push_services_bulk_delete** — Unregister a Firebase token for the current Toggl Track user. Returns a success confirmation string. Required: fcm_registration_token.
- **list_all_toggl_quotas** — Get the toggl API quota for the current user across all organizations they belong to. Returns a list of quota entries with organization_id (null for user-level requests), remaining, resets_in_secs, and total.
- **create_a_toggl_reset_token** — Reset the Toggl Track API token for the current user. Returns the newly generated API token as a plain JSON string. No request body or query parameters are required.
- **list_all_toggl_tags** — List all tags for the current toggl user. Returns an array of tag objects with their id, name, workspace_id, at, and creator_id. Optional since filter retrieves only tags modified or deleted after a given UNIX timestamp.
- **list_all_toggl_tasks** — List Toggl Track tasks from projects the user participates in. Returns each task's id, name, active state, and created_at.
- **list_all_toggl_time_entries** — List the latest Toggl time entries for the authenticated user. Returns: id, description. Filter by since, before, or start_date/end_date.
- **get_single_toggl_time_entry_by_id** — Get the Toggl time entry currently running for the authenticated user. Returns: id, description. Returns 404 when no time entry is running.
- **toggl_time_entries_search** — Get a single Toggl time entry by id that is accessible to the authenticated user. Returns: id, workspace_id, wid, project_id, pid, project_active, project_billable, project_color, project_name, task_id, tid, task_active, task_name, user_id, uid, user_name, user_avatar_url, description, duration, duronly, billable, start, stop, at, tags, tag_ids, expense_ids, permissions, shared_with, client_id,…
- **toggl_time_entries_list_workspace** — List Toggl time entries within a timesheet timeframe for a workspace. Returns: id, workspace_id, wid, project_id, pid, project_active, project_billable, project_color, project_name, task_id, tid, task_active, task_name, user_id, uid, user_name, user_avatar_url, description, duration, duronly, billable, start, stop, at, tags, tag_ids, expense_ids, permissions, shared_with, client_id, client_name,…
- **list_all_toggl_time_entries_checklists** — Check Toggl Track's time entry requirement for offering a coupon to the current user. Returns an array of checklist items; each item has an id plus checklist-specific fields under attributes.
- **create_a_toggl_time_entries_shared_with** — Get the sharing details of the specified time entries in bulk in toggl. Sends a list of time entry references in the request body and returns a list of time entry sharing details. Requires a JSON array body listing the time entries to get the sharing details of.
- **list_all_toggl_timesheets** — List the timesheets for the authenticated Toggl user. Returns an array of timesheet records, each with an id and an attributes object carrying the fields of the upstream Timesheet model.
- **list_all_toggl_track_reminders** — List the current user's tracking reminders in Toggl Track. Returns: reminder_id, workspace_id, created_at, email_reminder_enabled, slack_reminder_enabled, frequency, threshold, group_ids, user_ids.
- **list_all_toggl_web_timers** — Get the current web timer for the authenticated user in Toggl Track. Returns the web timer response body exactly as provided by the API; the upstream documentation does not enumerate structured fields for it.
- **list_all_toggl_workspaces** — List tags in a Toggl workspace. Returns each tag's id, name, and workspace_id. Required: workspace_id.
- **update_a_toggl_workspace_by_id** — Update a Toggl workspace by id. Returns the updated workspace including id, name, created_at, and updated_at. Required: id. Some settings (default_hourly_rate, default_currency, rounding, rounding_minutes, projects_billable_by_default) require a premium subscription.
- **toggl_workspaces_attach_tag** — Create a tag in a Toggl workspace. Returns the workspace's tags including id, name, and workspace_id. Required: workspace_id and name. Tag names must be unique within the workspace.
- **toggl_workspaces_bulk_update** — Bulk delete tags in a Toggl workspace. Returns an opaque plain-text success confirmation. Required: workspace_id. The operation is not executed at all if any record fails; tag IDs that do not belong to the workspace are rejected.
- **get_single_toggl_workspace_by_id** — List the Toggl workspaces the authenticated user belongs to. Returns each workspace's id, name, created_at, and updated_at.
- **create_a_toggl_invitation_accept** — Accept an organization invitation in Toggl using its invitation code. The invited user is marked as joined and an email is sent to the inviter. Returns a plain-text confirmation string rather than a JSON object. Required: invitation_code.
- **toggl_organizations_invitations_reject** — Reject a toggl organization invitation by invitation code; the user connected with the invitation is marked as deleted. Returns a plain-text string response on success. Required: invitation_code.
- **list_all_toggl_organizations_invitations** — List invitations for a toggl organization. Returns: code, email, organization_id, organization_name, sender_email, sender_name. Required: organization_id.
- **list_all_toggl_organization_groups** — List Toggl organization groups with their user and workspace assignments, sorted by name. Returns: name. Required: organization_id.
- **create_a_toggl_organization_group** — Create a group in a Toggl organization. Returns the created group including group_id, name, users, workspaces, permissions, and at. Required: organization_id and name (max 200 characters).
- **update_a_toggl_organization_group_by_id** — Edit a Toggl organization group by id. Returns the updated group including group_id, name, users, workspaces, permissions, and at. Required: organization_id, id, and name.
- **delete_a_toggl_organization_group_by_id** — Delete a group from a Toggl organization by id. Returns a plain-text OK confirmation on success. Required: organization_id and id.
- **toggl_organization_groups_bulk_update** — Patch a Toggl organization group's user and workspace assignments with JSON patch operations (add/remove on /users or /workspaces). Returns the result of the requested operations. Required: organization_id and group_id. Max 100 patches per request and 100 values per operation; scalar fields like the group name must be edited via the update method.
- **create_a_toggl_slack_request** — Request the Slack integration for a Toggl organization. Sends an email and notification to all org admins asking for the Slack integration. Returns a plain string confirmation once the request is sent to admins. Required: organization_id.
- **create_a_toggl_organization_invitation** — Create invitations for one or more users in a Toggl Track organization by email. Returns the created invitations result including data, invitations, and messages. Required: organization_id, emails, workspaces.
- **toggl_invitation_resends_bulk_update** — Resend the invitation email to a user for a Toggl organization. Returns a plain string confirmation on success. Required: organization_id, invitation_id.
- **list_all_toggl_organization_invoices** — Download a Toggl Track organization invoice as a PDF document. Returns the invoice file itself as binary PDF content (not a JSON object). Required: organization_id, invoice_uid.
- **get_single_toggl_organization_owner_by_id** — Get the owner of a toggl organization by id. Returns the organization owner data, including its id. Required: id (numeric organization ID).
- **list_all_toggl_owner_transfers** — List ownership transfers made in a Toggl Track organization. Returns each transfer record with its id and attributes (Toggl documents the response as a models.Transfer schema without enumerating its fields). Required: organization_id.
- **create_a_toggl_owner_transfer** — Create a new ownership transfer process for a Toggl Track organization. Returns: id.Transfer fields; Toggl does not enumerate them). Required: organization_id.
- **get_single_toggl_owner_transfer_by_id** — Get a single Toggl Track ownership transfer by id. Returns the transfer record with its id and attributes (Toggl documents the response as a models.Transfer schema without enumerating its fields). Required: id, organization_id.
- **toggl_owner_transfers_update_transfer** — Update a Toggl Track ownership transfer process and email stakeholders. Returns the updated transfer record with its id and attributes (Toggl documents the response as a models.Transfer schema without enumerating its fields). Required: organization_id, transfer_id, action (accept, decline, or withdraw).
- **list_all_toggl_organization_payment_records** — List paid invoices for a Toggl organization. Returns unified subscription invoice records with id and schema-specific attributes. Required: organization_id.
- **list_all_toggl_organization_plans** — List the pricing plans for a Toggl organization. Returns the pricing structure with id plus plan-specific attributes defined upstream. Required: organization_id.
- **get_single_toggl_organization_plan_by_id** — Get a single pricing plan for a Toggl organization by id. Returns the pricing structure with id plus plan-specific attributes defined upstream. Required: organization_id, id (numeric plan id).
- **create_a_toggl_organization_premium_upgrade_discount_email** — Send the Premium-annual 30% upgrade email to every admin of a Toggl organization. The send is idempotent per admin and organization, so repeated calls are safe. Returns the number of emails sent as a bare count value with no object fields. Required: organization_id.
- **list_all_toggl_organization_roles** — List Toggl Track organization roles, including both organization-specific and global roles. Returns: id, name. Required: organization_id.
- **get_single_toggl_organization_segmentation_by_id** — Get Toggl organization segmentation data for an organization by its numeric id. Returns the organization segmentation object (the upstream API does not document the field set); a 204 is returned when the organization has no segmentation information. Required: id.
- **toggl_organization_segmentations_bulk_update** — Save organization segmentation information for a Toggl organization identified by its numeric id. Returns the updated organization segmentation object (the upstream API does not document the field set). Required: organization_id.
- **get_single_toggl_organization_subscription_by_id** — Get a Toggl organization's subscription by id. Returns the subscription record including subscription_id, pricing_plan_id, auto_renew, renewal_at, currency, card_details, payment_details, and subscription_period. Required: id.
- **create_a_toggl_organization_subscription** — Create a new unified subscription for a Toggl organization. Returns the created subscription record including subscription_id, pricing_plan_id, auto_renew, renewal_at, organization_id, and workspace_id. Required: organization_id, pricing_plan_tag.
- **toggl_organization_subscriptions_bulk_update** — Update an existing unified subscription for a Toggl organization. Returns the updated subscription record including subscription_id, pricing_plan_id, auto_renew, renewal_at, organization_id, and workspace_id. Required: organization_id, pricing_plan_tag.
- **toggl_organization_subscriptions_bulk_delete** — Cancel a Toggl organization's subscription. Returns a plain-text confirmation on success. Required: organization_id and immediateCancel — set immediateCancel to true to cancel immediately, otherwise the subscription is canceled at period end.
- **create_a_toggl_subscription_cancellation_feedback** — Create cancellation feedback for a toggl organization's subscription. Returns an empty 201 response on success. Required: organization_id and Data (the feedback cancellation data).
- **get_single_toggl_subscription_customer_by_id** — Get the unified customer belonging to a toggl organization. Returns: id, name. Required: id (the organization's numeric id).
- **create_a_toggl_subscription_customer** — Create the unified customer for a toggl organization. Returns: id. Required: organization_id.
- **toggl_subscription_customers_bulk_update** — Update the unified customer data for a toggl organization. The customer's name, email, country and postal code are mandatory upstream, and omitted optional fields are cleared. Returns: id. Required: organization_id.
- **create_a_toggl_subscription_discount_request** — Submit a discount request with cancellation feedback for a Toggl organization subscription; Toggl emails support with the feedback and discount request. Returns a plain string status confirmation (no object body) on success. Required: organization_id and the feedback request body.
- **get_single_toggl_subscription_feature_upsell_multi_by_id** — Get Toggl feature upsell information for multiple organizations, covering all organizations the user has access to. Returns a JSON object keyed by organization id, with each value an array of feature upsell records. Required: id, organization_id.
- **get_single_toggl_subscription_invoice_summary_by_id** — Get a summary of the next invoice for a Toggl organization. Returns the invoice summary as a plain string — the upstream API types the response body as a string and does not document structured fields. Required: id (the organization's numeric id).
- **get_single_toggl_subscription_payment_failed_by_id** — Get subscription payment failed details for a Toggl organization. Returns the payment failed details object; the upstream docs reference it (models.PaymentFailedResponse) without enumerating its fields. Required: id (the organization's numeric ID).
- **create_a_toggl_subscription_promocode** — Apply a promotion code to a Toggl Track organization's customer subscription; any existing promotion code is overridden. Requires organization_id. Returns an empty 200 response on success.
- **toggl_subscription_promocodes_bulk_delete** — Remove any promotion code discount applied to a Toggl Track organization's customer subscription. Requires organization_id. Returns an empty 200 response on success.
- **create_a_toggl_subscription_setup_intent** — Create a setup intent in toggl for collecting the customer's payment method for future payments. Returns confirmation that the setup intent was created. Required: organization_id (numeric ID of the organization).
- **create_a_toggl_subscription_trial** — Create a new unified subscription for a Toggl organization on an initial 30-day trial. Returns an empty response on success. Required: organization_id.
- **toggl_subscription_trials_bulk_delete** — Cancel the active trial for a Toggl organization, ending the trial subscription early; the request fails when no trial exists. Returns a plain-text confirmation message on success. Required: organization_id.
- **get_single_toggl_trial_opt_in_by_id** — Check opt-in trial eligibility for a Toggl organization. Returns the eligibility status as a JSON object of boolean flags. Required: id (the organization's numeric ID).
- **create_a_toggl_trial_opt_in** — Start a new opt-in trial for a Toggl organization if eligible. Returns an empty response body on success (200 'Trial started'). Required: organization_id.
- **delete_a_toggl_subscription_upgrade_request_by_id** — Trigger a feature upgrade request in Toggl — sends a call to action to the organization's admins encouraging a subscription upgrade. Returns a plain-string confirmation (e.g. "CTA notifications sent") with no structured fields. Required: organization_id, id (the numeric id of the feature to request an upgrade for).
- **create_a_toggl_subscription_usage_based_discount** — Apply a usage based discount to a toggl organization's subscription given a specific discount variant. Returns a plain-text confirmation string when the discount is applied. Required: organization_id and a string specification of the discount variant.
- **toggl_subscription_usage_based_discounts_bulk_delete** — Delete the usage based discount applied to a toggl organization. Returns a plain-text confirmation string on success. Required: organization_id.
- **create_a_toggl_item_discount** — Apply a discount to the active Track subscription item of a Toggl organization. Returns confirmation that the discount was applied; the success response documents no body fields. Required: organization_id plus exactly one of coupon_id or promotion_code. The discount applies only to the current subscription item and does not carry over if the customer cancels and resubscribes.
- **list_all_toggl_organization_users** — List users in a toggl organization, filterable by name or email, status, group, workspace, or admins only. Returns each user's id, name, email, inactive, organization_admin, role_id, groups, and workspace memberships. Required: organization_id.
- **toggl_organization_users_bulk_update** — Apply changes in bulk to users in a toggl organization (currently deletion only). Requires organization_id and a delete array of organization user IDs; the paying user and the organization owner cannot be removed. Returns a plain-text success confirmation.
- **update_a_toggl_organization_user_by_id** — Update a single toggl organization user's name, email, inactive flag, organization_admin flag, role_id, or group and workspace assignments. Returns a plain-text success confirmation. Required: id (organization user ID) and organization_id; at least one field must be supplied and admin flags cannot be combined with role_id.
- **list_all_toggl_users_detaileds** — List toggl organization users with details, filterable by name or email, status, admin flag, group, and workspace. Returns records with id and attributes (upstream DetailedOrgUser shape). Required: organization_id.
- **toggl_users_leaves_bulk_delete** — Leave a Toggl organization, removing the authenticated user's account from it; the organization itself is deleted if this was its last user. Returns a plain-text success confirmation. Required: organization_id.
- **create_a_toggl_organization_workspace** — Create a new workspace within an existing toggl organization. Returns the created workspace including id, name, organization_id, premium, default_hourly_rate, and working_hours_in_minutes. Required: organization_id, name. Workspace name must contain non-space characters and be 140 characters or fewer.
- **list_all_toggl_workspaces_statistics** — Get statistics for all workspaces in a Toggl organization. Returns a map keyed by workspace ID where each value includes the workspace's admins, groups_count, and members_count. Required: organization_id.
- **list_all_toggl_workspace_groups** — List user groups visible in a Toggl workspace. Returns each group's group_id, name, users (user_id, name, avatar_url, inactive, joined), workspaces and permissions. Toggl's documented equivalent is the organization-level groups endpoint (see workspace_groups.list_org). Required: workspace_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **create_a_toggl_workspace_group** — Create a user group in a Toggl workspace with a name and optional users and workspaces. Toggl's documented group management lives at the organization level (POST /organizations/{organization_id}/groups); this workspace-scoped form mirrors it. Returns the created group. Required: workspace_id, name. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **update_a_toggl_workspace_group_by_id** — Update a user group in a Toggl workspace by group id: name, users and workspaces. Returns the updated group. Required: workspace_id, id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **delete_a_toggl_workspace_group_by_id** — Delete a user group from a Toggl workspace by group id. Returns an empty response on success. Required: workspace_id, id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **toggl_workspace_groups_list_org** — List user groups of a Toggl workspace within an organization, with user assignments, sorted by name. Returns each group's group_id, name, users (user_id, name, avatar_url, inactive, joined), workspaces and permissions. Required: organization_id, workspace_id.
- **list_all_toggl_workspace_workspace_users** — List Toggl workspace users who belong to the workspace directly or through at least one group. Returns workspace-user records with their id and a WorkspaceUser attributes object (the upstream docs do not enumerate the remaining fields). Required: organization_id, workspace_id.
- **delete_a_toggl_workspace_workspace_user_by_id** — Delete a Toggl workspace user, removing the user from the workspace. Returns an empty 204 response on success. Required: id (the workspace user's numeric ID) and workspace_id.
- **toggl_workspace_workspace_users_list_org** — List Toggl workspace users through the organization-scoped endpoint, including users who belong to the workspace directly or through at least one group. Returns workspace-user records with their id and a WorkspaceUser attributes object (the upstream docs do not enumerate the remaining fields). Required: organization_id, workspace_id.
- **toggl_workspace_workspace_users_update_workspace_user** — Update a Toggl workspace user's data (role, rates, labor cost, working hours, admin flags). Returns a plain-text confirmation string on success. Required: workspace_id and workspace_user_id. The admin flags and role_id are mutually exclusive; working_hours_in_minutes must be positive or null.
- **toggl_workspace_workspace_users_bulk_update** — Remove workspace users in bulk from a Toggl workspace (currently deletion only). Returns a plain-text confirmation string on success. Required: organization_id, workspace_id, and a delete array of workspace user entries (at least one workspace user ID; IDs must be unique).
- **create_a_toggl_smail_contact** — Send a contact request to Toggl (sales/support 'smail' form) with an email and message. Returns an empty response on success; Toggl returns 400 'Email is required' without an email. Required: email. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **create_a_toggl_smail_demo** — Send a demo request email in toggl. Returns a plain string confirmation on success. Requires Email, Phone, TeamSize, Purpose, and Source in the request body; the API rejects missing or overly long values for any of them.
- **create_a_toggl_smail_meet** — Send an email for a meet in toggl with a message and location. Returns a success string on success. Requires email and location in the request body.
- **list_all_toggl_status** — Check the toggl API status. Returns the API status as a plain string on success; the method takes no parameters.
- **list_all_toggl_subscriptions_plans** — List all subscription plans available in Toggl Track along with all features available per plan. Returns a list of plans, each with its set of available features.
- **list_all_toggl_sync_server_goals** — List all goals for the requesting user in toggl. Returns: id, created_at, updated_at.
- **list_all_toggl_timelines** — Get timeline events for the current user in Toggl Track. Returns an array of timeline event records with id and upstream-defined event attributes (models.TimelineEvent). Timeline must be enabled.
- **create_a_toggl_timeline** — Save timeline events for the current user in Toggl Track by posting a JSON array of timeline event objects. Returns the timeline settings record with id and upstream-defined settings attributes (models.TimelineSettings).
- **toggl_timelines_bulk_delete** — Delete all timeline data for the current user in Toggl Track. Returns an empty 204 response on success. Timeline must be enabled.
- **list_all_toggl_timezones** — List all timezones known to Toggl Track. Returns a JSON array of timezone name strings. No required parameters.
- **list_all_toggl_timezones_offsets** — List known timezones with their offsets in toggl Track. Returns an array of timezone records (id plus an attributes object defined by the upstream models.Timezone schema, whose field breakdown is documented only in toggl's API reference).
- **list_all_toggl_workspaces_plans** — List Toggl Track's public subscription plans. Returns: id, attributes.FancyPlan shape, not expanded in the public docs). Takes no parameters.
- **list_all_toggl_workspace_alerts** — List existing toggl workspace alerts. Returns each alert including id, project_id, source_kind, threshold_type, thresholds, and receiver details. Required: workspace_id.
- **create_a_toggl_workspace_alert** — Create a toggl workspace alert for a project. Returns the created alert including id, project_id, source_kind, threshold_type, thresholds, and receiver details. Required: workspace_id, project_id, source_kind, threshold_type, thresholds.
- **update_a_toggl_workspace_alert_by_id** — Update a toggl workspace alert by id. Returns the updated alert including id, project_id, source_kind, threshold_type, thresholds, and receiver details. Required: workspace_id, id (numeric alert id), project_id, source_kind, threshold_type, thresholds.
- **delete_a_toggl_workspace_alert_by_id** — Delete a toggl workspace alert by id. Returns a plain-text string confirmation on success. Required: workspace_id, id (numeric alert id).
- **list_all_toggl_workspace_clients** — List clients in a Toggl Track workspace, filterable by name (case-insensitive substring match) and by status. Returns each client's id, name, notes, external_reference, archived, and creator_id. Required: workspace_id. Only active clients are returned unless status is provided.
- **create_a_toggl_workspace_client** — Create a client in a Toggl Track workspace. Returns the created client including id, name, wid, archived, notes, external_reference, creator_id, and at. Required: workspace_id and name.
- **update_a_toggl_workspace_client_by_id** — Update a client in a Toggl Track workspace by id. Returns the updated client including id, name, notes, external_reference, archived, and creator_id. Required: workspace_id and id. To archive the client instead, use the archive method.
- **delete_a_toggl_workspace_client_by_id** — Delete a client in a Toggl Track workspace by id. Returns a numeric result on success. Required: workspace_id and id.
- **toggl_workspace_clients_archive** — Archive a client and its related projects in a Toggl Track workspace. Returns the ids of the projects archived with the client. Required: workspace_id and client_id. Only available for premium workspaces.
- **toggl_workspace_clients_restore** — Restore an archived Toggl Track client and its related projects in a workspace. Returns the restored client object including id, name, wid, archived, and notes. Required: workspace_id, client_id.
- **get_single_toggl_workspace_client_by_id** — Get a Toggl Track client by id from a workspace. Returns the client object including id, name, wid, archived, creator_id, and at. Required: workspace_id, id.
- **create_a_toggl_clients_archive** — Archive one or more toggl workspace clients in bulk, together with their related projects (premium workspaces only). Returns an array of archive results, each containing an items array with the client and project IDs that were archived. Required: workspace_id and a bare array of client IDs.
- **get_single_toggl_clients_datum_by_id** — Get Toggl Track clients from a workspace by a list of client ids. Returns an array of client objects including id, name, wid, archived, at, creator_id, notes, and external integration fields. Required: id (the numeric workspace id, supplied via the ID field) and a JSON array body of client ids (integers).
- **delete_a_toggl_clients_delete_by_id** — Delete one or more toggl workspace clients. Accepts a bare array of numeric client ids in the request body and returns a confirmation message string on success. Required: workspace_id and the array of client ids to delete.
- **list_all_toggl_workspace_currencies** — List the currency codes available for a given Toggl workspace. Returns an array of currency code strings (e.g. USD). Required: workspace_id.
- **list_all_toggl_dashboard_all_activities** — Get the latest activity for every user in a toggl workspace — the 20 most recent actions or the latest activity per user. Returns: description. Required: workspace_id.
- **list_all_toggl_dashboard_most_actives** — List the most active users in a Toggl Track workspace dashboard, returning up to the top 5 users who tracked the most time during the last 7 days. Returns: user_id, duration. Required: workspace_id.
- **list_all_toggl_dashboard_top_activities** — List Toggl Track's top workspace activities — an overview of the most recent time-entry actions in the workspace. Returns activity objects with user_id, project_id, duration (negative when the entry is running), description, stop, and tid. Required: workspace_id.
- **list_all_toggl_workspace_expenses** — List the work expenses recorded in a toggl workspace. Returns the expense records including id and workspace_id. Required: workspace_id.
- **create_a_toggl_expenses_upload** — Upload a work expense file to a Toggl Track workspace. Returns the created expense record including its id and attributes (the full field set is defined by Toggl's expenses.Expense schema). Required: workspace_id, file.
- **list_all_toggl_workspace_exports** — List the data export (download) requests raised for a Toggl Track workspace. Returns download-request records with id and schema-specific attributes; the upstream docs do not enumerate the record fields. Required: workspace_id.
- **create_a_toggl_workspace_export** — Request a data export of selected objects from a Toggl Track workspace. Sends an array of object names to export (at least one required) and returns a plain string acknowledgement on success (contents not documented upstream); only one export can run at a time. Required: workspace_id.
- **list_all_toggl_exports_data** — Download the zip file of a Toggl workspace's completed data export request. Returns the zip archive file contents (binary), not a structured JSON object. Required: workspace_id, uuid. The export data expires if not downloaded in time.
- **list_all_toggl_workspace_favorites** — List all toggl favorites for the requesting user in a workspace. Returns favorite records including id, workspace_id, user_id, description, project_id, and tags. Required: workspace_id. The requesting user must have access to the Favorites feature.
- **create_a_toggl_workspace_favorite** — Create a favorite in a toggl workspace; the referenced resources (workspace, tags, etc.) must be valid and accessible to the user. Returns: id. Required: workspace_id. The request body is required.
- **delete_a_toggl_workspace_favorite_by_id** — Delete a favorite in a toggl workspace by id, logically removing it from the database along with its tags. Returns an empty 204 response on success. Required: workspace_id, id.
- **toggl_workspace_favorites_bulk_update** — Update an array of favorites in a toggl workspace, following the same requirements as the create operation. Returns: id. Required: workspace_id. The request body is required.
- **list_all_toggl_workspace_goals** — List goals for the requesting user in a Toggl workspace. Returns goal records, each with its numeric id and the full goal fields under attributes. Required: workspace_id.
- **create_a_toggl_workspace_goal** — Create a goal in a Toggl workspace. Returns the created goal with its numeric id and the full goal fields under attributes. Required: workspace_id plus the goal details in the request body.
- **update_a_toggl_workspace_goal_by_id** — Update a goal's updatable parameters in a Toggl Track workspace. Returns the updated goal with its numeric id and the remaining goal fields under attributes. Required: workspace_id and id (the goal's ID); a goal-details JSON request body is also required.
- **delete_a_toggl_workspace_goal_by_id** — Delete a goal created by the calling user in a Toggl workspace. Returns an empty 204 response on success. Required: workspace_id and id (the Goal ID).
- **get_single_toggl_workspace_goal_by_id** — Get a single goal that relates to the calling user in a Toggl workspace. Returns the goal with its numeric id and the full goal fields under attributes. Required: workspace_id and id (the Goal ID).
- **create_a_toggl_ical_reset** — Reset the iCal token for a Toggl workspace, regenerating the token used to subscribe to calendar feeds. Returns the new iCal token as a plain string. Required: workspace_id.
- **create_a_toggl_ical_toggle** — Toggle the iCal token on/off for a toggl workspace. Returns the successful 200 response body as a plain JSON string. Required: workspace_id.
- **create_a_toggl_workspace_import_preview_count** — Retrieve optimized count-only import preview counts for toggl Track entities in a workspace. Returns a counts object defined by the upstream importer.PreviewCountsResponse schema (individual keys are not enumerated in the public API docs). Required: workspace_id and a JSON request body matching importer.PreviewCountsRequest.
- **list_all_toggl_workspace_invoices** — List invoices generated in a Toggl workspace (Toggl's billable-time invoicing feature). Returns each invoice's id, workspace_id, client_id, number, status, currency, total, issue and due dates and the billed period. Required: workspace_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **create_a_toggl_workspace_invoice** — Create an invoice in a Toggl workspace from billable time for a client and period. Returns the created invoice. Required: workspace_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **delete_a_toggl_workspace_invoice_by_id** — Delete an invoice from a Toggl workspace by invoice id. Returns an empty response on success. Required: workspace_id, id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **toggl_workspace_invoices_get_pdf** — Download a Toggl workspace invoice as a PDF file by invoice id. Returns the PDF binary. Required: workspace_id, invoice_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **list_all_toggl_workspace_linked_sso_profiles** — List the SSO profiles linked to a Toggl Track workspace. Returns a list of linked SSO profile records, each with its id and profile attributes. Required: workspace_id.
- **update_a_toggl_workspace_linked_sso_profile_by_id** — Link an SSO profile to a Toggl Track workspace. Returns the list of linked SSO profile records, each with its id and profile attributes. Required: workspace_id and id (the numeric SSO profile id). Fails if the SSO profile is unapproved or already linked to another workspace.
- **delete_a_toggl_workspace_linked_sso_profile_by_id** — Unlink an SSO profile from a Toggl Track workspace. Returns the list of linked SSO profile records, each with its id and profile attributes. Required: workspace_id and id (the numeric SSO profile id).
- **get_single_toggl_workspace_logo_by_id** — Get the logo for a given toggl workspace by id. Returns: logo. Required: id.
- **create_a_toggl_workspace_logo** — Set the logo for a given toggl workspace. Returns: logo. Required: workspace_id.
- **toggl_workspace_logos_bulk_delete** — Delete the logo for a given toggl workspace. Returns: logo. Required: workspace_id.
- **list_all_toggl_workspace_payment_receipts** — Download the PDF receipt for a payment in a Toggl workspace. Returns the raw payment receipt PDF file as binary content. Required: workspace_id and payment_id.
- **list_all_toggl_workspace_preferences** — Get the preferences for a given Toggl Track workspace. Returns: logo. Required: workspace_id.
- **create_a_toggl_workspace_preference** — Update the preferences for a given Toggl Track workspace. Returns: logo. Required: workspace_id and the preference fields to set. Updating time entry lock settings requires the workspace to have the Locking time entries feature enabled.
- **list_all_toggl_workspace_project_groups** — List project-group assignments in a Toggl workspace (which user groups are assigned to which projects). Returns each assignment's id, group_id, pid (project id) and wid (workspace id). Required: workspace_id.
- **create_a_toggl_workspace_project_group** — Assign a user group to a project in a Toggl workspace. Returns the created assignment with id, group_id, pid and wid. Required: workspace_id, group_id, project_id.
- **delete_a_toggl_workspace_project_group_by_id** — Remove a user group from a project in a Toggl workspace by project-group assignment id. Returns an empty response on success. Required: workspace_id, id.
- **list_all_toggl_workspace_project_users** — List project users (project memberships) in a Toggl workspace, optionally filtered by project_ids (comma-separated, max 200), user_id, or including group members. Returns each membership's id, project_id, user_id, workspace_id, group_id, manager flag, rate, labor_cost and last-updated timestamps. Required: workspace_id.
- **create_a_toggl_workspace_project_user** — Add a user to a project in a Toggl workspace, optionally as manager with a rate and labor cost (each with a change mode of start-today, override-current or override-all). Returns the created project user. Required: workspace_id, project_id, user_id.
- **update_a_toggl_workspace_project_user_by_id** — Update a project user in a Toggl workspace by project user id: manager flag, rate and rate_change_mode, labor_cost and labor_cost_change_mode. Returns the updated project user. Required: workspace_id, id.
- **delete_a_toggl_workspace_project_user_by_id** — Remove a project user from a project in a Toggl workspace by project user id. Returns an empty response on success. Required: workspace_id, id.
- **toggl_workspace_project_users_bulk_update** — Bulk-edit several Toggl project users with JSON Patch operations (op, path, value), passing the project user ids comma-separated in project_user_ids. Returns success and failure lists. Required: workspace_id, project_user_ids, body array.
- **create_a_toggl_project_users_paginated** — List toggl project users for a given workspace and set of projects, paginated. Returns project user records including id, user_id, project_id, and manager. Required: workspace_id and a JSON array body of numeric project IDs.
- **list_all_toggl_workspace_projects** — List projects in a Toggl workspace with filters (active or 'both', since timestamp, billable, client_ids, user_ids, group_ids, project_ids, statuses, name/search, only_me, only_editable, only_templates) and sort options. Paginated with page and per_page (max 200). Returns each project's id, name, workspace_id, client_id, active, status, is_private, billable, color, currency, rate, fixed_fee, estimated_hours, actual_hours, start_date, end_date, recurring settings, template flags, external_reference, integration links and timestamps. Required: workspace_id.
- **create_a_toggl_workspace_project** — Create a project in a Toggl workspace. Accepts name, client_id or client_name, active, is_private, billable, color, currency, rate and rate_change_mode, fixed_fee, estimated_hours, auto_estimates, start_date, end_date, recurring settings, template settings and external_reference. Returns the created project. Required: workspace_id, name.
- **update_a_toggl_workspace_project_by_id** — Update a project in a Toggl workspace by project id. Accepts the same fields as create (name, client, active, billable, color, currency, rate and rate_change_mode, fixed_fee, estimates, dates, recurring and template settings). Returns the updated project. Required: workspace_id, id.
- **delete_a_toggl_workspace_project_by_id** — Delete a project from a Toggl workspace by project id. Returns an empty response on success. Required: workspace_id, id.
- **get_single_toggl_workspace_project_by_id** — Get a single project in a Toggl workspace by project id. Returns: id, name, workspace_id, client_id, active, status, is_private, billable, color, currency, rate, fixed_fee, estimated_hours, actual_hours, start_date, end_date, recurring settings, template flags, external_reference and timestamps. Required: workspace_id, id.
- **toggl_workspace_projects_bulk_update** — Bulk-edit several Toggl projects at once with JSON Patch operations (op, path, value), e.g. replace /active or /client_id. Pass the target project ids comma-separated in project_ids. Returns success (ids updated) and failure (id, message) lists. Required: workspace_id, project_ids, body array.
- **create_a_toggl_projects_billable_amount** — Calculate billable amounts for Toggl projects in a workspace, used by Toggl's project revenue views. Post the project ids (and optional date range) to receive billable amount totals per project. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **create_a_toggl_projects_task_count** — Retrieve the task count for the specified projects in a toggl workspace. Returns a list of maps of project ids to their task counts. Required: workspace_id and the post parameters body.
- **list_all_toggl_projects_templates** — List project templates for a toggl workspace by workspace_id. Returns: id, name, active, is_private, start_date, end_date, color, created_at, workspace_id. Required: workspace_id (numeric ID of the workspace).
- **create_a_toggl_projects_user_count** — Retrieve the user count for specified projects in a Toggl Track workspace. Returns an array of objects mapping project IDs to their user counts. Required: workspace_id and a JSON request body of post parameters.
- **list_all_toggl_project_periods** — List recurring project periods for a project in a Toggl Track workspace. Returns recurring period records, each identified by id. Required: workspace_id, project_id.
- **create_a_toggl_project_pin** — Pin or unpin a Toggl project so it appears at the top of the user's project list. Returns a 200 OK confirmation with no documented response body. Required: workspace_id, project_id. Pin limits apply: max 100 pins on paid plans, max 1 on free plans.
- **list_all_toggl_project_statistics** — Get tracked-time statistics for a given project in a toggl workspace. Returns the statistics object under attributes, with fields defined by Toggl's upstream ProjectStatistics schema. Required: workspace_id, project_id. Running time entries are excluded from time-entry statistics.
- **list_all_toggl_project_tasks** — List toggl project tasks for a given project in a workspace. Returns tasks with: id, name, active, estimated_seconds, user_id, external_reference, and created_at. Required: workspace_id, project_id.
- **create_a_toggl_project_task** — Create a toggl task within a given project. Returns the created task with: id, name, active, estimated_seconds, user_id, external_reference, and created_at. Required: workspace_id, project_id.
- **update_a_toggl_project_task_by_id** — Update one or more toggl project tasks by sending an array of JSON patch operations. Returns the patched task fields: id, name, and created_at. Required: workspace_id, project_id, id (one or more comma-separated task ids), and an array of patch operations with op, path, and value.
- **delete_a_toggl_project_task_by_id** — Delete a toggl project task by id. Returns a success confirmation string. Required: workspace_id, project_id, id.
- **get_single_toggl_project_task_by_id** — Get a toggl project task by id. Returns the task with: id, name, and created_at. Required: workspace_id, project_id, id.
- **toggl_project_tasks_bulk_update** — Bulk update toggl project tasks by applying an array of JSON patch operations (op, path, value) to the comma-separated task_ids within a given project. Returns: success, failure. Required: workspace_id, project_id, task_ids.
- **create_a_toggl_workspace_rate** — Create a new rate in a toggl workspace. Returns the created rate record including its id, created_at, updated_at, and deleted_at. Required: workspace_id, amount, level, level_id, and type; either mode or start must also be provided. Billable rates require a Starter or higher plan.
- **list_all_toggl_workspace_rates** — List toggl workspace rates by level (workspace, project, task, or user). Returns rates with id, amount, type, start, end, and workspace_id. Required: workspace_id, level, and level_id.
- **list_all_toggl_reports_shareds** — List shared reports in a Toggl workspace. Returns an array of saved report records including id, report_name, report_type, public, and fixed_daterange. Required: workspace_id. Premium workspaces only.
- **create_a_toggl_reports_shared** — Create a shared report in a Toggl workspace. Returns the created shared report including id, report_name, report_type, public, and fixed_daterange. Requires workspace_id, name, report_type, fixed_daterange, and public. Premium workspaces only; public reports can be saved only by admins.
- **update_a_toggl_reports_shared_by_id** — Update shared reports in a Toggl workspace by sending an array of saved report payloads. Returns the updated shared report object: id, name, report_type, public, created_at, updated_at. Required: id, workspace_id, name, report_type.
- **delete_a_toggl_reports_shared_by_id** — Delete a saved report in Toggl by id. Returns the deleted saved report object: id, name, report_type, public, created_at, updated_at. Requires workspace_id and id (the numeric report id). Available only for premium workspaces.
- **get_single_toggl_reports_shared_by_id** — Get a saved report in Toggl by id. Returns the saved report object: id, name, report_type, public, created_at, updated_at. Requires workspace_id and id (the numeric report id). Available only for premium workspaces.
- **toggl_reports_shareds_bulk_update** — Update shared reports in a Toggl workspace. Accepts a JSON array of saved-report payloads and returns the updated shared report including id, name, report_type, public, and report_token. Required: workspace_id, plus id, name, and report_type in each payload item. Premium workspaces only.
- **toggl_shared_bulk_deletes_bulk_update** — Bulk delete saved reports in a toggl workspace. Returns an array of saved report objects including fields such as id, report_name, report_type, public, fixed_daterange, and saved_params. Required: workspace_id and a request body identifying the saved reports to delete. Available only for premium workspaces.
- **list_all_toggl_workspace_scheduled_reports** — List scheduled reports for a toggl workspace. Returns an array of ScheduledReport objects, each including its numeric id; the upstream docs define the record via the models.ScheduledReport schema but do not enumerate its remaining fields. Required: workspace_id.
- **create_a_toggl_workspace_scheduled_report** — Create a scheduled report for a toggl workspace. Returns the created scheduled report object including its numeric id; the upstream docs define the record via the models.ScheduledReport schema but do not enumerate its remaining fields. Required: workspace_id. The scheduled report frequency must be one of: 1 (daily), 7 (weekly) or 30 (monthly).
- **delete_a_toggl_workspace_scheduled_report_by_id** — Delete a scheduled report from a toggl workspace by id (the numeric scheduled report id). Returns an empty 204 response on success. Required: id and workspace_id.
- **list_all_toggl_workspace_statistics** — Get Toggl Track statistics for a workspace: the workspace admins list, members count and groups count. Returns: admins, members_count, groups_count. Required: workspace_id.
- **get_single_toggl_workspace_subscription_by_id** — Get the subscription data for a toggl workspace by id (numeric workspace ID). Returns: created_at. Required: id.
- **list_all_toggl_subscription_purchase_orders** — Download a purchase order document in PDF form for a toggl workspace. Returns the purchase order document as a binary PDF file (application/pdf), not a JSON object. Required: workspace_id, purchase_order_id.
- **update_a_toggl_workspace_tag_by_id** — Update a workspace tag in Toggl by id. Returns the updated tag with its id and name (the API responds with an array of the workspace's tag objects). Required: workspace_id, id, and name. Requires workspace admin access.
- **delete_a_toggl_workspace_tag_by_id** — Delete a workspace tag in Toggl by id. Returns a plain success message on completion. Required: workspace_id, id. Requires workspace admin access.
- **list_all_toggl_workspace_tasks** — List toggl workspace tasks. Returns a page of tasks (data) with pagination info (page, per_page, total_count) and the sort settings applied (sort_field, sort_order). Required: workspace_id. Supports filtering by active state, project (pid), name search, and start/end date boundaries.
- **list_all_toggl_tasks_basics** — List toggl workspace tasks with filtering by name search, project, client, active state, and sorting. Returns each task's id, name, and created_at. Required: workspace_id.
- **get_single_toggl_tasks_datum_by_id** — List toggl tasks for the given projects in a workspace, filtered by a search term. Send project_ids and/or task_ids in the request body; returns matching tasks with id, name, active, estimated_seconds, project_id, user_id, and created_at. Required: id (numeric workspace id), workspace_id, and search.
- **create_a_toggl_workspace_time_entry** — Create a new time entry in a Toggl workspace. Returns the created TimeEntry including id, description, duration, billable, and start/stop timestamps. Required: workspace_id and the time entry payload.
- **update_a_toggl_workspace_time_entry_by_id** — Update a time entry in a Toggl workspace by id. Returns the updated TimeEntry including id, description, duration, billable, and start/stop timestamps. Required: id, workspace_id, time_entry_ids.
- **delete_a_toggl_workspace_time_entry_by_id** — Delete a time entry from a Toggl workspace by id. Returns an empty 204 response on success. Required: id and workspace_id.
- **toggl_workspace_time_entries_stop** — Stop a running time entry in a Toggl workspace by time_entry_id. Returns the stopped TimeEntry including id, duration, description, billable, and start/stop timestamps. Required: time_entry_id and workspace_id.
- **list_all_toggl_workspace_time_entries** — List time entries in a Toggl workspace. Returns: id, workspace_id, created_at, updated_at. Required: workspace_id.
- **toggl_workspace_time_entries_bulk_update** — Bulk edit time entries in a Toggl workspace using RFC 6902-style patch operations. Returns success and failure arrays. Required: workspace_id, time_entry_ids (comma-separated, max 100 IDs per request), and an operations array body.
- **list_all_toggl_workspace_time_entry_constraints** — Get the time entry constraints for a Toggl Track workspace. Returns: time_entry_constraints_enabled, description_present, project_present, tag_present, task_present, and max_tags. Required: workspace_id.
- **create_a_toggl_workspace_time_entry_constraint** — Set the time entry constraints for a Toggl Track workspace by posting the constraints object. Returns: time_entry_constraints_enabled, description_present, project_present, tag_present, task_present, and max_tags. Required: workspace_id. Admin permissions are required upstream.
- **list_all_toggl_workspace_time_entry_invitations** — List time entry invitations for a Toggl Track workspace. Returns the invitations, each with its numeric id, which is the time_entry_invitation_id used to accept or reject it. Required: workspace_id.
- **create_a_toggl_workspace_time_entry_invitation** — Accept or reject a time entry invitation in a Toggl Track workspace. Returns an empty 204 response on success. Required: workspace_id, time_entry_invitation_id, and action (accept or reject).
- **list_all_toggl_workspace_timesheet_setups** — List timesheet setups for a toggl workspace. Returns a paginated collection of setup records including id, member_ids, approver_ids, start_date, and periodicity. Required: workspace_id. sort_field defaults to start_date.
- **create_a_toggl_workspace_timesheet_setup** — Create timesheet setups for members of a toggl workspace. Returns an array of the created setup records including id, member_ids, approver_ids, start_date, and periodicity. Required: workspace_id. Approvals are a premium feature.
- **delete_a_toggl_workspace_timesheet_setup_by_id** — Delete a timesheet setup by id in a toggl workspace. Returns a success confirmation string. Required: id and workspace_id. Deletion fails when the member has approved, rejected, or submitted timesheets.
- **toggl_workspace_timesheet_setups_setup** — Update a timesheet setup in a toggl workspace: change the approver, approvers_layers, end_date, or reminder schedule by setup_id. Returns the updated setup record including id, approver_ids, end_date, reminder_day, and reminder_time. Required: setup_id and workspace_id.
- **list_all_toggl_workspace_timesheets** — List timesheets (approval periods) in a Toggl workspace, part of Toggl's time approvals feature. Returns each timesheet's setup_id, user_id, start_date, end_date, status, total_seconds and submission/approval details. Required: workspace_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **toggl_workspace_timesheets_list_history** — List the status history of one Toggl timesheet, identified by its setup_id and period start_date. Returns each change with status, actor and timestamp. Required: workspace_id, setup_id, start_date. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **toggl_workspace_timesheets_update_timesheet** — Change the status of one Toggl timesheet (submit, approve, reject or reopen), identified by setup_id and period start_date. Returns the updated timesheet. Required: workspace_id, setup_id, start_date, status. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **toggl_workspace_timesheets_bulk_update** — Change the status of several Toggl timesheets in a workspace at once. Send the timesheets to update (setup_id, user_id, start_date) with the target status. Returns the updated timesheets. Required: workspace_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.
- **get_single_toggl_timesheets_hour_by_id** — Get timesheet working hours and total tracked seconds for specific timesheet setups in a toggl workspace. Returns an array of hour summaries with hours and seconds. Required: workspace_id and a body array of setups, each with setup_id and start_date (YYYY-MM-DD).
- **list_all_toggl_workspace_track_reminders** — List track reminders for a toggl workspace. Returns reminder objects including reminder_id, workspace_id, frequency, threshold, group_ids, user_ids, and created_at. Required: workspace_id.
- **create_a_toggl_workspace_track_reminder** — Create a tracking reminder for a toggl workspace. Returns the created reminder including reminder_id, workspace_id, frequency, threshold, group_ids, user_ids, and created_at. Requires workspace_id and a reminder parameters body.
- **update_a_toggl_workspace_track_reminder_by_id** — Update a toggl workspace tracking reminder by id. Returns the updated reminder including reminder_id, workspace_id, frequency, threshold, group_ids, user_ids, and created_at. Required: workspace_id, id (reminder_id).
- **delete_a_toggl_workspace_track_reminder_by_id** — Delete a toggl workspace tracking reminder by id. Returns an empty 204 response on success. Required: workspace_id, id (reminder_id).
- **list_all_toggl_workspace_users** — List all users belonging to a Toggl workspace. Returns: id. Required: workspace_id.
- **update_a_toggl_workspace_user_by_id** — Update the data for a user in a Toggl workspace. Returns a plain string confirmation on success (the API documents no structured response body). Required: id (numeric user ID) and workspace_id.
- **create_a_toggl_users_datum** — Fetch basic data for specific users of a toggl workspace. Returns an array of workspace user records, each with its numeric id. Required: workspace_id and a body array of user IDs (1-150 elements).
- **list_all_toggl_event_filters** — List the event filters toggl supports for use when creating or updating a subscription. Returns: client, project, time_entry.
- **get_single_toggl_limit_by_id** — Get the webhook limits for a toggl Track workspace by id. Returns: max_events_per_webhook, max_webhooks. Required: id.
- **create_a_toggl_ping** — Send a test ping to a Toggl webhooks subscription to verify its callback URL is accessible and responding with the correct status. Returns an opaque success payload whose fields are not enumerated upstream. Required: workspace_id, subscription_id.
- **get_single_toggl_subscription_by_id** — Get all webhook subscriptions for a Toggl Track workspace. Returns each subscription's subscription_id, description, url_callback, enabled, event_filters, and secret. Required: id.
- **create_a_toggl_subscription** — Create a webhook subscription for a Toggl Track workspace. Returns the created subscription including subscription_id, description, url_callback, enabled, and event_filters. The description must be unique within the workspace and the callback URL is validated. Required: workspace_id.
- **update_a_toggl_subscription_by_id** — Update an existing Toggl Track webhook subscription by id within a workspace. Returns the updated subscription including subscription_id, description, url_callback, enabled, and event_filters. Required: id, workspace_id.
- **delete_a_toggl_subscription_by_id** — Delete a Toggl Track webhook subscription by id from a workspace. Returns the removed subscription including subscription_id, description, url_callback, enabled, and event_filters. Required: id, workspace_id.
- **toggl_subscriptions_bulk_update** — Enable or disable an existing Toggl Track webhook subscription. Returns the updated subscription including subscription_id, description, url_callback, enabled, and event_filters. Required: workspace_id, subscription_id.
- **list_all_toggl_validates** — Validate a Toggl Track subscription by confirming its validation code against the one stored for the subscription. Returns a plain string response (the body is an unstructured string, not a JSON object). Fails if the code does not match or the subscription was already validated. Required: workspace_id, subscription_id, validation_code.
- **toggl_detailed_reports_search_time_entries** — Search time entries for the toggl detailed report of a workspace. Returns grouped time entry rows including description, project_name, username, row_number, billable_amount_in_cents, and time_entries. Required: workspace_id. At least one filter parameter must be set.
- **toggl_detailed_reports_export_pdf** — Export the toggl detailed report of a workspace as a PDF file. Returns the binary PDF file content rather than a JSON object. Required: workspace_id.
- **toggl_detailed_reports_export_file** — Export the toggl detailed report of a workspace in csv or xlsx format. Returns the binary report file content rather than a JSON object. Required: workspace_id, extension.
- **toggl_detailed_reports_search_totals** — Get totals sums for the toggl detailed report of a workspace. Returns: billable_amount_in_cents, currency. Required: workspace_id.
- **toggl_summary_reports_list_project_users** — List per-user time tracked and billable totals across a Toggl workspace's projects for a date range. Returns: items. Required: workspace_id; at least one of start_date or end_date must be set.
- **toggl_summary_reports_get_project_summary** — Load a single project's summary in Toggl for a date range. Returns: billable_amount_in_cents, graph, labour_cost_in_cents, rates, resolution, seconds, tracked_days. Required: workspace_id and project_id; the date range must fall within 2006-01-01 to 2030-01-01.
- **toggl_summary_reports_search_time_entries** — Search time entries for a Toggl summary report according to the given filters. Returns grouped summary rows containing per-group totals and nested entries. Required: workspace_id; at least one filter must be set. Pagination is cursor-based via the X-Next-ID response header and handled automatically.
- **toggl_summary_reports_export_pdf** — Export a Toggl summary report as a PDF file for a date range. Returns the summary report in pdf format (binary file stream). Required: workspace_id; the date range must fall within 2006-01-01 to 2030-01-01.
- **toggl_summary_reports_export_file** — Export a Toggl summary report as a CSV or XLSX file for a date range. Returns a stream with the csv or xlsx file for the report being exported. Required: workspace_id and extension (csv or xlsx); the date range must fall within 2006-01-01 to 2030-01-01.
- **toggl_weekly_reports_search_time_entries** — Search time entries for a Toggl weekly report by workspace. Returns the weekly report time entries matching the given filters, such as date range, projects, clients, tags, tasks, and users. Required: workspace_id. At least one filter parameter must be set; billable and the duration-second filters are premium / Time Audit features.
- **toggl_weekly_reports_export_csv** — Export a Toggl weekly report as a CSV download by workspace. Returns the weekly report in csv format, using the same filters as the weekly report search plus calculate, grouping, and group_by_task options. Required: workspace_id. At least one filter parameter must be set.
- **toggl_weekly_reports_export_pdf** — Download a Toggl weekly report as a PDF file for a workspace. Filters (start/end dates, users, projects, tasks, tags, clients, billable), rounding, and PDF display options (grouping, date/duration format, logo) are set in the request body; at least one parameter must be set. Returns the weekly report as a binary PDF download. Required: workspace_id.
- **toggl_insights_load_project_data_trends** — Load the projects' data trends for a Toggl workspace. Returns filtered project trends in items, each with project_id, start, end, current_period_seconds, previous_period_seconds, previousStart, and user_ids. Required: workspace_id. At least one body parameter (e.g. start_date, end_date) must be set.
- **toggl_saved_reports_get_saved_report** — Load a previously saved Toggl report by its shared report token. Returns: detailed_results, dictionaries, features, fixed_daterange, hide_amounts, input_params, is_commenting_enabled, public, report_name, report_type, saved_params, summary_results, weekly_results, workspace_logo. Required: shared_id. Can be called without other parameters, in which case the saved or default report parameters are…
- **toggl_reports_filters_list_clients** — List the toggl workspace clients available as report filters. Returns the items array of client records, each containing id and name (only ID and name are returned). Required: workspace_id. A request may post at most 2000 IDs.
- **toggl_reports_filters_list_project_groups** — List the toggl workspace project groups available as report filters. Returns the items array with group_id, id, name, and project_id. Required: workspace_id; at least one of group_ids or project_ids must be set in the request body.
- **toggl_reports_filters_list_project_users** — List the toggl workspace user-project assignments available as report filters. Returns the items array of filtered user-project records. Required: workspace_id.
- **toggl_reports_filters_list_projects** — List filtered projects for a toggl workspace to populate report filters. Returns: items. Required: workspace_id.
- **toggl_reports_filters_list_project_statuses** — List filtered project statuses for a toggl workspace to populate report filters. Returns: items. Required: workspace_id.
- **toggl_reports_filters_list_task_statuses** — Filter task statuses in a Toggl workspace. Returns: items (the matching task status records). Required: workspace_id.
- **toggl_reports_filters_list_users** — List filtered users from a Toggl workspace. Returns: items (the matching users). Required: workspace_id.
- **toggl_reports_filters_search_clients** — Search clients in a Toggl workspace and return whole client objects. Returns: items (the matched clients). Required: workspace_id.
- **toggl_reports_filters_list_tasks** — List filtered tasks from a Toggl workspace. Returns: items (the matching tasks). Required: workspace_id.
- **toggl_reports_filters_search_projects** — Search projects in a Toggl workspace and return whole project objects. Returns: items (the matched projects). Required: workspace_id.
- **toggl_reports_filters_search_users** — Search users in a toggl workspace via the reports API, filtering by active status, specific user IDs, or a user-ID cursor. Returns an items array of matching users, each with id, name, and deleted_at. Required: workspace_id.
- **toggl_me_preferences_get_client** — Get the preferences for a specific client of the current user in toggl Track. Returns the preferences record including alpha_features, the full list of feature codes with each feature's alpha_feature_id, code, enabled flag, product_id, description, and deleted_at. Required: client (desktop or web).

## How it works

1. **Link your customer's Toggl account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Toggl.** The Proxy API is a 1-to-1 mapping of the Toggl API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Auto-generate client invoices from tracked hours** — Invoicing and accounting platforms can pull billable time entries filtered by client and date range to create draft invoices without manual data entry. This eliminates the copy-paste work agencies and freelancers do every billing cycle.
- **Embed timers inside project management and helpdesk tools** — PM tools, CRMs, and ticketing systems can let users start and stop Toggl timers directly from a task or ticket view. This keeps time tracking in the user's primary workflow instead of forcing a context switch.
- **Sync projects, clients, and tasks for pre-populated timers** — Project management and CRM products can push their native entities into Toggl as projects, clients, and tasks so end users see familiar dropdowns when logging time. This keeps categorization accurate across both systems.
- **Pull approved timesheets for payroll and contractor payouts** — Payroll, HR, and EOR platforms can fetch approved timesheets to calculate contractor payouts based on verified hours. Only approved periods are used, avoiding disputes over raw unreviewed data.
- **Power capacity and utilization dashboards in real time** — Resource planning and BI tools can subscribe to time entry events and ingest summary totals to show live utilization against project estimates. Managers see overruns the moment they happen instead of at week-end.

## What you can build

- **In-app start/stop timer button** — Let users trigger Toggl time entries from your UI with a description linked to the active record, and stop the running timer when the task is marked complete.
- **Two-way project and task sync** — Mirror your product's projects and tasks into Toggl workspaces and keep client, project, and task lists in parity so users never pick from stale dropdowns.
- **Billable hours to invoice generator** — Query detailed reports filtered by client, billable flag, and date range, then roll the totals and line items into draft invoices inside your product.
- **Approved timesheet payroll pipeline** — Fetch approved workspace timesheets each pay period, apply synced hourly rates, and feed verified hours straight into your payroll or payout engine.
- **Real-time utilization dashboard** — Subscribe to Toggl time entry events via webhooks and surface live tracked-vs-estimated hours per project, with alerts when a budget threshold is crossed.
- **Reporting and analytics embeds** — Pull pre-aggregated summary and weekly report data to render profitability, labor cost, and billable-hour charts inside your own analytics views.

## FAQs

### How do end users authenticate their Toggl account?

Truto handles the connection flow for Toggl so your users authorize access without you managing credentials, token storage, or refresh logic. Your backend just references the connection to call any Toggl endpoint.

### Can we start and stop timers programmatically from our app?

Yes. You can create a new workspace time entry to start a timer with a custom description, project, and tags, and call the stop endpoint when the user's task ends. You can also fetch a running entry to display live state in your UI.

### Does Toggl support webhooks so we don't have to poll?

Yes. You can create webhook subscriptions and configure event filters on resources like time entries, so your product is notified when timers start, stop, or change. This removes the need for aggressive polling to keep dashboards fresh.

### Can we pull only billable hours for invoicing workflows?

Yes. The detailed and summary report endpoints accept filters including billable status, client, project, user, and date range, and return pre-calculated totals like billable amount in cents and total seconds so you don't need to aggregate raw entries yourself.

### Can we access approved timesheets separately from raw time entries?

Yes. Workspace timesheet endpoints expose timesheet status and history, which is how payroll and HR platforms isolate approved periods for payout calculations instead of relying on unreviewed time entries.

### What organizational data can we sync besides time entries?

You can read and write clients, projects, tasks, tags, workspace users, project users, and project groups, which covers most needs for keeping Toggl in parity with CRMs, PM tools, and HR systems.

### Can we export reports as files for users to download?

Yes. Detailed, summary, and weekly reports support PDF and file exports, so you can offer users branded report downloads directly from your product without rebuilding the layout.
