Skip to main content
POST
/
api
/
v1
/
hooks
/
{id}
Update
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.Hooks.Update(ctx, operations.C1APIHooksV1HooksServiceUpdateRequest{
        ID: "<id>",
    })
    if err != nil {
        log.Fatal(err)
    }
    if res.HooksServiceUpdateResponse != 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.hooks.update({
    id: "<id>",
  });

  console.log(result);
}

run();
curl --request POST \
  --url https://{tenantDomain}.conductor.one/api/v1/hooks/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "hook": {
    "builtinPattern": {
      "creditCardBlocking": {},
      "piiRedaction": {
        "redactFields": [
          "<string>"
        ],
        "replacement": "<string>"
      },
      "queryScopeLimit": {
        "fields": [
          "<string>"
        ],
        "maxLimit": 123
      },
      "sensitiveFileGuard": {
        "blockedDirectories": [
          "<string>"
        ],
        "blockedPatterns": [
          "<string>"
        ]
      },
      "writeAuthorization": {
        "blockedClassifications": [],
        "businessHours": {
          "days": [
            123
          ],
          "end": "<string>",
          "start": "<string>",
          "timezone": "<string>"
        }
      }
    },
    "description": "<string>",
    "displayName": "<string>",
    "enabled": true,
    "filter": {
      "celExpression": "<string>"
    },
    "function": {
      "commitId": "<string>",
      "functionId": "<string>"
    },
    "id": "<string>",
    "priority": 123
  },
  "updateMask": "<string>"
}
'
import requests

url = "https://{tenantDomain}.conductor.one/api/v1/hooks/{id}"

payload = {
    "hook": {
        "builtinPattern": {
            "creditCardBlocking": {},
            "piiRedaction": {
                "redactFields": ["<string>"],
                "replacement": "<string>"
            },
            "queryScopeLimit": {
                "fields": ["<string>"],
                "maxLimit": 123
            },
            "sensitiveFileGuard": {
                "blockedDirectories": ["<string>"],
                "blockedPatterns": ["<string>"]
            },
            "writeAuthorization": {
                "blockedClassifications": [],
                "businessHours": {
                    "days": [123],
                    "end": "<string>",
                    "start": "<string>",
                    "timezone": "<string>"
                }
            }
        },
        "description": "<string>",
        "displayName": "<string>",
        "enabled": True,
        "filter": { "celExpression": "<string>" },
        "function": {
            "commitId": "<string>",
            "functionId": "<string>"
        },
        "id": "<string>",
        "priority": 123
    },
    "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({
    hook: {
      builtinPattern: {
        creditCardBlocking: {},
        piiRedaction: {redactFields: ['<string>'], replacement: '<string>'},
        queryScopeLimit: {fields: ['<string>'], maxLimit: 123},
        sensitiveFileGuard: {blockedDirectories: ['<string>'], blockedPatterns: ['<string>']},
        writeAuthorization: {
          blockedClassifications: [],
          businessHours: {days: [123], end: '<string>', start: '<string>', timezone: '<string>'}
        }
      },
      description: '<string>',
      displayName: '<string>',
      enabled: true,
      filter: {celExpression: '<string>'},
      function: {commitId: '<string>', functionId: '<string>'},
      id: '<string>',
      priority: 123
    },
    updateMask: '<string>'
  })
};

fetch('https://{tenantDomain}.conductor.one/api/v1/hooks/{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/hooks/{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([
    'hook' => [
        'builtinPattern' => [
                'creditCardBlocking' => [
                                
                ],
                'piiRedaction' => [
                                'redactFields' => [
                                                                '<string>'
                                ],
                                'replacement' => '<string>'
                ],
                'queryScopeLimit' => [
                                'fields' => [
                                                                '<string>'
                                ],
                                'maxLimit' => 123
                ],
                'sensitiveFileGuard' => [
                                'blockedDirectories' => [
                                                                '<string>'
                                ],
                                'blockedPatterns' => [
                                                                '<string>'
                                ]
                ],
                'writeAuthorization' => [
                                'blockedClassifications' => [
                                                                
                                ],
                                'businessHours' => [
                                                                'days' => [
                                                                                                                                123
                                                                ],
                                                                'end' => '<string>',
                                                                'start' => '<string>',
                                                                'timezone' => '<string>'
                                ]
                ]
        ],
        'description' => '<string>',
        'displayName' => '<string>',
        'enabled' => true,
        'filter' => [
                'celExpression' => '<string>'
        ],
        'function' => [
                'commitId' => '<string>',
                'functionId' => '<string>'
        ],
        'id' => '<string>',
        'priority' => 123
    ],
    '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/hooks/{id}")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"hook\": {\n    \"builtinPattern\": {\n      \"creditCardBlocking\": {},\n      \"piiRedaction\": {\n        \"redactFields\": [\n          \"<string>\"\n        ],\n        \"replacement\": \"<string>\"\n      },\n      \"queryScopeLimit\": {\n        \"fields\": [\n          \"<string>\"\n        ],\n        \"maxLimit\": 123\n      },\n      \"sensitiveFileGuard\": {\n        \"blockedDirectories\": [\n          \"<string>\"\n        ],\n        \"blockedPatterns\": [\n          \"<string>\"\n        ]\n      },\n      \"writeAuthorization\": {\n        \"blockedClassifications\": [],\n        \"businessHours\": {\n          \"days\": [\n            123\n          ],\n          \"end\": \"<string>\",\n          \"start\": \"<string>\",\n          \"timezone\": \"<string>\"\n        }\n      }\n    },\n    \"description\": \"<string>\",\n    \"displayName\": \"<string>\",\n    \"enabled\": true,\n    \"filter\": {\n      \"celExpression\": \"<string>\"\n    },\n    \"function\": {\n      \"commitId\": \"<string>\",\n      \"functionId\": \"<string>\"\n    },\n    \"id\": \"<string>\",\n    \"priority\": 123\n  },\n  \"updateMask\": \"<string>\"\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://{tenantDomain}.conductor.one/api/v1/hooks/{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  \"hook\": {\n    \"builtinPattern\": {\n      \"creditCardBlocking\": {},\n      \"piiRedaction\": {\n        \"redactFields\": [\n          \"<string>\"\n        ],\n        \"replacement\": \"<string>\"\n      },\n      \"queryScopeLimit\": {\n        \"fields\": [\n          \"<string>\"\n        ],\n        \"maxLimit\": 123\n      },\n      \"sensitiveFileGuard\": {\n        \"blockedDirectories\": [\n          \"<string>\"\n        ],\n        \"blockedPatterns\": [\n          \"<string>\"\n        ]\n      },\n      \"writeAuthorization\": {\n        \"blockedClassifications\": [],\n        \"businessHours\": {\n          \"days\": [\n            123\n          ],\n          \"end\": \"<string>\",\n          \"start\": \"<string>\",\n          \"timezone\": \"<string>\"\n        }\n      }\n    },\n    \"description\": \"<string>\",\n    \"displayName\": \"<string>\",\n    \"enabled\": true,\n    \"filter\": {\n      \"celExpression\": \"<string>\"\n    },\n    \"function\": {\n      \"commitId\": \"<string>\",\n      \"functionId\": \"<string>\"\n    },\n    \"id\": \"<string>\",\n    \"priority\": 123\n  },\n  \"updateMask\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "hook": {
    "builtinPattern": {
      "creditCardBlocking": {},
      "piiRedaction": {
        "redactFields": [
          "<string>"
        ],
        "replacement": "<string>"
      },
      "queryScopeLimit": {
        "fields": [
          "<string>"
        ],
        "maxLimit": 123
      },
      "sensitiveFileGuard": {
        "blockedDirectories": [
          "<string>"
        ],
        "blockedPatterns": [
          "<string>"
        ]
      },
      "writeAuthorization": {
        "blockedClassifications": [],
        "businessHours": {
          "days": [
            123
          ],
          "end": "<string>",
          "start": "<string>",
          "timezone": "<string>"
        }
      }
    },
    "createdAt": "2023-11-07T05:31:56Z",
    "description": "<string>",
    "displayName": "<string>",
    "enabled": true,
    "filter": {
      "celExpression": "<string>"
    },
    "function": {
      "commitId": "<string>",
      "functionId": "<string>"
    },
    "id": "<string>",
    "priority": 123,
    "updatedAt": "2023-11-07T05:31:56Z"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Authorization
string
header
required

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

id
string
required

The id field.

Body

application/json

The HooksServiceUpdateRequest message.

hook
Hook · object | null

Hook represents a customer-configured interception point for tool calls.

This message contains a oneof named hook_type. Only a single field of the following list may be set at a time:

  • function
  • builtinPattern
updateMask
string | null

Response

200 - application/json

Successful response

The HooksServiceUpdateResponse message.

hook
Hook · object | null

Hook represents a customer-configured interception point for tool calls.

This message contains a oneof named hook_type. Only a single field of the following list may be set at a time:

  • function
  • builtinPattern