Skip to main content
GET
/
projects
/
{id}
Get a project
curl --request GET \
  --url https://www.ruddr.io/api/workspace/projects/{id} \
  --header 'Authorization: Bearer <token>'
{
  "id": "572e66b1-60a6-4935-853f-b59b053112e6",
  "key": "website-redesign",
  "name": "Website Redesign",
  "notes": "Full redesign of the public-facing marketing website.",
  "statusId": "completed",
  "start": "2025-03-01",
  "end": "2025-09-30",
  "code": "WR-001",
  "poNumber": "PO-2025-001",
  "billingTypeId": "fixed",
  "isBillable": true,
  "currency": "USD",
  "revenueRecognitionMethod": "invoiced",
  "fixedFee": null,
  "fixedRecurringFee": null,
  "fixedRecurringStart": null,
  "fixedRecurringEnd": null,
  "useRoles": true,
  "useBudget": true,
  "budgetMode": "detailed",
  "useMonthlyBudget": true,
  "monthlyBudgetMode": "summary",
  "capMaxMemberHoursPerDay": true,
  "maxMemberHoursPerDay": 8,
  "capMaxMemberHoursPerWeek": true,
  "maxMemberHoursPerWeek": 40,
  "capMaxMemberHoursPerMonth": true,
  "maxMemberHoursPerMonth": 160,
  "requiresNotes": true,
  "requiresTasks": false,
  "recordStatusId": "active",
  "isProductive": true,
  "lockTimeAndExpenses": false,
  "trackTimeToAssignedRoles": true,
  "cloudFolderUrl": "https://drive.google.com/drive/folders/abc123",
  "createdAt": "2025-01-15T20:47:03.284Z",
  "completedOn": "2026-03-15",
  "client": {
    "id": "9b577a12-dd68-4df6-9f48-d8071684bfca",
    "name": "Acme Corp"
  },
  "practice": {
    "id": "9bb7965e-991f-451c-9ea6-94f9ff180258",
    "name": "Digital Strategy"
  },
  "projectType": {
    "id": "1be77fb4-6300-4db7-ad3f-c960083f5433",
    "name": "Web Development"
  },
  "projectGroup": {
    "id": "bacffeea-24de-441c-b770-9219516f4034",
    "name": "Q1 Initiatives"
  },
  "tags": [
    {
      "id": "9166a6d1-dbc6-43b5-abcf-450cbfcfd891",
      "name": "High Priority"
    }
  ],
  "salesRepresentative": {
    "id": "d1980029-6c43-4af9-88ac-7b9066944f34",
    "name": "Jane Smith"
  },
  "businessUnit": {
    "id": "de116c6c-665e-4ce0-bf49-d77103f55095",
    "name": "Engineering"
  },
  "budget": {
    "revenue": 150000,
    "servicesRevenue": 140000,
    "otherRevenue": 10000,
    "billableExpenses": 5000,
    "nonBillableExpenses": 2000,
    "billableHours": 1400,
    "nonBillableHours": 200
  },
  "monthlyBudget": {
    "revenue": 25000,
    "servicesRevenue": 23000,
    "otherRevenue": 2000,
    "billableExpenses": 800,
    "nonBillableExpenses": 300,
    "billableHours": 230,
    "nonBillableHours": 40
  }
}
A scope of work for a client. Contains the top-level information for a project in your workspace.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

The project uuid

Response

200

id
string

The unique identifier for the object.

key
string

The URL-friendly slug for the project.

name
string

The name of the project.

notes
string | null

Notes associated with the project.

statusId
enum<string>

The project status.

Available options:
tentative,
not_started,
in_progress,
paused,
completed,
cancelled
start
string<date> | null

The start date for the project. Will be in the form YYYY-MM-DD.

end
string<date> | null

The end date for the project. Will be in the form YYYY-MM-DD. null if no end date is set.

code
string | null

The project code.

poNumber
string | null

The purchase order number.

billingTypeId
enum<string>

The billing type for the project.

Available options:
tm,
fixed,
fixed_recurring,
non_billable
isBillable
boolean

Whether this project is billable. Derived from billingTypeIdfalse only when billingTypeId is "non_billable".

currency
string

The 3-letter currency code associated with the project.

revenueRecognitionMethod
enum<string> | null

The revenue recognition method. Only applicable when billingTypeId is "fixed" or "fixed_recurring". null for other billing types.

Available options:
invoiced,
manual,
automated_hours,
automated_tm_basis
fixedFee
number | null
deprecated

Deprecated. Always null.

fixedRecurringFee
number | null
deprecated

Deprecated. Always null.

fixedRecurringStart
string | null
deprecated

Deprecated. Always null.

fixedRecurringEnd
string | null
deprecated

Deprecated. Always null.

useRoles
boolean

Whether the project uses roles.

useBudget
boolean

Whether the project has a budget.

budgetMode
enum<string> | null

The budget mode. null when useBudget is false.

Available options:
summary,
detailed,
aggregated
useMonthlyBudget
boolean

Whether the project has a monthly budget.

monthlyBudgetMode
enum<string> | null

The monthly budget mode. null when useMonthlyBudget is false.

Available options:
summary,
detailed
capMaxMemberHoursPerDay
boolean

When enabled, caps the number of hours a member can log per day on the project.

maxMemberHoursPerDay
integer | null

The maximum number of hours a member can log per day on the project. Only used if capMaxMemberHoursPerDay is true. null when capMaxMemberHoursPerDay is false.

capMaxMemberHoursPerWeek
boolean

When enabled, caps the number of hours a member can log per week on the project.

maxMemberHoursPerWeek
integer | null

The maximum number of hours a member can log per week on the project. Only used if capMaxMemberHoursPerWeek is true. null when capMaxMemberHoursPerWeek is false.

capMaxMemberHoursPerMonth
boolean

When enabled, caps the number of hours a member can log per month on the project.

maxMemberHoursPerMonth
integer | null

The maximum number of hours a member can log per month on the project. Only used if capMaxMemberHoursPerMonth is true. null when capMaxMemberHoursPerMonth is false.

requiresNotes
boolean

Requires notes on time entries for this project.

requiresTasks
boolean

Requires a task selection on time entries for this project.

recordStatusId
enum<string>

The record status of the project.

Available options:
active,
archived
isProductive
boolean | null

Whether time logged on this project counts as productive time. Only applicable for internal client projects; null for external client projects.

lockTimeAndExpenses
boolean

When enabled, locks time and expenses on the project, preventing further edits.

trackTimeToAssignedRoles
boolean | null

Whether time should be tracked per assigned role. Only applies when useRoles is true. null when useRoles is false.

cloudFolderUrl
string | null

The URL to the associated cloud storage folder.

createdAt
string<date-time>

The timestamp when the object was created.

completedOn
string<date> | null

The date the project was completed. Only populated when statusId is "completed".

client
object

The client associated with the project.

practice
object

The practice associated with the project.

projectType
object

The project type associated with the project.

projectGroup
object

The project group associated with the project.

tags
object[]

The tags associated with the project.

salesRepresentative
object

The sales representative for the project.

businessUnit
object

The business unit associated with the project.

budget
object

The overall budget targets for the project. null when useBudget is false.

monthlyBudget
object

The monthly budget targets for the project. null when useMonthlyBudget is false.