---
title: "Link a client role to a workspace role"
method: POST
path: "/client-roles/link"
tags: ["Client Roles"]
---

# Link a client role to a workspace role

`POST /client-roles/link`

## Request

- Base URL: `https://www.ruddr.io/api/workspace`
- URL: `https://www.ruddr.io/api/workspace/client-roles/link`
- Auth: HTTP bearer

Create a client role linked to a workspace role. All billing and classification fields are automatically populated from the workspace role.

## Request body

- object
  - `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`

200

- ClientRole
  - `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, nullable: The billing rate for the role. `null` when the role is non-billable. Reflects the workspace role's value when linked.
  - `currency` string, nullable: 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.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the client.
  - `discipline` object, nullable: The discipline associated with this role. Reflects the workspace role's value when linked.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the discipline.
  - `practice` object, nullable: The practice associated with this role. Reflects the workspace role's value when linked.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the practice.
  - `location` object, nullable: The location associated with this role. Reflects the workspace role's value when linked.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the location.
  - `workspaceRole` object, nullable: 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.
    - `id` string: The unique identifier for the object.
    - `name` string: The name of the workspace role.

## Other responses

- `400`: 400
- `403`: 403
- `409`: 409

---

[API](https://skmtc.dev/ruddr/apis/ruddr-api.md) · [All operations](https://skmtc.dev/ruddr/apis/ruddr-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ruddr/apis/ruddr-api/revisions/01c3f2a969ba?raw)
