TimeQuorum Documentation
Everything you need to track time, manage projects, invoice clients, and integrate with your tools.
What is TimeQuorum?
TimeQuorum is a multi-tenant time tracking and project management platform. Each workspace is isolated — your data never mixes with another company's. Use it to log hours, manage projects and clients, generate invoices, and report on team productivity.
Time Tracking
Live timer or manual entry with project/task context
Projects & Classes
Flexible billing classes, milestones, and task assignments
Clients
Client profiles, billing addresses, project links
Invoicing
Generate invoices from time entries & classes
Time Cards
Weekly submission, locking, and manager approval dashboard
Project Templates
Reusable class and task structures applied with one click
Reports
20+ reports: timecard, budget health, billing, utilization and more
REST API
Full API access for integrations and automation
TimeQuorum is available as a cloud-hosted SaaS or as a self-hosted on-premises installation for Enterprise customers.
Plans & Pricing
Features throughout this documentation are tagged with the minimum plan required.
- Up to 5 users
- 3 projects, 3 clients
- Time tracking
- Dashboard
- Unlimited users
- Unlimited projects & clients
- Reports & Audit log
- Calendar view
- Everything in Starter
- Invoicing
- Full API access
- Priority support
- Everything in Professional
- On-premises deployment
- SSO / SAML
- Dedicated support & SLA
| Feature | Free | Starter | Pro | Enterprise |
|---|---|---|---|---|
| Time Tracking | ||||
| Projects & Tasks | 3 projects | |||
| Clients | 3 clients | |||
| Reports | ||||
| Audit Log | ||||
| Calendar View | ||||
| Invoicing | ||||
| REST API | Read-only | |||
| Time Cards | ||||
| Project Templates | ||||
| Gantt Chart | ||||
| SSO / SAML | ||||
| On-premises |
Quick Start
Get your team tracking time in minutes.
- Create a workspace — sign up at timequorum.com and choose a subdomain for your team.
- Invite your team — go to Users and send invitation emails. Each person can set their own password on first login.
- Add clients — in Clients, add the companies or individuals you work with.
- (Optional) Create project templates — in Projects → Templates, build reusable class/task structures for your standard delivery types.
- Create a project — in Projects, link a project to a client, apply a template if you have one, and configure billing classes.
- Start tracking — use the Time Tracking page to start a live timer or add manual entries.
- Submit your time card — at the end of each week, open the Time Cards tab and click Submit to lock your entries.
Time Tracking Free
The Time Tracking page is the primary place for logging hours. You can use a live timer or create manual entries.
Live Timer
Click Start Timer, choose a project and optional task, and the timer begins. A floating widget at the bottom-right of every page shows the running timer — you can navigate anywhere without losing it. Click the widget to stop and save the entry.
Pause & Resume
The Pause button on the floating widget pauses the timer without discarding the session. Resume when you're ready. Paused time is excluded from the final entry duration.
Manual Entry
Click Add Manual Entry to log hours for a past period. Set the date, start and end time, project, task, and optional notes.
Effort vs Hours
Effort is an optional planning field available on all classes and tasks — regardless of billing type. It represents a relative weight or story-point estimate for a piece of work, completely independent of hours logged. Think of it as "how hard is this?" rather than "how long will it take?"
Common uses: story points for Agile teams, complexity weights for mixed-skill projects, or simple priority scores (1 = low, 5 = high). Effort never affects billing calculations — it's a planning dimension layered on top of time or milestone data.
Filtering Time Entries
The Time Tracking page includes filters for Class and Task — use them to narrow the entry list to a specific billing scope or work item without leaving the page. A Go to Time Entries button on each project class and task opens the pre-filtered Time Tracking view directly from the project detail view, so you can jump straight to the relevant entries.
Entry Columns
| Column | Description |
|---|---|
| Date | The date the work was performed |
| Project | The project this time belongs to |
| Class | The billing class within the project |
| Task | Optional task within the class |
| Hours | Total hours logged |
| Billable Hours | Hours marked as billable (may differ from total) |
| Notes | Description or memo for the entry |
Time Cards Starter+
Time Cards give teams a formal weekly submission cycle. At the end of each week, users submit their time card to lock their entries for that period. Managers get a team-wide dashboard showing who has submitted and who still needs to.
How It Works
- Log time entries throughout the week as normal.
- On the Time Cards tab (inside Time Tracking), review your week summary — hours logged per day.
- Click Submit Time Card to lock your entries. A confirmation shows how many entries were locked.
- If you need to make corrections after submitting, click Retract — your entries unlock and you can edit freely before re-submitting.
Time Card Statuses
| Status | Meaning |
|---|---|
| No Entries | No time was logged for this week |
| Pending | Time entries exist but have not been submitted |
| Submitted | Card submitted — entries are locked for this week |
Manager View
Admins and Managers see a Team Overview panel listing every active user with their current week and prior week submission status. Users with Pending or No Entries status are easy to spot at a glance.
Managers can also view any individual user's card history (last 26 weeks) and retract submitted cards on behalf of users when corrections are needed.
Work Week Start Day
The first day of each week (Sunday or Monday) is configured in System Settings → Time Tracking → Work Week Start. All time card week boundaries follow this setting.
Projects, Classes, Tasks & Time Entries Free — 3 projects Unlimited on Starter+
TimeQuorum organizes work in a four-level hierarchy. Understanding this hierarchy is essential for getting the most out of the platform.
The Full Hierarchy
Clients
Every project belongs to a Client. Clients represent the companies or people you do work for. Invoices are generated per client. See the Clients section for full details.
Projects
A Project is the top-level container for a body of work. It links to a client and carries top-level information:
- Project Code — a short identifier (e.g.,
WEB-001) - Billing Profile — which client billing profile to use on invoices
- Start & End Dates — the planned timeline (visible as optional columns on the project list)
- Status — Not Started, In Progress, On Hold, Complete, or Cancelled
- Billable Rate — a fallback hourly rate inherited by classes that don't set their own
- Resource Limits — optional caps on total credits, hours, or budget across all classes
Go to Projects → New Project. After saving, you land directly inside the project to configure everything. Completed or cancelled projects no longer appear in the time-tracking dropdowns.
Classes — The Billing Engine
Every project contains one or more Classes. A class is a billing scope — it defines how the work inside it is charged, how much of the budget it consumes, and when it is considered complete. Each class has a billing type:
| Billing Type | What it tracks | Completion |
|---|---|---|
| Time | Hours logged at an hourly rate. Set a time budget (e.g. 40:00) and track used (logged entries), reserved (task reservations), and free (uncommitted). | Based on % of total time consumed by entries |
| Credit | A pool of whole-number credits. Each time entry can deduct credits from the pool. | Based on % of credits consumed |
| Budget | A dollar budget. Time entries deduct hours × rate from the budget. | Based on % of budget consumed |
| Milestone | A fixed deliverable with no time budget. Tracks task completion percentage. | Based on % of tasks completed |
- Used — what has actually been logged via time entries. This is your billing/invoicing view.
- Reserved — budget committed by active task reservations (completed task reservations stay committed; cancelled task reservations are released).
- Free — uncommitted budget still available for new work:
Total − Used − headroom, where headroom is the unspent portion of each task reservation. Entries logged within a task reservation do not double-count against Free.
Over-allocation: If task reservations exceed the class total, Free goes negative and the column turns red — a visible warning that more work is committed than budgeted. This is a warning only, not a block; intentional over-commitment remains possible.
Each class also carries:
- Start & End Date — the planned timeline for this scope of work (optional columns on the class list)
- Effort (pts) — an optional integer representing relative weight or story points for planning (also an optional column on the class list)
- Billable Rate — overrides the project rate for this class
- Contract Value — the agreed revenue for this class scope, used in margin reports
- Require Task for Time — forces users to select a task before logging time to this class
- Status — Not Started, In Progress, On Hold, Completed, Cancelled. Completing a class cascades completion to its tasks.
Tasks — Optional Extra Control
Tasks are entirely optional. You do not need to create tasks to log time — you can log time directly against a project and class. Tasks are useful when you need a finer level of work breakdown within a class:
- Assign specific work items to individual team members
- Track status independently per item (not just per class)
- Set task-level due dates and effort estimates
- Force users to specify which task they worked on (using Require task for time on the class)
Each task belongs to a class and carries:
- Name and optional description
- Assignee — the user responsible for this work
- Status — Not Started, In Progress, On Hold, Completed, Cancelled
- Effort (pts) — relative effort estimate (story points or weight)
- Start & End Date — planned timeline
- Reservation — optional budget commitment for this task. Reserves a slice of the parent class's free pool (hours for Time classes, credits for Credit classes, dollars for Budget classes). Completing a task keeps its full reservation committed against the class; cancelling or deleting a task releases the unspent portion back to the free pool.
Time Entries — Where Logging Happens
A Time Entry records actual work. Each entry captures:
- Date — the day the work was performed
- Project + Class — required; determines which budget is consumed
- Task — optional (or required if the class has "Require task for time" enabled)
- Hours — total hours logged
- Billable Hours — subset of hours that are billable (defaults to total hours if the class is billable)
- Description / Notes — free text memo for the entry
- Status update — optionally update the class or task status at the time of logging
Time entries can be created via the live timer or added manually. Completed or cancelled projects, classes, and tasks are excluded from the time-tracking dropdowns automatically.
amount = hours × rate using the class rate, project rate, or your personal rate (in that priority order). If no rate is configured on any of those, the entry will be rejected — set a rate on the class, project, or your user profile, or supply the amount directly when logging.
Working with the Project Detail View
Click any project to open its detail view. The view has three tabs:
- Classes tab — the primary tab. Shows all classes with Used (logged entries), Reserved (committed by task reservations), and Free (uncommitted, available for new work) budget columns, plus progress and status. Expand any class to see its tasks inline. Optional columns (Effort, Start Date, End Date) can be toggled via the columns button.
- Time Entries tab — all time entries for this project, with the same columns and edit/delete actions as the main Time Tracking page.
- Gantt tab — a visual timeline of classes (with their start and end dates) and tasks, useful for project scheduling at a glance.
Project Status Lifecycle
| Status | Meaning | Effect on time tracking |
|---|---|---|
| Not Started | Project has not yet begun | Available in dropdowns |
| In Progress | Active — work is ongoing | Available in dropdowns |
| On Hold | Temporarily paused | Available in dropdowns |
| Complete | Finished and closed | Hidden from time tracking dropdowns |
| Cancelled | Abandoned | Hidden from time tracking dropdowns |
Task Status Lifecycle
| Status | Meaning | Time logging | Reservation effect |
|---|---|---|---|
| Not Started | Work has not begun | Allowed | Reservation held in Free pool |
| In Progress | Actively being worked on | Allowed | Reservation held in Free pool |
| On Hold | Temporarily paused | Allowed | Reservation held in Free pool |
| Completed | Work is done | Blocked — cannot log new entries | Full reservation stays committed (reflects actual scope) |
| Cancelled | Work was abandoned | Blocked — cannot log new entries | Unspent reservation released back to class Free pool |
Project Templates Starter+
Project Templates let you define a reusable structure — a set of classes and tasks with pre-configured billing types, budget caps, reservations, and effort estimates — that can be applied to any new or existing project in a single click.
Creating a Template
- Go to Projects and open the Templates tab.
- Click New Template and give it a name (e.g., "Software Sprint", "Client Onboarding").
- Add classes to the template — set billing type, budget cap, and descriptions.
- Add tasks to each class with effort estimates and descriptions.
- Save the template. It's now available for any project in the workspace.
Applying a Template to a New Project
When creating a new project, a Apply Template step lets you choose one or more templates. All classes and tasks from the selected templates are created inside the project immediately.
Applying a Template to an Existing Project
Open any project, click Apply Template, and select one or more templates from the picker. The classes and tasks are added alongside whatever already exists in the project — existing work is not modified.
Multi-Template Apply
You can select multiple templates at once. All classes and tasks from every selected template are applied in sequence. If a class name already exists in the project, the template class is still added — names are not deduplicated, so review after applying if you want to consolidate.
Template Independence
Applied classes and tasks are entirely independent of the template after creation. Editing or deleting a template does not affect any projects it was previously applied to.
Clients Free — 3 clients Unlimited on Starter+
Clients represent the companies or individuals you work for. All projects link to a client, and invoices are generated per client.
Client Profile
Each client has a name, contact information, billing address, default currency, and default billing rate. Client codes are auto-assigned and never reused after deletion.
Billing Profiles
Each client can have one or more Billing Profiles — stored sets of billing name, address, tax ID, payment terms, and bank details used when generating invoices. You can add new billing profiles inline directly from the project form or invoice form without navigating away.
Client Detail View
Click a client to view its projects, contacts, and billing history all in one place. From here you can create new projects directly linked to the client.
Dashboard Free
The Dashboard gives an at-a-glance view of team activity, recent time entries, and project status. Charts show hours by project over the selected date range.
Widgets
- Hours This Week — total hours logged by the current user
- Recent Entries — latest time entries across all projects
- Project Activity — bar chart of hours per project
- Active Projects — quick-access to in-progress projects
Calendar Starter+
The Calendar view displays your time entries and task due dates on a monthly or weekly grid. Each entry appears as a color-coded block by project. Click any entry to edit it directly from the calendar.
What You See
The calendar shows time entries and tasks that are assigned to you — scoped automatically to your projects, classes, and tasks. Admins and managers can use the User and Group filters to view any team member's calendar.
Filters
- Project filter — narrow the view to a single project's entries and tasks
- Class filter — further narrow to a specific class within the selected project
- User filter — (managers/admins) switch between team members
- Group filter — (managers/admins) show the calendar for an entire group
iCal Feed
Subscribe to your task due dates in any external calendar app (Google Calendar, Apple Calendar, Outlook) via the iCal feed link available in the Calendar page. The feed updates automatically — new tasks with due dates appear in your calendar without any manual export.
Users & Roles Free
Invite your team via email. Each user is assigned one of five roles that determine what they can see and do.
| Role | Description |
|---|---|
| Admin | Full access to all settings, users, billing, and data |
| Manager | Create/edit projects, clients, groups, view all entries and reports |
| Accounting | View projects, clients, invoices, and reports — no write access |
| Member | Log time on assigned projects, edit own entries |
| Observer | Read-only access to projects and time data |
Inviting Users
Go to Users → Invite User. Enter the email address and role. The invited user receives an email with a link valid for 7 days. If the link expires, click Resend Invitation — this generates a new link and invalidates the previous one.
User Limits
Free plans support up to 5 users. Starter and above support unlimited users (billing is per-seat on paid plans).
Project-Level Permissions Starter+
TimeQuorum uses a two-tier permission model. The first tier is the workspace role (Admin, Manager, Member, etc.) — it governs what a user can see and do across the entire workspace. The second tier is project-level access — it limits which specific projects a Member or Observer can interact with.
Assigning Access to a Project
Open a project and go to the Access tab. From there you can add individual users or entire groups:
- Individual users — add a specific team member with their workspace role automatically applied
- Groups — add a whole group in one action; all current and future members of that group gain access to the project
If a project has no access entries, it is visible to all workspace users according to their role. Once you add even one user or group, the project becomes restricted — only listed users/groups (plus Admins and Managers) can see it.
Class-Level Permissions
Within a project, you can further restrict a specific class to a subset of the project's users — useful when a project has both internal and client-facing billing classes, and you want to keep budget or cost-rate classes private.
Class-level access is managed from the class's Assignments panel inside the project detail view. A user with class-level assignment sees that class and all its tasks, as well as the parent project.
Task-Level Permissions
You can assign individual users or groups to specific tasks within a class. A task-level assignment grants the user visibility of that task, its parent class, and the parent project — nothing else. This is the most granular assignment level, useful for large projects where different developers work on separate tasks within the same class.
Assignment Hierarchy
| Assignment level | What the member can see |
|---|---|
| Project-level | All classes and all tasks in the project |
| Class-level | That class, all its tasks, and the parent project |
| Task-level | That task, its parent class, and the parent project |
How Permissions Show on a User Profile
On the Users page, click any user to open their profile. The Project Access tab lists every project the user has been explicitly granted access to — both direct assignments and group-based memberships. This gives admins a single view of exactly what each person can see, without having to visit each project individually.
| What you want | How to configure it |
|---|---|
| All members see all projects | Don't add any access entries — projects are open by default |
| Restrict a project to specific people | Add those users/groups to the project Access tab |
| Keep a class hidden from most of the team | Set class-level access to the subset who should see it |
| See what a user can access | Open Users → click user → Project Access tab |
Groups Free
Groups let you organize users into teams for easier project assignment and reporting. A user can belong to multiple groups. Groups can be assigned to projects to control visibility.
Reports Starter+
Reports give detailed visibility into how time is being spent across projects, clients, and team members. All reports support date range filtering, and most support additional filters by user, project, client, or group. Click any row in a report to jump directly to that project, task, or user.
Personal Reports
| Report | Description |
|---|---|
| My Time | Your own detailed time entries for any date range — a personal timesheet view |
| My Timecard | Your weekly hours summary by day and project — useful for self-review before submitting your time card |
| My Weekly Summary | Hours logged by week over a rolling period — see trends in your own productivity |
| My Assignments | All tasks currently assigned to you, with status, due dates, and parent project |
Team & Time Reports
| Report | Description |
|---|---|
| Team Timecard | Each user's weekly hours breakdown by project and class — the manager's payroll and billing review view. Filter by user, group, project, or class. |
| Time by User | Total hours per user for a date range — identify workload distribution across the team |
| Time by Project | Total hours broken down by project — includes chart view for visual comparison |
| Time by Client | Total hours grouped by client — useful for client-level capacity and billing reviews |
| Time Entries | Raw, filterable list of all time entries across the workspace — export to CSV for custom analysis |
| Team Velocity | Weekly hours trend per user or team — chart shows velocity changes over time |
Budget & Billing Reports
| Report | Description |
|---|---|
| Budget Summary | Hours and spend vs. budget per project and class — see Free, Reserved, and Used at a glance |
| Project Budget Health | Traffic-light view of which projects are on budget, approaching the limit, or overrun |
| Class Budget Health | Same as Project Budget Health but at the class level — drill into which specific classes are overrunning |
| Overbudget Projects | Projects that have exceeded their hour or spend budget — includes overage % and amount |
| Overbudget Classes | Classes where used time, credits, or budget exceeds the class total |
| Overbudget Tasks | Tasks where logged hours exceed the task reservation |
| Billable vs. Non-billable | Split of billable and non-billable hours by user or project — helps optimise billing ratios |
| Billable Hours | Billable hours by project and class with effective rates — ready for invoice preparation |
| Credit Consumption | Credit usage by client and project for credit-type billing classes |
| Invoice Aging | Outstanding invoices with days overdue — identify late payments at a glance |
| Client Billing Summary | Revenue pipeline grouped by client — total billed, outstanding, and paid amounts |
| Revenue Pipeline | Projected revenue from active projects based on remaining budget and billing rates |
| Project Burn Rate | Weekly spending rate per project vs. the pace needed to complete on budget |
Task & Project Status Reports
| Report | Description |
|---|---|
| Overdue Tasks | All tasks past their due date that are not yet complete — grouped by project and assignee |
| Milestone Tracker | Completion percentage of Milestone-type classes across all projects |
| Task Velocity | Tasks completed per week — track sprint throughput over time |
| Status Breakdown | Count of projects, classes, and tasks in each status (Not Started, In Progress, On Hold, Complete, Cancelled) |
Utilisation & Operations
| Report | Description |
|---|---|
| User Capacity Utilization | Each user's logged hours vs. their available capacity — identify over- and under-utilised team members |
| Group Utilization | Same as User Capacity Utilization but aggregated per group — see team-level load |
| Audit Activity Log | Workspace-level activity feed — who created, edited, or deleted records and when |
Audit Log Starter+
The Audit Log records who did what and when across the workspace. Every create, edit, delete, login, and settings change is logged with a timestamp, user, and before/after diff.
Useful for compliance, debugging data changes, and tracking team actions. The log is read-only and cannot be modified by workspace users.
Invoices Professional+
Generate professional invoices from your time entries and billing classes. Send them directly to clients or export as PDF.
Creating an Invoice
- Go to Invoices → New Invoice
- Select the client and billing profile (or add a new billing profile inline)
- Click Add from Time Entries to pull in logged hours for a date range
- Or click Add from Classes to add milestone/credit items directly
- Review line items, apply tax rate if needed, and save
Billing Profiles
Billing profiles store the client's billing name, address, and payment terms. You can add a new profile directly from the invoice form without navigating away.
Invoice Status
| Status | Meaning |
|---|---|
| Draft | Not yet sent; can be edited freely |
| Sent | Delivered to client; locked for edits |
| Paid | Payment received and marked complete |
| Overdue | Past due date with no payment recorded |
System Settings Admin only
System Settings are accessible to workspace Admins via the sidebar. They control how the entire workspace behaves — defaults set here cascade through the platform. Changes take effect immediately for all users.
General / Workspace Settings
| Setting | What it does |
|---|---|
| Workspace Name | Displayed in the header and on invoices. Used as the sender name when sending invoice emails. |
| Timezone | The workspace's default timezone. Time entry dates are interpreted in this timezone. Important for teams that span multiple time zones. |
| Date Format | Controls how dates are displayed across tables, reports, and date pickers (e.g., YYYY-MM-DD, MM/DD/YYYY, DD/MM/YYYY). Apply consistently so exported reports match your team's expectations. |
| Currency | The currency symbol used on billing summaries, invoices, and budget displays. Does not perform currency conversion. |
| Default Billable Rate | Workspace-wide fallback hourly rate. Used when a project and class have no rate set. Individual users can also have their own rate for use in cost and margin calculations. |
Time Tracking Settings
These settings govern how time entries work for everyone in the workspace:
| Setting | Effect |
|---|---|
| Require Entry Description | When enabled, the Notes/Description field becomes mandatory on every time entry — both for the live timer and manual entries. Users cannot save an entry without filling it in. |
| Use Effort Tracking | When enabled, the Effort field appears on task and class forms. Effort is a dimensionless number (story points, weight, etc.) for planning purposes — separate from hours. |
| Work Week Start | Sets the first day of the work week for reports and the weekly timecard view. |
| Default Work Hours Per Day | Used as a reference in reports and alerts when checking whether users have logged enough hours. |
Invoice Settings
| Setting | Effect |
|---|---|
| Invoice Number Prefix | Prepended to all invoice numbers (e.g., INV- → INV-0042) |
| Default Payment Terms | Pre-filled on new invoices. Can be overridden per invoice. |
| Invoice Email Template | The email body sent to clients when an invoice is emailed. Supports placeholders like {{client_name}} and {{invoice_number}}. |
| Invoice Profile (Bill From) | Your company's name, address, tax ID, and bank details shown on invoices as the sender. |
Invite Email Template
Customise the email body sent to newly invited users. The default explains how to set a password and get started. Supports {{invite_link}}, {{workspace_name}}, and {{invited_by}} placeholders.
Plan & Usage
View your current plan, billing period, seat count, and payment methods. Upgrade or downgrade your plan, add a credit card, and view billing history. If your subscription has lapsed, a Pay Now button reactivates immediately.
Danger Zone
Permanently delete the workspace. This drops all data and cannot be undone. You will be asked to confirm by typing the workspace name.
API Integration Read-only on Starter Full access on Professional+
TimeQuorum exposes a RESTful JSON API that lets you integrate with third-party tools, automate workflows, and build custom reporting dashboards.
Authentication
All API requests require a Bearer token in the Authorization header:
Authorization: Bearer <your-jwt-token>
Obtain a token by authenticating through the portal SSO flow or by using an API key (available in System Settings → API Keys on Professional+ plans).
Base URL
All endpoints are relative to your workspace URL:
https://{workspace}.timequorum.com/api
Key Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST | /api/oauth | Authenticate and get a Bearer token |
GET | /api/users/me | Current user profile and permissions |
GET | /api/entries | List time entries (filter by date, project, user, class) |
POST | /api/entries | Create a new time entry |
GET | /api/projects | List all projects |
GET | /api/clients | List all clients |
GET | /api/users | List workspace users |
GET | /api/time-cards | List the authenticated user's time cards (last 12 weeks) |
GET | /api/time-cards/current | Current week time card with daily hours breakdown |
POST | /api/time-cards/{week_start} | Submit a time card for a week (locks entries) |
DELETE | /api/time-cards/id/{id} | Retract a submitted time card (unlocks entries) |
GET | /api/time-cards/users | Manager: all users' current and prior week time card status |
GET | /api/project-templates | List all project templates |
POST | /api/project-templates | Create a new project template |
GET | /api/reports/my-timecard | Authenticated user's timecard report data |
GET | /api/reports/team-timecard | Team timecard report — hours by user, week, project, class |
GET | /api/invoices | List invoices |
The full API reference with request/response schemas, parameters, and example payloads is available at /api-docs.html — powered by the interactive OpenAPI explorer.
Example: Fetch This Week's Entries
curl -X GET \
"https://acme.timequorum.com/api/entries?start_date=2026-05-04&end_date=2026-05-08" \
-H "Authorization: Bearer eyJhbGci..."
Example Response
{
"entries": [
{
"id": 42,
"date": "2026-05-07",
"project_id": 5,
"project_name": "Website Redesign",
"task_name": "Frontend development",
"hours": "3.50",
"billable_hours": "3.50",
"notes": "Implemented dashboard charts",
"user_name": "Alex Johnson"
}
],
"total": 1
}
Pagination
List endpoints support ?page=1&limit=50 query parameters. The response includes total, page, and limit fields for cursor navigation.
Common Integrations
Slack
Post daily time summaries or missing timesheet alerts via webhooks
Spreadsheets
Pull entry data into Google Sheets or Excel for custom reports
Zapier / Make
Trigger workflows when entries are created or projects reach milestones
BI Tools
Feed Tableau, Power BI, or Metabase with live project & billing data
Webhooks Professional+
Webhooks let TimeQuorum push real-time events to your systems rather than polling the API. Configure webhook endpoints in System Settings → Integrations.
Available Events
| Event | Fired when… |
|---|---|
entry.created | A new time entry is saved |
entry.updated | A time entry is edited |
entry.deleted | A time entry is removed |
project.created | A new project is created |
invoice.status_changed | Invoice moves to Sent, Paid, or Overdue |
user.invited | A new user invitation is sent |
Payload Format
{
"event": "entry.created",
"workspace": "acme",
"timestamp": "2026-05-08T14:32:00Z",
"data": {
"id": 42,
"user_id": 7,
"project_id": 5,
"hours": "2.00",
"date": "2026-05-08"
}
}
Webhook deliveries include a X-TimeQuorum-Signature header you can use to verify authenticity. Retries are attempted 3 times with exponential backoff on failure.