package main
import(
"context"
"github.com/conductorone/conductorone-sdk-go/pkg/models/shared"
conductoronesdkgo "github.com/conductorone/conductorone-sdk-go"
"github.com/conductorone/conductorone-sdk-go/pkg/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := conductoronesdkgo.New(
conductoronesdkgo.WithSecurity(shared.Security{
BearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
Oauth: "<YOUR_OAUTH_HERE>",
}),
)
res, err := s.Policies.Update(ctx, operations.C1APIPolicyV1PoliciesUpdateRequest{
ID: "<id>",
})
if err != nil {
log.Fatal(err)
}
if res.UpdatePolicyResponse != nil {
// handle response
}
}import { ConductoroneSDKTypescript } from "conductorone-sdk-typescript";
const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
security: {
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
oauth: "<YOUR_OAUTH_HERE>",
},
});
async function run() {
const result = await conductoroneSDKTypescript.policies.update({
id: "<id>",
});
console.log(result);
}
run();curl --request POST \
--url https://{tenantDomain}.conductor.one/api/v1/policies/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"policy": {
"annotations": {},
"description": "<string>",
"displayName": "<string>",
"policySteps": {},
"postActions": [
{
"certifyRemediateImmediately": true
}
],
"reassignTasksToDelegates": true,
"rules": [
{
"condition": "<string>",
"policyKey": "<string>"
}
]
},
"updateMask": "<string>"
}
'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/policies/{id}"
payload = {
"policy": {
"annotations": {},
"description": "<string>",
"displayName": "<string>",
"policySteps": {},
"postActions": [{ "certifyRemediateImmediately": True }],
"reassignTasksToDelegates": True,
"rules": [
{
"condition": "<string>",
"policyKey": "<string>"
}
]
},
"updateMask": "<string>"
}
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({
policy: {
annotations: {},
description: '<string>',
displayName: '<string>',
policySteps: {},
postActions: [{certifyRemediateImmediately: true}],
reassignTasksToDelegates: true,
rules: [{condition: '<string>', policyKey: '<string>'}]
},
updateMask: '<string>'
})
};
fetch('https://{tenantDomain}.conductor.one/api/v1/policies/{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://{tenantDomain}.conductor.one/api/v1/policies/{id}",
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([
'policy' => [
'annotations' => [
],
'description' => '<string>',
'displayName' => '<string>',
'policySteps' => [
],
'postActions' => [
[
'certifyRemediateImmediately' => true
]
],
'reassignTasksToDelegates' => true,
'rules' => [
[
'condition' => '<string>',
'policyKey' => '<string>'
]
]
],
'updateMask' => '<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;
}HttpResponse<String> response = Unirest.post("https://{tenantDomain}.conductor.one/api/v1/policies/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"policy\": {\n \"annotations\": {},\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"policySteps\": {},\n \"postActions\": [\n {\n \"certifyRemediateImmediately\": true\n }\n ],\n \"reassignTasksToDelegates\": true,\n \"rules\": [\n {\n \"condition\": \"<string>\",\n \"policyKey\": \"<string>\"\n }\n ]\n },\n \"updateMask\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/policies/{id}")
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 \"policy\": {\n \"annotations\": {},\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"policySteps\": {},\n \"postActions\": [\n {\n \"certifyRemediateImmediately\": true\n }\n ],\n \"reassignTasksToDelegates\": true,\n \"rules\": [\n {\n \"condition\": \"<string>\",\n \"policyKey\": \"<string>\"\n }\n ]\n },\n \"updateMask\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"policy": {
"annotations": {},
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"displayName": "<string>",
"id": "<string>",
"policySteps": {},
"postActions": [
{
"certifyRemediateImmediately": true
}
],
"reassignTasksToDelegates": true,
"rules": [
{
"condition": "<string>",
"policyKey": "<string>"
}
],
"systemBuiltin": true,
"updatedAt": "2023-11-07T05:31:56Z"
}
}Update
Update a policy by providing a policy object and an update mask.
package main
import(
"context"
"github.com/conductorone/conductorone-sdk-go/pkg/models/shared"
conductoronesdkgo "github.com/conductorone/conductorone-sdk-go"
"github.com/conductorone/conductorone-sdk-go/pkg/models/operations"
"log"
)
func main() {
ctx := context.Background()
s := conductoronesdkgo.New(
conductoronesdkgo.WithSecurity(shared.Security{
BearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
Oauth: "<YOUR_OAUTH_HERE>",
}),
)
res, err := s.Policies.Update(ctx, operations.C1APIPolicyV1PoliciesUpdateRequest{
ID: "<id>",
})
if err != nil {
log.Fatal(err)
}
if res.UpdatePolicyResponse != nil {
// handle response
}
}import { ConductoroneSDKTypescript } from "conductorone-sdk-typescript";
const conductoroneSDKTypescript = new ConductoroneSDKTypescript({
security: {
bearerAuth: "<YOUR_BEARER_TOKEN_HERE>",
oauth: "<YOUR_OAUTH_HERE>",
},
});
async function run() {
const result = await conductoroneSDKTypescript.policies.update({
id: "<id>",
});
console.log(result);
}
run();curl --request POST \
--url https://{tenantDomain}.conductor.one/api/v1/policies/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"policy": {
"annotations": {},
"description": "<string>",
"displayName": "<string>",
"policySteps": {},
"postActions": [
{
"certifyRemediateImmediately": true
}
],
"reassignTasksToDelegates": true,
"rules": [
{
"condition": "<string>",
"policyKey": "<string>"
}
]
},
"updateMask": "<string>"
}
'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/policies/{id}"
payload = {
"policy": {
"annotations": {},
"description": "<string>",
"displayName": "<string>",
"policySteps": {},
"postActions": [{ "certifyRemediateImmediately": True }],
"reassignTasksToDelegates": True,
"rules": [
{
"condition": "<string>",
"policyKey": "<string>"
}
]
},
"updateMask": "<string>"
}
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({
policy: {
annotations: {},
description: '<string>',
displayName: '<string>',
policySteps: {},
postActions: [{certifyRemediateImmediately: true}],
reassignTasksToDelegates: true,
rules: [{condition: '<string>', policyKey: '<string>'}]
},
updateMask: '<string>'
})
};
fetch('https://{tenantDomain}.conductor.one/api/v1/policies/{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://{tenantDomain}.conductor.one/api/v1/policies/{id}",
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([
'policy' => [
'annotations' => [
],
'description' => '<string>',
'displayName' => '<string>',
'policySteps' => [
],
'postActions' => [
[
'certifyRemediateImmediately' => true
]
],
'reassignTasksToDelegates' => true,
'rules' => [
[
'condition' => '<string>',
'policyKey' => '<string>'
]
]
],
'updateMask' => '<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;
}HttpResponse<String> response = Unirest.post("https://{tenantDomain}.conductor.one/api/v1/policies/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"policy\": {\n \"annotations\": {},\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"policySteps\": {},\n \"postActions\": [\n {\n \"certifyRemediateImmediately\": true\n }\n ],\n \"reassignTasksToDelegates\": true,\n \"rules\": [\n {\n \"condition\": \"<string>\",\n \"policyKey\": \"<string>\"\n }\n ]\n },\n \"updateMask\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/policies/{id}")
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 \"policy\": {\n \"annotations\": {},\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"policySteps\": {},\n \"postActions\": [\n {\n \"certifyRemediateImmediately\": true\n }\n ],\n \"reassignTasksToDelegates\": true,\n \"rules\": [\n {\n \"condition\": \"<string>\",\n \"policyKey\": \"<string>\"\n }\n ]\n },\n \"updateMask\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"policy": {
"annotations": {},
"createdAt": "2023-11-07T05:31:56Z",
"deletedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"displayName": "<string>",
"id": "<string>",
"policySteps": {},
"postActions": [
{
"certifyRemediateImmediately": true
}
],
"reassignTasksToDelegates": true,
"rules": [
{
"condition": "<string>",
"policyKey": "<string>"
}
],
"systemBuiltin": true,
"updatedAt": "2023-11-07T05:31:56Z"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
This API uses OAuth2 with the Client Credential flow. Client Credentials must be sent in the BODY, not the headers. For an example of how to implement this, refer to the c1TokenSource.Token() function.
Path Parameters
The ID of the Policy.
Body
The UpdatePolicyRequest message contains the policy object to update and a field mask to indicate which fields to update. It uses URL value for input.
A policy defines a workflow (sequence of steps) that runs when processing access requests, reviews, or revocations. Policies support conditional routing: different conditions can trigger different step sequences, with a baseline fallback.
Show child attributes
Show child attributes
Response
The UpdatePolicyResponse message contains the updated policy object.
The UpdatePolicyResponse message contains the updated policy object.
A policy defines a workflow (sequence of steps) that runs when processing access requests, reviews, or revocations. Policies support conditional routing: different conditions can trigger different step sequences, with a baseline fallback.
Show child attributes
Show child attributes
Was this page helpful?