curl --request PATCH \
--url https://www.ruddr.io/api/workspace/workspace-roles/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"isActive": true,
"isBillable": true,
"rate": 123,
"currency": "<string>",
"disciplineId": "<string>",
"practiceId": "<string>",
"locationId": "<string>"
}
'import requests
url = "https://www.ruddr.io/api/workspace/workspace-roles/{id}"
payload = {
"name": "<string>",
"isActive": True,
"isBillable": True,
"rate": 123,
"currency": "<string>",
"disciplineId": "<string>",
"practiceId": "<string>",
"locationId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
isActive: true,
isBillable: true,
rate: 123,
currency: '<string>',
disciplineId: '<string>',
practiceId: '<string>',
locationId: '<string>'
})
};
fetch('https://www.ruddr.io/api/workspace/workspace-roles/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.ruddr.io/api/workspace/workspace-roles/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'isActive' => true,
'isBillable' => true,
'rate' => 123,
'currency' => '<string>',
'disciplineId' => '<string>',
'practiceId' => '<string>',
'locationId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.ruddr.io/api/workspace/workspace-roles/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"isActive\": true,\n \"isBillable\": true,\n \"rate\": 123,\n \"currency\": \"<string>\",\n \"disciplineId\": \"<string>\",\n \"practiceId\": \"<string>\",\n \"locationId\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://www.ruddr.io/api/workspace/workspace-roles/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"isActive\": true,\n \"isBillable\": true,\n \"rate\": 123,\n \"currency\": \"<string>\",\n \"disciplineId\": \"<string>\",\n \"practiceId\": \"<string>\",\n \"locationId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/workspace-roles/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"isActive\": true,\n \"isBillable\": true,\n \"rate\": 123,\n \"currency\": \"<string>\",\n \"disciplineId\": \"<string>\",\n \"practiceId\": \"<string>\",\n \"locationId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "a3f1c2e4-8b47-4d9e-b6f2-3c7a5d1e9f04",
"name": "Senior Engineer",
"isActive": true,
"isBillable": true,
"rate": 175,
"currency": "USD",
"createdAt": "2025-03-12T14:22:38.104Z",
"discipline": {
"id": "5a7e3d9b-1c42-4f6e-8a0d-4b9c2e7f5a13",
"name": "Software Development"
},
"practice": {
"id": "9e4b7c1a-2f63-4a8d-b5e0-7d2c6f3a1b89",
"name": "Engineering"
},
"location": {
"id": "c8d2f5b3-6e14-4c7a-a9b1-2e8f4d6c0a35",
"name": "New York"
}
}Update a workspace role
curl --request PATCH \
--url https://www.ruddr.io/api/workspace/workspace-roles/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"isActive": true,
"isBillable": true,
"rate": 123,
"currency": "<string>",
"disciplineId": "<string>",
"practiceId": "<string>",
"locationId": "<string>"
}
'import requests
url = "https://www.ruddr.io/api/workspace/workspace-roles/{id}"
payload = {
"name": "<string>",
"isActive": True,
"isBillable": True,
"rate": 123,
"currency": "<string>",
"disciplineId": "<string>",
"practiceId": "<string>",
"locationId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
isActive: true,
isBillable: true,
rate: 123,
currency: '<string>',
disciplineId: '<string>',
practiceId: '<string>',
locationId: '<string>'
})
};
fetch('https://www.ruddr.io/api/workspace/workspace-roles/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.ruddr.io/api/workspace/workspace-roles/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'isActive' => true,
'isBillable' => true,
'rate' => 123,
'currency' => '<string>',
'disciplineId' => '<string>',
'practiceId' => '<string>',
'locationId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.ruddr.io/api/workspace/workspace-roles/{id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"isActive\": true,\n \"isBillable\": true,\n \"rate\": 123,\n \"currency\": \"<string>\",\n \"disciplineId\": \"<string>\",\n \"practiceId\": \"<string>\",\n \"locationId\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://www.ruddr.io/api/workspace/workspace-roles/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"isActive\": true,\n \"isBillable\": true,\n \"rate\": 123,\n \"currency\": \"<string>\",\n \"disciplineId\": \"<string>\",\n \"practiceId\": \"<string>\",\n \"locationId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/workspace-roles/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"isActive\": true,\n \"isBillable\": true,\n \"rate\": 123,\n \"currency\": \"<string>\",\n \"disciplineId\": \"<string>\",\n \"practiceId\": \"<string>\",\n \"locationId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "a3f1c2e4-8b47-4d9e-b6f2-3c7a5d1e9f04",
"name": "Senior Engineer",
"isActive": true,
"isBillable": true,
"rate": 175,
"currency": "USD",
"createdAt": "2025-03-12T14:22:38.104Z",
"discipline": {
"id": "5a7e3d9b-1c42-4f6e-8a0d-4b9c2e7f5a13",
"name": "Software Development"
},
"practice": {
"id": "9e4b7c1a-2f63-4a8d-b5e0-7d2c6f3a1b89",
"name": "Engineering"
},
"location": {
"id": "c8d2f5b3-6e14-4c7a-a9b1-2e8f4d6c0a35",
"name": "New York"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The workspace role uuid.
Body
The name of the workspace role. Max 255 characters.
Whether the workspace role is active.
Whether the workspace role is billable.
The billing rate for the workspace role.
The 3-letter currency code for the workspace role.
The unique identifier for the discipline to associate with this workspace role.
The unique identifier for the practice to associate with this workspace role.
The unique identifier for the location to associate with this workspace role.
Response
200
The unique identifier for the object.
The name of the workspace role.
Whether the workspace role is active.
Whether the workspace role is billable.
The billing rate for the workspace role. null when isBillable is false.
The 3-letter currency code for the workspace role. null when isBillable is false.
The timestamp when the object was created.
The discipline associated with this workspace role, if any.
Show child attributes
Show child attributes
The practice associated with this workspace role, if any.
Show child attributes
Show child attributes
The location associated with this workspace role, if any.
Show child attributes
Show child attributes