curl --request POST \
--url https://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Deployment_Viewer",
"permissions": [
"deployment.get"
],
"description": "Subject can only view deployments.",
"restrictedWorkspaceIds": [
"cldbvzoi20182g8odxt8ehi5i"
]
}
'import requests
url = "https://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}"
payload = {
"name": "Deployment_Viewer",
"permissions": ["deployment.get"],
"description": "Subject can only view deployments.",
"restrictedWorkspaceIds": ["cldbvzoi20182g8odxt8ehi5i"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Deployment_Viewer',
permissions: ['deployment.get'],
description: 'Subject can only view deployments.',
restrictedWorkspaceIds: ['cldbvzoi20182g8odxt8ehi5i']
})
};
fetch('https://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}', 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.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}",
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([
'name' => 'Deployment_Viewer',
'permissions' => [
'deployment.get'
],
'description' => 'Subject can only view deployments.',
'restrictedWorkspaceIds' => [
'cldbvzoi20182g8odxt8ehi5i'
]
]),
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://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}"
payload := strings.NewReader("{\n \"name\": \"Deployment_Viewer\",\n \"permissions\": [\n \"deployment.get\"\n ],\n \"description\": \"Subject can only view deployments.\",\n \"restrictedWorkspaceIds\": [\n \"cldbvzoi20182g8odxt8ehi5i\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Deployment_Viewer\",\n \"permissions\": [\n \"deployment.get\"\n ],\n \"description\": \"Subject can only view deployments.\",\n \"restrictedWorkspaceIds\": [\n \"cldbvzoi20182g8odxt8ehi5i\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Deployment_Viewer\",\n \"permissions\": [\n \"deployment.get\"\n ],\n \"description\": \"Subject can only view deployments.\",\n \"restrictedWorkspaceIds\": [\n \"cldbvzoi20182g8odxt8ehi5i\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2022-11-22T04:37:12Z",
"createdBy": {
"id": "clm8qv74h000008mlf08scq7k",
"apiTokenName": "my-token",
"avatarUrl": "https://avatar.url",
"fullName": "Jane Doe",
"subjectType": "USER",
"username": "user1@company.com"
},
"id": "cluc9tapx000901qn2xrgqdmn",
"name": "Deployment_Viewer",
"permissions": [
"deployment.get"
],
"restrictedWorkspaceIds": [
"cldbvzoi20182g8odxt8ehi5i"
],
"scopeType": "DEPLOYMENT",
"updatedAt": "2022-11-22T04:37:12Z",
"updatedBy": {
"id": "clm8qv74h000008mlf08scq7k",
"apiTokenName": "my-token",
"avatarUrl": "https://avatar.url",
"fullName": "Jane Doe",
"subjectType": "USER",
"username": "user1@company.com"
},
"description": "Subject can only view deployments."
}{
"message": "<string>",
"requestId": "<string>",
"statusCode": 500
}{
"message": "<string>",
"requestId": "<string>",
"statusCode": 500
}{
"message": "<string>",
"requestId": "<string>",
"statusCode": 500
}{
"message": "<string>",
"requestId": "<string>",
"statusCode": 500
}{
"message": "<string>",
"requestId": "<string>",
"statusCode": 500
}Update custom role
Update the metadata or included permissions for a custom role.
curl --request POST \
--url https://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Deployment_Viewer",
"permissions": [
"deployment.get"
],
"description": "Subject can only view deployments.",
"restrictedWorkspaceIds": [
"cldbvzoi20182g8odxt8ehi5i"
]
}
'import requests
url = "https://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}"
payload = {
"name": "Deployment_Viewer",
"permissions": ["deployment.get"],
"description": "Subject can only view deployments.",
"restrictedWorkspaceIds": ["cldbvzoi20182g8odxt8ehi5i"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Deployment_Viewer',
permissions: ['deployment.get'],
description: 'Subject can only view deployments.',
restrictedWorkspaceIds: ['cldbvzoi20182g8odxt8ehi5i']
})
};
fetch('https://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}', 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.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}",
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([
'name' => 'Deployment_Viewer',
'permissions' => [
'deployment.get'
],
'description' => 'Subject can only view deployments.',
'restrictedWorkspaceIds' => [
'cldbvzoi20182g8odxt8ehi5i'
]
]),
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://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}"
payload := strings.NewReader("{\n \"name\": \"Deployment_Viewer\",\n \"permissions\": [\n \"deployment.get\"\n ],\n \"description\": \"Subject can only view deployments.\",\n \"restrictedWorkspaceIds\": [\n \"cldbvzoi20182g8odxt8ehi5i\"\n ]\n}")
req, _ := http.NewRequest("POST", 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.post("https://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Deployment_Viewer\",\n \"permissions\": [\n \"deployment.get\"\n ],\n \"description\": \"Subject can only view deployments.\",\n \"restrictedWorkspaceIds\": [\n \"cldbvzoi20182g8odxt8ehi5i\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.astronomer.io/iam/v1beta1/organizations/{organizationId}/roles/{customRoleId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Deployment_Viewer\",\n \"permissions\": [\n \"deployment.get\"\n ],\n \"description\": \"Subject can only view deployments.\",\n \"restrictedWorkspaceIds\": [\n \"cldbvzoi20182g8odxt8ehi5i\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"createdAt": "2022-11-22T04:37:12Z",
"createdBy": {
"id": "clm8qv74h000008mlf08scq7k",
"apiTokenName": "my-token",
"avatarUrl": "https://avatar.url",
"fullName": "Jane Doe",
"subjectType": "USER",
"username": "user1@company.com"
},
"id": "cluc9tapx000901qn2xrgqdmn",
"name": "Deployment_Viewer",
"permissions": [
"deployment.get"
],
"restrictedWorkspaceIds": [
"cldbvzoi20182g8odxt8ehi5i"
],
"scopeType": "DEPLOYMENT",
"updatedAt": "2022-11-22T04:37:12Z",
"updatedBy": {
"id": "clm8qv74h000008mlf08scq7k",
"apiTokenName": "my-token",
"avatarUrl": "https://avatar.url",
"fullName": "Jane Doe",
"subjectType": "USER",
"username": "user1@company.com"
},
"description": "Subject can only view deployments."
}{
"message": "<string>",
"requestId": "<string>",
"statusCode": 500
}{
"message": "<string>",
"requestId": "<string>",
"statusCode": 500
}{
"message": "<string>",
"requestId": "<string>",
"statusCode": 500
}{
"message": "<string>",
"requestId": "<string>",
"statusCode": 500
}{
"message": "<string>",
"requestId": "<string>",
"statusCode": 500
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The ID of the Organization to which the role belongs.
The custom role's ID.
Body
The request body for updating the custom role.
The role's name.
"Deployment_Viewer"
The permissions included in the role.
1["deployment.get"]
The role's description.
"Subject can only view deployments."
The IDs of the Workspaces that the role is restricted to.
["cldbvzoi20182g8odxt8ehi5i"]
Response
OK
The time the role was created.
"2022-11-22T04:37:12Z"
Show child attributes
Show child attributes
The role's ID.
"cluc9tapx000901qn2xrgqdmn"
The role's name.
"Deployment_Viewer"
The role's permissions.
["deployment.get"]
The IDs of Workspaces that the role is restricted to.
["cldbvzoi20182g8odxt8ehi5i"]
The role's scope.
DEPLOYMENT, WORKSPACE, ORGANIZATION "DEPLOYMENT"
The time the role was last updated.
"2022-11-22T04:37:12Z"
Show child attributes
Show child attributes
The role's description.
"Subject can only view deployments."
Was this page helpful?