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.AppResource.Update(ctx, operations.C1APIAppV1AppResourceServiceUpdateRequest{
AppID: "<id>",
AppResourceTypeID: "<id>",
ID: "<id>",
})
if err != nil {
log.Fatal(err)
}
if res.AppResourceServiceUpdateResponse != 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.appResource.update({
appId: "<id>",
appResourceTypeId: "<id>",
id: "<id>",
});
console.log(result);
}
run();curl --request POST \
--url https://{tenantDomain}.conductor.one/api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"appResource": {
"accessConfigId": "<string>",
"agentTrait": {
"identityAppUserId": "<string>"
},
"annotations": {},
"appId": "<string>",
"appResourceTypeId": "<string>",
"customDescription": "<string>",
"description": "<string>",
"displayName": "<string>",
"grantCount": "<string>",
"id": "<string>",
"matchBatonId": "<string>",
"parentAppResourceId": "<string>",
"parentAppResourceTypeId": "<string>",
"secretTrait": {
"createdByAppUserId": "<string>",
"credentialDetail": "<string>",
"identityAppUserId": "<string>",
"lastUsedAt": "2023-11-07T05:31:56Z",
"secretCreatedAt": "2023-11-07T05:31:56Z",
"secretExpiresAt": "2023-11-07T05:31:56Z"
}
},
"expandMask": {
"paths": [
"<string>"
]
},
"updateMask": "<string>"
}
'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{id}"
payload = {
"appResource": {
"accessConfigId": "<string>",
"agentTrait": { "identityAppUserId": "<string>" },
"annotations": {},
"appId": "<string>",
"appResourceTypeId": "<string>",
"customDescription": "<string>",
"description": "<string>",
"displayName": "<string>",
"grantCount": "<string>",
"id": "<string>",
"matchBatonId": "<string>",
"parentAppResourceId": "<string>",
"parentAppResourceTypeId": "<string>",
"secretTrait": {
"createdByAppUserId": "<string>",
"credentialDetail": "<string>",
"identityAppUserId": "<string>",
"lastUsedAt": "2023-11-07T05:31:56Z",
"secretCreatedAt": "2023-11-07T05:31:56Z",
"secretExpiresAt": "2023-11-07T05:31:56Z"
}
},
"expandMask": { "paths": ["<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({
appResource: {
accessConfigId: '<string>',
agentTrait: {identityAppUserId: '<string>'},
annotations: {},
appId: '<string>',
appResourceTypeId: '<string>',
customDescription: '<string>',
description: '<string>',
displayName: '<string>',
grantCount: '<string>',
id: '<string>',
matchBatonId: '<string>',
parentAppResourceId: '<string>',
parentAppResourceTypeId: '<string>',
secretTrait: {
createdByAppUserId: '<string>',
credentialDetail: '<string>',
identityAppUserId: '<string>',
lastUsedAt: '2023-11-07T05:31:56Z',
secretCreatedAt: '2023-11-07T05:31:56Z',
secretExpiresAt: '2023-11-07T05:31:56Z'
}
},
expandMask: {paths: ['<string>']},
updateMask: '<string>'
})
};
fetch('https://{tenantDomain}.conductor.one/api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{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/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{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([
'appResource' => [
'accessConfigId' => '<string>',
'agentTrait' => [
'identityAppUserId' => '<string>'
],
'annotations' => [
],
'appId' => '<string>',
'appResourceTypeId' => '<string>',
'customDescription' => '<string>',
'description' => '<string>',
'displayName' => '<string>',
'grantCount' => '<string>',
'id' => '<string>',
'matchBatonId' => '<string>',
'parentAppResourceId' => '<string>',
'parentAppResourceTypeId' => '<string>',
'secretTrait' => [
'createdByAppUserId' => '<string>',
'credentialDetail' => '<string>',
'identityAppUserId' => '<string>',
'lastUsedAt' => '2023-11-07T05:31:56Z',
'secretCreatedAt' => '2023-11-07T05:31:56Z',
'secretExpiresAt' => '2023-11-07T05:31:56Z'
]
],
'expandMask' => [
'paths' => [
'<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/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"appResource\": {\n \"accessConfigId\": \"<string>\",\n \"agentTrait\": {\n \"identityAppUserId\": \"<string>\"\n },\n \"annotations\": {},\n \"appId\": \"<string>\",\n \"appResourceTypeId\": \"<string>\",\n \"customDescription\": \"<string>\",\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"grantCount\": \"<string>\",\n \"id\": \"<string>\",\n \"matchBatonId\": \"<string>\",\n \"parentAppResourceId\": \"<string>\",\n \"parentAppResourceTypeId\": \"<string>\",\n \"secretTrait\": {\n \"createdByAppUserId\": \"<string>\",\n \"credentialDetail\": \"<string>\",\n \"identityAppUserId\": \"<string>\",\n \"lastUsedAt\": \"2023-11-07T05:31:56Z\",\n \"secretCreatedAt\": \"2023-11-07T05:31:56Z\",\n \"secretExpiresAt\": \"2023-11-07T05:31:56Z\"\n }\n },\n \"expandMask\": {\n \"paths\": [\n \"<string>\"\n ]\n },\n \"updateMask\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{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 \"appResource\": {\n \"accessConfigId\": \"<string>\",\n \"agentTrait\": {\n \"identityAppUserId\": \"<string>\"\n },\n \"annotations\": {},\n \"appId\": \"<string>\",\n \"appResourceTypeId\": \"<string>\",\n \"customDescription\": \"<string>\",\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"grantCount\": \"<string>\",\n \"id\": \"<string>\",\n \"matchBatonId\": \"<string>\",\n \"parentAppResourceId\": \"<string>\",\n \"parentAppResourceTypeId\": \"<string>\",\n \"secretTrait\": {\n \"createdByAppUserId\": \"<string>\",\n \"credentialDetail\": \"<string>\",\n \"identityAppUserId\": \"<string>\",\n \"lastUsedAt\": \"2023-11-07T05:31:56Z\",\n \"secretCreatedAt\": \"2023-11-07T05:31:56Z\",\n \"secretExpiresAt\": \"2023-11-07T05:31:56Z\"\n }\n },\n \"expandMask\": {\n \"paths\": [\n \"<string>\"\n ]\n },\n \"updateMask\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"appResourceView": {
"appPath": "<string>",
"appResource": {
"accessConfigId": "<string>",
"agentTrait": {
"identityAppUserId": "<string>"
},
"annotations": {},
"appId": "<string>",
"appResourceTypeId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"customDescription": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"displayName": "<string>",
"externalId": "<string>",
"grantCount": "<string>",
"id": "<string>",
"matchBatonId": "<string>",
"nhiDetail": "<string>",
"parentAppResourceId": "<string>",
"parentAppResourceTypeId": "<string>",
"profile": {},
"secretTrait": {
"createdByAppUserId": "<string>",
"credentialDetail": "<string>",
"identityAppUserId": "<string>",
"lastUsedAt": "2023-11-07T05:31:56Z",
"secretCreatedAt": "2023-11-07T05:31:56Z",
"secretExpiresAt": "2023-11-07T05:31:56Z"
},
"updatedAt": "2023-11-07T05:31:56Z"
},
"objectPermissions": {
"delete": true,
"edit": true,
"extra": {},
"read": true
},
"parentResourcePath": "<string>",
"parentResourceTypePath": "<string>",
"resourceTypePath": "<string>"
},
"expanded": [
{
"@type": "<string>"
}
]
}Update
Update an app resource’s fields. Only the fields specified in the update mask are modified.
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.AppResource.Update(ctx, operations.C1APIAppV1AppResourceServiceUpdateRequest{
AppID: "<id>",
AppResourceTypeID: "<id>",
ID: "<id>",
})
if err != nil {
log.Fatal(err)
}
if res.AppResourceServiceUpdateResponse != 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.appResource.update({
appId: "<id>",
appResourceTypeId: "<id>",
id: "<id>",
});
console.log(result);
}
run();curl --request POST \
--url https://{tenantDomain}.conductor.one/api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"appResource": {
"accessConfigId": "<string>",
"agentTrait": {
"identityAppUserId": "<string>"
},
"annotations": {},
"appId": "<string>",
"appResourceTypeId": "<string>",
"customDescription": "<string>",
"description": "<string>",
"displayName": "<string>",
"grantCount": "<string>",
"id": "<string>",
"matchBatonId": "<string>",
"parentAppResourceId": "<string>",
"parentAppResourceTypeId": "<string>",
"secretTrait": {
"createdByAppUserId": "<string>",
"credentialDetail": "<string>",
"identityAppUserId": "<string>",
"lastUsedAt": "2023-11-07T05:31:56Z",
"secretCreatedAt": "2023-11-07T05:31:56Z",
"secretExpiresAt": "2023-11-07T05:31:56Z"
}
},
"expandMask": {
"paths": [
"<string>"
]
},
"updateMask": "<string>"
}
'import requests
url = "https://{tenantDomain}.conductor.one/api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{id}"
payload = {
"appResource": {
"accessConfigId": "<string>",
"agentTrait": { "identityAppUserId": "<string>" },
"annotations": {},
"appId": "<string>",
"appResourceTypeId": "<string>",
"customDescription": "<string>",
"description": "<string>",
"displayName": "<string>",
"grantCount": "<string>",
"id": "<string>",
"matchBatonId": "<string>",
"parentAppResourceId": "<string>",
"parentAppResourceTypeId": "<string>",
"secretTrait": {
"createdByAppUserId": "<string>",
"credentialDetail": "<string>",
"identityAppUserId": "<string>",
"lastUsedAt": "2023-11-07T05:31:56Z",
"secretCreatedAt": "2023-11-07T05:31:56Z",
"secretExpiresAt": "2023-11-07T05:31:56Z"
}
},
"expandMask": { "paths": ["<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({
appResource: {
accessConfigId: '<string>',
agentTrait: {identityAppUserId: '<string>'},
annotations: {},
appId: '<string>',
appResourceTypeId: '<string>',
customDescription: '<string>',
description: '<string>',
displayName: '<string>',
grantCount: '<string>',
id: '<string>',
matchBatonId: '<string>',
parentAppResourceId: '<string>',
parentAppResourceTypeId: '<string>',
secretTrait: {
createdByAppUserId: '<string>',
credentialDetail: '<string>',
identityAppUserId: '<string>',
lastUsedAt: '2023-11-07T05:31:56Z',
secretCreatedAt: '2023-11-07T05:31:56Z',
secretExpiresAt: '2023-11-07T05:31:56Z'
}
},
expandMask: {paths: ['<string>']},
updateMask: '<string>'
})
};
fetch('https://{tenantDomain}.conductor.one/api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{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/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{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([
'appResource' => [
'accessConfigId' => '<string>',
'agentTrait' => [
'identityAppUserId' => '<string>'
],
'annotations' => [
],
'appId' => '<string>',
'appResourceTypeId' => '<string>',
'customDescription' => '<string>',
'description' => '<string>',
'displayName' => '<string>',
'grantCount' => '<string>',
'id' => '<string>',
'matchBatonId' => '<string>',
'parentAppResourceId' => '<string>',
'parentAppResourceTypeId' => '<string>',
'secretTrait' => [
'createdByAppUserId' => '<string>',
'credentialDetail' => '<string>',
'identityAppUserId' => '<string>',
'lastUsedAt' => '2023-11-07T05:31:56Z',
'secretCreatedAt' => '2023-11-07T05:31:56Z',
'secretExpiresAt' => '2023-11-07T05:31:56Z'
]
],
'expandMask' => [
'paths' => [
'<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/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"appResource\": {\n \"accessConfigId\": \"<string>\",\n \"agentTrait\": {\n \"identityAppUserId\": \"<string>\"\n },\n \"annotations\": {},\n \"appId\": \"<string>\",\n \"appResourceTypeId\": \"<string>\",\n \"customDescription\": \"<string>\",\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"grantCount\": \"<string>\",\n \"id\": \"<string>\",\n \"matchBatonId\": \"<string>\",\n \"parentAppResourceId\": \"<string>\",\n \"parentAppResourceTypeId\": \"<string>\",\n \"secretTrait\": {\n \"createdByAppUserId\": \"<string>\",\n \"credentialDetail\": \"<string>\",\n \"identityAppUserId\": \"<string>\",\n \"lastUsedAt\": \"2023-11-07T05:31:56Z\",\n \"secretCreatedAt\": \"2023-11-07T05:31:56Z\",\n \"secretExpiresAt\": \"2023-11-07T05:31:56Z\"\n }\n },\n \"expandMask\": {\n \"paths\": [\n \"<string>\"\n ]\n },\n \"updateMask\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenantDomain}.conductor.one/api/v1/apps/{app_id}/resource_types/{app_resource_type_id}/resources/{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 \"appResource\": {\n \"accessConfigId\": \"<string>\",\n \"agentTrait\": {\n \"identityAppUserId\": \"<string>\"\n },\n \"annotations\": {},\n \"appId\": \"<string>\",\n \"appResourceTypeId\": \"<string>\",\n \"customDescription\": \"<string>\",\n \"description\": \"<string>\",\n \"displayName\": \"<string>\",\n \"grantCount\": \"<string>\",\n \"id\": \"<string>\",\n \"matchBatonId\": \"<string>\",\n \"parentAppResourceId\": \"<string>\",\n \"parentAppResourceTypeId\": \"<string>\",\n \"secretTrait\": {\n \"createdByAppUserId\": \"<string>\",\n \"credentialDetail\": \"<string>\",\n \"identityAppUserId\": \"<string>\",\n \"lastUsedAt\": \"2023-11-07T05:31:56Z\",\n \"secretCreatedAt\": \"2023-11-07T05:31:56Z\",\n \"secretExpiresAt\": \"2023-11-07T05:31:56Z\"\n }\n },\n \"expandMask\": {\n \"paths\": [\n \"<string>\"\n ]\n },\n \"updateMask\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"appResourceView": {
"appPath": "<string>",
"appResource": {
"accessConfigId": "<string>",
"agentTrait": {
"identityAppUserId": "<string>"
},
"annotations": {},
"appId": "<string>",
"appResourceTypeId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"customDescription": "<string>",
"deletedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"displayName": "<string>",
"externalId": "<string>",
"grantCount": "<string>",
"id": "<string>",
"matchBatonId": "<string>",
"nhiDetail": "<string>",
"parentAppResourceId": "<string>",
"parentAppResourceTypeId": "<string>",
"profile": {},
"secretTrait": {
"createdByAppUserId": "<string>",
"credentialDetail": "<string>",
"identityAppUserId": "<string>",
"lastUsedAt": "2023-11-07T05:31:56Z",
"secretCreatedAt": "2023-11-07T05:31:56Z",
"secretExpiresAt": "2023-11-07T05:31:56Z"
},
"updatedAt": "2023-11-07T05:31:56Z"
},
"objectPermissions": {
"delete": true,
"edit": true,
"extra": {},
"read": true
},
"parentResourcePath": "<string>",
"parentResourceTypePath": "<string>",
"resourceTypePath": "<string>"
},
"expanded": [
{
"@type": "<string>"
}
]
}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 app that this resource belongs to.
The resource type that this resource is.
The id of the resource.
Body
The request message for updating an app resource.
The app resource message is a single resource that can have entitlements.
This message contains a oneof named metadata. Only a single field of the following list may be set at a time:
- secretTrait
Show child attributes
Show child attributes
The app resource expand mask lets you get information about related objects from the request.
Show child attributes
Show child attributes
Response
The response message for updating an app resource.
The response message for updating an app resource.
The app resource view returns an app resource with paths for items in the expand mask filled in when this response is returned and a request expand mask has "*" or "app_id" or "resource_type_id".
Show child attributes
Show child attributes
List of serialized related objects.
Show child attributes
Show child attributes
Was this page helpful?