Create team permissions
curl --request POST \
--url https://api.openworklabs.com/v1/permissions/sets \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"teamId": "<string>",
"permissions": [
{
"key": "<string>"
}
]
}
'import requests
url = "https://api.openworklabs.com/v1/permissions/sets"
payload = {
"teamId": "<string>",
"permissions": [{ "key": "<string>" }]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({teamId: '<string>', permissions: [{key: '<string>'}]})
};
fetch('https://api.openworklabs.com/v1/permissions/sets', 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/permissions/sets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'teamId' => '<string>',
'permissions' => [
[
'key' => '<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/permissions/sets"
payload := strings.NewReader("{\n \"teamId\": \"<string>\",\n \"permissions\": [\n {\n \"key\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.openworklabs.com/v1/permissions/sets")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"teamId\": \"<string>\",\n \"permissions\": [\n {\n \"key\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/permissions/sets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"teamId\": \"<string>\",\n \"permissions\": [\n {\n \"key\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"set": {
"id": "<string>",
"name": "<string>",
"kind": "member_default",
"team": {
"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>"
}Permissions
Create team permissions
Creates the permission set for one team, named "<team name> Permissions" (fixed from then on), links it to the team and stores its initial permissions. A team can have one active set, and the team can't be changed later. You can only turn on permissions you have yourself. Requires permissions.manage (only the owner has it by default), a recent sign-in, and the Permissions feature.
POST
/
v1
/
permissions
/
sets
Create team permissions
curl --request POST \
--url https://api.openworklabs.com/v1/permissions/sets \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"teamId": "<string>",
"permissions": [
{
"key": "<string>"
}
]
}
'import requests
url = "https://api.openworklabs.com/v1/permissions/sets"
payload = {
"teamId": "<string>",
"permissions": [{ "key": "<string>" }]
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({teamId: '<string>', permissions: [{key: '<string>'}]})
};
fetch('https://api.openworklabs.com/v1/permissions/sets', 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/permissions/sets",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'teamId' => '<string>',
'permissions' => [
[
'key' => '<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/permissions/sets"
payload := strings.NewReader("{\n \"teamId\": \"<string>\",\n \"permissions\": [\n {\n \"key\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.openworklabs.com/v1/permissions/sets")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"teamId\": \"<string>\",\n \"permissions\": [\n {\n \"key\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.openworklabs.com/v1/permissions/sets")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"teamId\": \"<string>\",\n \"permissions\": [\n {\n \"key\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"set": {
"id": "<string>",
"name": "<string>",
"kind": "member_default",
"team": {
"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
denApiKeybearerAuth
Organization API key passed as the x-api-key header. The raw key is the header value; do not prefix it with Bearer.
Body
application/json
Response
Team permission set created.
Show child attributes
Show child attributes
Was this page helpful?