Create webhook
Request
Content type: application/json · required
| Field | Type | Required | Description |
|---|---|---|---|
url |
string (uri) | Yes | — |
events |
array of string | No | Event types this endpoint subscribes to; an empty array means all events. |
curl -X POST "$MONICHEK_API/webhook-endpoints" \
-H "Authorization: Bearer $MONICHEK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com",
"events": [
"string"
]
}'const res = await fetch(`${MONICHEK_API}/webhook-endpoints`, {
method: "POST",
headers: {
Authorization: `Bearer ${MONICHEK_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"url": "https://example.com",
"events": [
"string"
]
}),
});
const data = await res.json();import os
import requests
res = requests.post(
f"{os.environ['MONICHEK_API']}/webhook-endpoints",
headers={"Authorization": f"Bearer {os.environ['MONICHEK_API_KEY']}"},
json={
"url": "https://example.com",
"events": [
"string"
]
},
)
print(res.json())$ch = curl_init(getenv('MONICHEK_API') . '/webhook-endpoints');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . getenv('MONICHEK_API_KEY'),
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'url' => 'https://example.com',
'events' => [
'string',
],
]),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;Responses
201 Created
endpoint with once-only signing secret
application/json
{
"object": "webhook_endpoint",
"id": "wh_01M3R...",
"secret": "whsec_..."
}Error responses
| Status | Meaning | Body |
|---|---|---|
| 401 | Unauthorized | RFC 9457 problem |
| 422 | Unprocessable Entity | RFC 9457 problem |
Errors use the RFC 9457 problem format with a stable code.