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"
    }
  ],
  "businessUnit": {
    "id": "de116c6c-665e-4ce0-bf49-d77103f55095",
    "name": "Engineering"
  },
  "salesRepresentative": {
    "id": "d1980029-6c43-4af9-88ac-7b9066944f34",
    "name": "Jane Smith"
  },
  "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 slug for the project, will be autogenerated from the name property if not provided.

name
string

The name of the project (max 255 chars).

notes
string | null

Any notes about the project (max 5000 chars).

statusId
string

The project status. Can be: "tentative" (Tentative), "not_started" (Not Started), "in_progress" (In Progress), "paused" (Paused), "completed" (Completed), or "cancelled" (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 (max 255 chars).

poNumber
string | null

The purchase order number (max 255 chars).

billingTypeId
string

The billing type for the project. Can be either "tm" (Time & Materials), "fixed" (Fixed Fee), "fixed_recurring" (Fixed Monthly), or "non_billable" (Non-Billable).

isBillable
boolean

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

currency
string

The 3-letter ISO 4217 currency code associated with the project.

revenueRecognitionMethod
string | null

The revenue recognition method. Only applicable when billingTypeId is "fixed" or "fixed_recurring". Possible values are "invoiced" (As Invoiced) or "manual" (Manual). null for other billing types.

fixedFee
number | null

Deprecated. Always null.

fixedRecurringFee
number | null

Deprecated. Always null.

fixedRecurringStart
string | null

Deprecated. Always null.

fixedRecurringEnd
string | null

Deprecated. Always null.

useRoles
boolean

Whether the project uses roles.

useBudget
boolean

Whether the project has a budget.

budgetMode
string | null

The budget mode. Only present when useBudget is true. Possible values are "summary" (Summary budget), "detailed" (Detailed budget), or "aggregated" (Detailed budget aggregated from tasks). null when useBudget is false.

useMonthlyBudget
boolean

Whether the project has a monthly budget.

monthlyBudgetMode
string | null

The monthly budget mode. Only present when useMonthlyBudget is true. Possible values are "summary" (Summary budget) or "detailed" (Detailed budget). null when useMonthlyBudget is false.

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
string

The record status of the project. Possible values are: "active" (Active) or "archived" (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 list of tags associated with the project.

businessUnit
object

The business unit associated with the project.

salesRepresentative
object

The member designated as the sales representative for the project.

budget
object

The overall budget targets for the project. Only present when useBudget is true.

monthlyBudget
object

The monthly budget targets for the project. Only present when useMonthlyBudget is true.