Skip to main content
POST
/
project-members
Create a project member
curl --request POST \
  --url https://www.ruddr.io/api/workspace/project-members \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "projectId": "<string>",
  "memberId": "<string>",
  "typeId": "collaborator",
  "isActive": true,
  "isBillable": true,
  "rate": 123,
  "overrideCostRate": true,
  "costCurrency": "<string>",
  "costPerHour": 123,
  "overheadCostPerHour": 123,
  "estimatedBillableHours": 123,
  "estimatedNonBillableHours": 123,
  "estimatedMonthlyBillableHours": 123,
  "estimatedMonthlyNonBillableHours": 123,
  "roleIds": [
    "<string>"
  ]
}
'
{
  "id": "e9f0a1b2-c3d4-e5f6-a7b8-c9d0e1f2a3b4",
  "typeId": "collaborator",
  "isActive": true,
  "isBillable": true,
  "rate": 175.5,
  "overrideCostRate": true,
  "costCurrency": "USD",
  "costPerHour": 85,
  "overheadCostPerHour": 12.5,
  "createdAt": "2025-03-10T14:22:31.000Z",
  "member": {
    "id": "b7c8d9e0-1f2a-3b4c-5d6e-7f8a9b0c1d2e",
    "name": "Sarah Chen"
  },
  "project": {
    "id": "c4d5e6f7-8a9b-0c1d-2e3f-4a5b6c7d8e9f",
    "name": "Enterprise Portal Redesign",
    "client": {
      "id": "d1e2f3a4-b5c6-d7e8-f9a0-b1c2d3e4f5a6",
      "name": "Meridian Technologies"
    }
  },
  "roles": null,
  "budget": {
    "billableHours": 120,
    "nonBillableHours": 20
  },
  "monthlyBudget": {
    "billableHours": 40,
    "nonBillableHours": 6.5
  }
}
A team member assigned to a project.

Authorizations

Authorization
string
header
required

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

Body

application/json
projectId
string
required

The project ID (uuid) for this project member.

memberId
string
required

The member ID (uuid) for this project member.

typeId
enum<string>

The type of project member. Can be either "administrator" (Project administrator) or "collaborator" (Project collaborator). Defaults to "collaborator".

Available options:
collaborator,
administrator
isActive
boolean

Whether the member is still active on the project.

isBillable
boolean

Whether the member is billable on this project. Only used if the project is not using roles.

rate
number | null

The member's billing rate for the project. Only used if the project is not using roles and the member is billable.

overrideCostRate
boolean

Whether to override this project member's cost rate at the project member level rather than using the workspace or member default.

costCurrency
string | null

The ISO 4217 currency code for the overridden cost rate. This will only get used if overrideCostRate is true.

costPerHour
number | null

The overridden cost per hour. This will only get used if overrideCostRate is true.

overheadCostPerHour
number | null

The overridden overhead cost per hour. This will only get used if overrideCostRate is true.

estimatedBillableHours
number | null

The number of billable hours to budget. This will only get used if not using roles and useBudget is true and budgetMode is "detailed" on the project.

estimatedNonBillableHours
number | null

The number of non-billable hours to budget. This will only get used if not using roles and useBudget is true and budgetMode is "detailed" on the project.

estimatedMonthlyBillableHours
number | null

The number of billable hours on the monthly budget. This will only get used if not using roles and useMonthlyBudget is true and monthlyBudgetMode is "detailed" on the project.

estimatedMonthlyNonBillableHours
number | null

The number of non-billable hours on the monthly budget. This will only get used if not using roles and useMonthlyBudget is true and monthlyBudgetMode is "detailed" on the project.

roleIds
string[]

A list of project role IDs (uuid) assigned to the member. Only used if the project is using roles.

Response

200

id
string

The unique identifier for the object.

typeId
enum<string>

The project member type.

Available options:
collaborator,
administrator
isActive
boolean

Whether the member is still active on the project.

isBillable
boolean | null

Whether the member is billable on this project. Only used if the project is not using roles; otherwise billability is assigned at the role level and this field is null.

rate
number | null

The member's billing rate for the project. Only used if the project is not using roles and the member is billable; otherwise null.

overrideCostRate
boolean

Whether this project member's cost rate is overridden at the project member level rather than using the workspace or member default.

costCurrency
string | null

The ISO 4217 currency code for the overridden cost rate. Only populated when overrideCostRate is true; otherwise null.

costPerHour
number | null

The overridden cost per hour for this project member. Only populated when overrideCostRate is true; otherwise null.

overheadCostPerHour
number | null

The overridden overhead cost per hour for this project member. Only populated when overrideCostRate is true; otherwise null.

createdAt
string<date-time>

The timestamp when the object was created.

member
object

The workspace member assigned to this project.

project
object

The project this member belongs to.

roles
object[] | null

The project roles assigned to this member. null when the project does not use roles.

budget
object

The member's budget hours for the project. null when the project does not use a budget or uses roles.

monthlyBudget
object

The member's monthly budget hours for the project. null when the project does not use a monthly budget in detailed mode or uses roles.