Skip to main content
POST
/
hooks
Create Hook
curl --request POST \
  --url https://api.crosoftware.com/v0/hooks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-tenant-id: <x-tenant-id>' \
  --data '
{
  "events": [
    "<string>"
  ],
  "url": "<string>",
  "secret": "<string>"
}
'
import requests

url = "https://api.crosoftware.com/v0/hooks"

payload = {
"events": ["<string>"],
"url": "<string>",
"secret": "<string>"
}
headers = {
"x-tenant-id": "<x-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {
'x-tenant-id': '<x-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({events: ['<string>'], url: '<string>', secret: '<string>'})
};

fetch('https://api.crosoftware.com/v0/hooks', 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.crosoftware.com/v0/hooks",
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([
'events' => [
'<string>'
],
'url' => '<string>',
'secret' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-tenant-id: <x-tenant-id>"
],
]);

$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.crosoftware.com/v0/hooks"

payload := strings.NewReader("{\n \"events\": [\n \"<string>\"\n ],\n \"url\": \"<string>\",\n \"secret\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("x-tenant-id", "<x-tenant-id>")
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.crosoftware.com/v0/hooks")
.header("x-tenant-id", "<x-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"events\": [\n \"<string>\"\n ],\n \"url\": \"<string>\",\n \"secret\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.crosoftware.com/v0/hooks")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-tenant-id"] = '<x-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"events\": [\n \"<string>\"\n ],\n \"url\": \"<string>\",\n \"secret\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "deleted_at": "2023-11-07T05:31:56Z",
  "events": [
    "<string>"
  ],
  "id": 123,
  "last_http_fail": "2023-11-07T05:31:56Z",
  "last_http_success": "2023-11-07T05:31:56Z",
  "url": "<string>",
  "secret": "<string>"
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

x-api-version
string

Version identifier (date format).

x-tenant-id
integer<int64>
required

Tenant identifier. Contact CRO Software for more info if you don't already have this id. See list tenant ids for info on listing the tenants you have access to.

Body

application/json

Create webhook model.

events
string[]
required

Hook event.

url
string
required

Callback URL.

secret
string

Response body HMAC signing key.

Response

200 - application/json

Success

Webhook model.

deleted_at
string<date-time>
required

Denial date.

events
string[]
required

Hook event.

id
integer<int64>
required

Resource identifier.

last_http_fail
string<date-time>
required

Last time of url webhook execution failure.

last_http_success
string<date-time>
required

Last time of url webhook execution success.

url
string
required

Callback URL.

secret
string

Response body HMAC signing key.