curl --request PUT \
--url https://api.openworklabs.com/v1/teams/{teamId}/permission-set \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"permissionSetId": "<string>"
}
'import requests
url = "https://api.openworklabs.com/v1/teams/{teamId}/permission-set"
payload = { "permissionSetId": "<string>" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({permissionSetId: '<string>'})
};
fetch('https://api.openworklabs.com/v1/teams/{teamId}/permission-set', 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://api.openworklabs.com/v1/teams/{teamId}/permission-set",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'permissionSetId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://api.openworklabs.com/v1/teams/{teamId}/permission-set"
payload := strings.NewReader("{\n \"permissionSetId\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.put("https://api.openworklabs.com/v1/teams/{teamId}/permission-set")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"permissionSetId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/teams/{teamId}/permission-set")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"permissionSetId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"set": {
"id": "<string>",
"name": "<string>",
"kind": "member_default",
"team": {
"id": "<string>",
"name": "<string>"
},
"teams": [
{
"id": "<string>",
"name": "<string>"
}
],
"allowedCount": 0,
"createdAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"permissions": [
{
"key": "<string>",
"status": "allow",
"locked": true,
"lastChangedAt": "2023-11-07T05:31:56Z",
"lastChangedBy": {
"memberId": "<string>",
"name": "<string>",
"email": "<string>"
},
"lastChangeSource": "user"
}
],
"appliesTo": {
"kind": "everyone",
"memberCount": 0
}
}
}{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"message": "<string>",
"capability": "<string>"
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "organization_not_found",
"feature": "<string>",
"message": "<string>"
}{
"error": "permission_set_archived",
"message": "<string>",
"permissionSetId": "<string>"
}Set a team's custom role
Gives a team one custom role (a team permission set), replacing its current one, or none with permissionSetId null. The same role can be given to any number of teams; a role left with no team is kept until it is deleted. You can only give a role whose permissions you all have yourself. Whether the team is an Admin team is changed separately (PATCH /v1/teams/:teamId). Requires permissions.manage (only the owner has it by default), a recent sign-in, and the Permissions and Shared roles features.
curl --request PUT \
--url https://api.openworklabs.com/v1/teams/{teamId}/permission-set \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"permissionSetId": "<string>"
}
'import requests
url = "https://api.openworklabs.com/v1/teams/{teamId}/permission-set"
payload = { "permissionSetId": "<string>" }
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({permissionSetId: '<string>'})
};
fetch('https://api.openworklabs.com/v1/teams/{teamId}/permission-set', 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://api.openworklabs.com/v1/teams/{teamId}/permission-set",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'permissionSetId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$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://api.openworklabs.com/v1/teams/{teamId}/permission-set"
payload := strings.NewReader("{\n \"permissionSetId\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("x-api-key", "<api-key>")
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.put("https://api.openworklabs.com/v1/teams/{teamId}/permission-set")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"permissionSetId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/teams/{teamId}/permission-set")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"permissionSetId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"set": {
"id": "<string>",
"name": "<string>",
"kind": "member_default",
"team": {
"id": "<string>",
"name": "<string>"
},
"teams": [
{
"id": "<string>",
"name": "<string>"
}
],
"allowedCount": 0,
"createdAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"permissions": [
{
"key": "<string>",
"status": "allow",
"locked": true,
"lastChangedAt": "2023-11-07T05:31:56Z",
"lastChangedBy": {
"memberId": "<string>",
"name": "<string>",
"email": "<string>"
},
"lastChangeSource": "user"
}
],
"appliesTo": {
"kind": "everyone",
"memberCount": 0
}
}
}{
"error": "invalid_request",
"details": [
{
"message": "<string>",
"path": [
"<string>"
]
}
],
"message": "<string>",
"capability": "<string>"
}{
"error": "unauthorized"
}{
"error": "forbidden",
"reason": "<string>",
"message": "<string>"
}{
"error": "organization_not_found",
"feature": "<string>",
"message": "<string>"
}{
"error": "permission_set_archived",
"message": "<string>",
"permissionSetId": "<string>"
}Authorizations
Organization API key passed as the x-api-key header. The raw key is the header value; do not prefix it with Bearer.
Path Parameters
Den TypeID with 'tem_' prefix and a 26-character base32 suffix.
30Body
The custom role (team permission set) the team gets, replacing its current one. Null leaves the team with no custom role.
30Response
The team's custom role was set; the role's current state is returned, or null when the team has none.
Show child attributes
Show child attributes
Was this page helpful?