Tasks in Mojave are optional labels used to categorize time entries within a project. They help break down work into meaningful segments like DesignDevelopment, or Meetings, improving reporting and clarity.

Tasks are project-specific and can be reused across multiple entries.

Tasks Object

{
  "id": "tsk_abc123",
  "project_id": "prj_482hdka1",
  "name": "Design",
  "billable": true,
  "rate": 120,
  "created_at": "2025-01-12T11:00:00Z"
}

Fields

Field

Type

Description

id

string

Unique identifier for the task

project_id

string

The project this task belongs to

name

string

Task label (e.g. "Research", "Frontend", "QA Testing")

billable

boolean

Whether time logged under this task is billable

rate

number

Optional override rate (used instead of project rate)

created_at

string

ISO 8601 timestamp of task creation

Task Behavior

  • Tasks belong to a single project

  • Tasks can have their own hourly rate (overrides project rate)

  • Tasks appear as options when logging time under that project

  • Tasks are visible in reports and invoices if time is tagged

Create a Task

curl -X POST https://api.mojaveapp.com/v1/projects/prj_482hdka1/tasks \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Wireframing",
    "billable": true,
    "rate": 110
  }'

Task in Time Entry

When logging time, reference the task_id:

POST /time-entries
{
  "project_id": "prj_482hdka1",
  "task_id": "tsk_abc123",
  "start_time": "2025-04-10T09:00:00Z",
  "end_time": "2025-04-10T11:00:00Z",
  "notes": "Low-fidelity homepage sketch"
}

🧠 If a task has a rate, it will override the project’s rate for billing purposes.

Relationships

Tasks connect to:

  • Projects via project_id

  • Time Entries via task_id

They help refine both invoicing and reporting by categorizing hours worked.

Was this helpful?

Was this helpful?

Was this helpful?

Previous

Projects

Previous

Projects

Previous

Projects

Table of content

Table of content

Table of content

Tasks

Tasks