Skip to main content
POST
/
api
/
v1
/
webhooks
Create
package main

import(
	"context"
	"github.com/conductorone/conductorone-sdk-go/pkg/models/shared"
	conductoronesdkgo "github.com/conductorone/conductorone-sdk-go"
	"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.Webhooks.Create(ctx, nil)
    if err != nil {
        log.Fatal(err)
    }
    if res.WebhooksServiceCreateResponse != 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.webhooks.create();

  console.log(result);
}

run();
curl --request POST \
  --url https://{tenantDomain}.conductor.one/api/v1/webhooks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "displayName": "<string>",
  "url": "<string>",
  "callbackTimeout": "<string>",
  "description": "<string>"
}
'
import requests

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

payload = {
    "displayName": "<string>",
    "url": "<string>",
    "callbackTimeout": "<string>",
    "description": "<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({
    displayName: '<string>',
    url: '<string>',
    callbackTimeout: '<string>',
    description: '<string>'
  })
};

fetch('https://{tenantDomain}.conductor.one/api/v1/webhooks', 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/webhooks",
  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([
    'displayName' => '<string>',
    'url' => '<string>',
    'callbackTimeout' => '<string>',
    'description' => '<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/webhooks")
  .header("Authorization", "Bearer <token>")
  .header("Content-Type", "application/json")
  .body("{\n  \"displayName\": \"<string>\",\n  \"url\": \"<string>\",\n  \"callbackTimeout\": \"<string>\",\n  \"description\": \"<string>\"\n}")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://{tenantDomain}.conductor.one/api/v1/webhooks")

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  \"displayName\": \"<string>\",\n  \"url\": \"<string>\",\n  \"callbackTimeout\": \"<string>\",\n  \"description\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "webhook": {
    "callbackTimeout": "<string>",
    "createdAt": "2023-11-07T05:31:56Z",
    "deletedAt": "2023-11-07T05:31:56Z",
    "description": "<string>",
    "displayName": "<string>",
    "id": "<string>",
    "updatedAt": "2023-11-07T05:31:56Z",
    "url": "<string>"
  }
}

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.

Body

application/json

The WebhooksServiceCreateRequest message.

displayName
string | null
required

The human-readable name for the new webhook.

url
string | null
required

The destination URL that will receive event notification HTTP callbacks.

callbackTimeout
string<duration> | null
description
string | null

An optional description of the webhook's purpose.

Response

200 - application/json

Successful response

The WebhooksServiceCreateResponse message.

webhook
Webhook · object | null

The Webhook message.