Recurring Time

Recurring time logs hours on a project automatically on a cadence, for retainers and standing work. Each occurrence becomes an ordinary time entry (see Hours).

Get Recurring Time

GET /api/v2/recurring-time
GET /api/v2/recurring-time?user_id=3

Entries logged for one staff user.

GET /api/v2/recurring-time?status=paused

Active entries by default. status may be active, paused, stopped, or archived. Optional updated_since (ISO 8601).

{
  "total_count": 2,
  "page_count": 1,
  "page_size": 20,
  "recurring_project_items": [
    {
      "id": 1,
      "title": "Weekly check-in",
      "status": 0,
      "project_id": 7,
      "user_id": 3,
      "hours": 2.0,
      "time_interval": 1,
      "next_date": "2026-09-15",
      "occurrences_remaining": null,
      "unlimited": true,
      "billable": true
    },
    ...
  ]
}

Get A Recurring Time Entry

GET /api/v2/recurring-time/:id

Create Recurring Time

POST /api/v2/recurring-time
{
  "recurring_project_item": {
    "project_id": 7,
    "title": "Weekly check-in",
    "hours": 2,
    "time_interval": 1,
    "next_date": "2026-09-15",
    "unlimited": true,
    "billable": true
  }
}

Required Fields: title, hours, time_interval, next_date, and a project_id or client_id (HTTP 422 on failure)

Recurring Time Status Values:
0: Active
1: Paused
2: Stopped
3: Archived

Recurring Time Interval Values:
0: Every day
1: Every week
2: Every two weeks
5: Every month
6: Every workday, Monday to Friday

Set occurrences_remaining and "unlimited": false to stop after a number of entries. user_id defaults to the authenticated user.

Update Recurring Time

PUT /api/v2/recurring-time/:id

You may provide a partial list of fields to update.

Pause, Resume, Archive

POST /api/v2/recurring-time/:id/pause
POST /api/v2/recurring-time/:id/resume
POST /api/v2/recurring-time/:id/archive

Paused entries log nothing until resumed. Archiving stops an entry for good and hides it from lists; the time already logged stays.

Delete Recurring Time

DELETE /api/v2/recurring-time/:id

Deletions are permanent and not reversible.