Workspace - Members
Change Permissions
Change workspace member permissions.
PATCH
/
v2
/
workspaces
/
members
Change Permissions
curl --request PATCH \
--url https://api.squarecloud.app/v2/workspaces/members \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"workspaceId": "<string>",
"memberId": "<string>",
"group": "<string>"
}
'import requests
url = "https://api.squarecloud.app/v2/workspaces/members"
payload = {
"workspaceId": "<string>",
"memberId": "<string>",
"group": "<string>"
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({workspaceId: '<string>', memberId: '<string>', group: '<string>'})
};
fetch('https://api.squarecloud.app/v2/workspaces/members', 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.squarecloud.app/v2/workspaces/members",
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([
'workspaceId' => '<string>',
'memberId' => '<string>',
'group' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"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://api.squarecloud.app/v2/workspaces/members"
payload := strings.NewReader("{\n \"workspaceId\": \"<string>\",\n \"memberId\": \"<string>\",\n \"group\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<authorization>")
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://api.squarecloud.app/v2/workspaces/members")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"workspaceId\": \"<string>\",\n \"memberId\": \"<string>\",\n \"group\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.squarecloud.app/v2/workspaces/members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workspaceId\": \"<string>\",\n \"memberId\": \"<string>\",\n \"group\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success"
}
string
required
The API key for your account. You can find this in your account settings.
view (read-only), manager (app actions and deployment info), maintain (adds files, DNS, cache purge, and commits), and admin (adds envs, snapshots, custom domains, and the deploy webhook).
Only the workspace owner can call this endpoint, and the owner cannot change their own role since they always hold full access. To add a new member instead of changing an existing one, see Invite Member. Rate limited to 3 edits per 15 seconds per user.
Parameters
string
The ID of the workspace.
string
The member ID.
string
The member permissions on the workspace applications.
Response
string
Indicates whether the call was successful..
success if successful, error if not.{
"status": "success"
}
Common errors
| Code | HTTP | Meaning |
|---|---|---|
INVALID_ID | 400 | workspaceId is missing. |
MEMBER_NOT_FOUND | 400 | memberId is missing or does not belong to the workspace. |
CANNOT_EDIT_OWNER | 400 | The caller tried to change their own role. |
INVALID_GROUP | 400 | group is not one of view, manager, maintain, admin. |
WORKSPACE_NOT_FOUND | 404 | The workspace does not exist. |
⌘I
Change Permissions
curl --request PATCH \
--url https://api.squarecloud.app/v2/workspaces/members \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '
{
"workspaceId": "<string>",
"memberId": "<string>",
"group": "<string>"
}
'import requests
url = "https://api.squarecloud.app/v2/workspaces/members"
payload = {
"workspaceId": "<string>",
"memberId": "<string>",
"group": "<string>"
}
headers = {
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({workspaceId: '<string>', memberId: '<string>', group: '<string>'})
};
fetch('https://api.squarecloud.app/v2/workspaces/members', 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.squarecloud.app/v2/workspaces/members",
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([
'workspaceId' => '<string>',
'memberId' => '<string>',
'group' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"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://api.squarecloud.app/v2/workspaces/members"
payload := strings.NewReader("{\n \"workspaceId\": \"<string>\",\n \"memberId\": \"<string>\",\n \"group\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<authorization>")
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://api.squarecloud.app/v2/workspaces/members")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"workspaceId\": \"<string>\",\n \"memberId\": \"<string>\",\n \"group\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.squarecloud.app/v2/workspaces/members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"workspaceId\": \"<string>\",\n \"memberId\": \"<string>\",\n \"group\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"status": "success"
}

