Skip to main content
POST
/
client-roles
/
link
Link a client role to a workspace role
curl --request POST \
  --url https://www.ruddr.io/api/workspace/client-roles/link \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "clientId": "<string>",
  "workspaceRoleId": "<string>"
}
'
{
  "id": "a7d3b1e5-9c42-4f86-b0a8-6e2d9c1f73b4",
  "name": "Senior Developer",
  "isBillable": true,
  "rate": 175,
  "currency": "USD",
  "createdAt": "2025-12-10T09:15:33.841Z",
  "client": {
    "id": "d4e1b7a3-8c52-4f90-b6d3-1a9e0c7f45b8",
    "name": "Acme Corporation"
  },
  "discipline": {
    "id": "5b8e2a1c-3d47-4f09-a6e3-8c0d2f1b47a9",
    "name": "Software Engineering"
  },
  "practice": {
    "id": "c9a3d5b7-1e48-4f63-b7d0-a2e1c8f92d56",
    "name": "Web Development"
  },
  "location": {
    "id": "e2b4c6a8-7f19-4d30-a5e1-9c3b0d8f62a7",
    "name": "New York"
  },
  "workspaceRole": {
    "id": "f1a5d8b3-2c67-4e91-b4d0-7a3e9c1f05b8",
    "name": "Senior Developer"
  }
}
A role defining billing terms for work performed for a specific client. Client roles can be created independently or linked to a workspace role, which overrides the role’s name, billing, and classification fields.

Authorizations

Authorization
string
header
required

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

Body

application/json
clientId
string
required

The uuid of the client this role belongs to.

workspaceRoleId
string
required

The uuid of the workspace role to link to.

Response

200

id
string

The unique identifier for the object.

name
string

The name of the client role. Reflects the workspace role's name when linked.

isBillable
boolean

Whether the role is billable. Reflects the workspace role's value when linked.

rate
number | null

The billing rate for the role. null when the role is non-billable. Reflects the workspace role's value when linked.

currency
string | null

The three-letter ISO currency code for the role. null when the role is non-billable. Reflects the workspace role's value when linked.

createdAt
string<date-time>

The timestamp when the object was created.

client
object

The client this role belongs to.

discipline
object

The discipline associated with this role. Reflects the workspace role's value when linked.

practice
object

The practice associated with this role. Reflects the workspace role's value when linked.

location
object

The location associated with this role. Reflects the workspace role's value when linked.

workspaceRole
object

The workspace role this client role is linked to. When linked, the client role's name, billing fields, and classification fields are overridden with the workspace role's current values. null for standalone client roles.