Skip to main content
POST
/
client-roles
Create a standalone client role
curl --request POST \
  --url https://www.ruddr.io/api/workspace/client-roles \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "clientId": "<string>",
  "name": "<string>",
  "currency": "<string>",
  "isBillable": true,
  "rate": 123,
  "disciplineId": "<string>",
  "practiceId": "<string>",
  "locationId": "<string>"
}
'
{
  "id": "a3c7e1b5-4d29-4f86-b0a8-6e2d9c1f73b4",
  "name": "Lead Designer",
  "isBillable": true,
  "rate": 200,
  "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": "Product Design"
  },
  "practice": {
    "id": "c9a3d5b7-1e48-4f63-b7d0-a2e1c8f92d56",
    "name": "UX Research"
  },
  "location": {
    "id": "e2b4c6a8-7f19-4d30-a5e1-9c3b0d8f62a7",
    "name": "San Francisco"
  },
  "workspaceRole": null
}
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.

name
string
required

The name of the client role. Maximum 255 characters.

currency
string | null

The three-letter ISO currency code for the role. Maximum 3 characters. Defaults to the client's currency if not provided.

isBillable
boolean

Whether the role is billable. Defaults to true if not provided.

rate
number | null

The billing rate for the role.

disciplineId
string | null

The uuid of the discipline for this role.

practiceId
string | null

The uuid of the practice for this role.

locationId
string | null

The uuid of the location for this role.

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.