Project in Mojave represents a unit of work tied to a client. Projects group time entries, help organize billing, and define the context for tasks and team activity.

Projects can have an hourly rate, assigned users, and associated time entries. They are central to tracking work and generating invoices.

Project Object Overview

jsonCopyEdit{
  "id": "prj_482hdka1",
  "client_id": "cli_9382hks1",
  "name": "Mobile App Redesign",
  "rate": 100,
  "currency": "USD",
  "billable": true,
  "archived": false,
  "members": ["usr_a1b2c3d4", "usr_e5f6g7h8"],
  "created_at": "2025-01-10T14:32:00Z"

Fields

Field

Type

Description

id

string

Unique identifier for the project (prj_...)

client_id

string

The client this project is billed to

name

string

Name of the project

rate

number

Hourly rate (in cents or major currency unit, e.g. 100 USD)

currency

string

Currency code (USDEUR, etc.)

billable

boolean

Whether time entries under this project are billable

archived

boolean

Marks a project as archived (no longer active)

members

array

List of user IDs assigned to the project

created_at

string

ISO 8601 timestamp of when the project was created

Project Lifecycle

  • Create a project via API or dashboard

  • Assign users to the project

  • Track time under this project

  • Generate invoices from unbilled time entries

  • Archive the project when it's complete

Create a Project

bashCopyEditcurl -X POST https://api.mojaveapp.com/v1/projects \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Brand Identity Overhaul",
    "client_id": "cli_2dfj349a",
    "rate": 85,
    "currency": "USD",
    "billable": true,
    "members": ["usr_f9n3hda8"]
  }'

Assigning Members

You can update members using a PATCH request:

PATCH /projects/prj_482hdka1
{
  "members": ["usr_f9n3hda8", "usr_3zj4ksn2"]
}

Only assigned users can log time under the project.

Relationships

Projects are linked to:

  • Clients via client_id

  • Time Entries via project_id

  • Invoices when billing tracked time

  • Users through the members field

Archiving Projects

To archive a project and prevent future time tracking:

PATCH /projects/prj_482hdka1
{
  "archived": true
}

Archived projects remain accessible for reporting and invoicing.

Was this helpful?

Was this helpful?

Was this helpful?

Previous

Users

Previous

Users

Previous

Users

Next

Tasks

Next

Tasks

Next

Tasks

Table of content

Table of content

Table of content

Projects

Projects