TENANT API · V1
Create a webhook subscription Verified URL, allowed event types, permitted resource filters.
POST /api/v1/tenant/webhook-subscriptions
Authorization Use a server-side API key with the listed grants and permitted resource access.
Request body
urlstring · required Public HTTPS receiver. Ownership verification is required.
eventTypesarray · required The eventTypes values for this request.
enabledboolean · optional Whether the verified subscription should receive events. Response 201 Created
Returns the authorized resource or result for this operation. List results use items, nextCursor, and hasMore.
Behavior to account for Events are delivered at least once. Deduplicate by event ID, compare resource versions, and retain a replay cursor.
Errors Authentication failures return 401 or 403. Inaccessible resources return 404. Business and idempotency conflicts return 409. Rate limits return 429 with retry guidance.
Error handling guide REQUEST API key
curl --request POST 'https://api.wincora.com/api/v1/tenant/webhook-subscriptions' \
--header 'X-Api-Key: YOUR_API_KEY' \
--header 'Idempotency-Key: request-example-001' \
--header 'Content-Type: application/json' \
--data '{
"url": "https://your-app.example/webhooks/wincora",
"eventTypes": [
"case.action_required",
"deliverable.available"
],
"enabled": true
}' const response = await fetch ( 'https://api.wincora.com/api/v1/tenant/webhook-subscriptions' , {
method: 'POST' ,
headers: {
"X-Api-Key" : process.env. WINCORA_API_KEY ,
"Idempotency-Key" : "request-example-001" ,
"Content-Type" : "application/json"
},
body: JSON . stringify ({
"url" : "https://your-app.example/webhooks/wincora" ,
"eventTypes" : [
"case.action_required" ,
"deliverable.available"
],
"enabled" : true
})
});
if ( ! response.ok) throw new Error ( await response. text ());
const result = await response. json (); import os
import requests
response = requests.request(
'POST' ,
'https://api.wincora.com/api/v1/tenant/webhook-subscriptions' ,
headers = {
"X-Api-Key" : os.environ[ "WINCORA_API_KEY" ],
"Idempotency-Key" : "request-example-001" ,
"Content-Type" : "application/json"
},
json = {
"url" : "https://your-app.example/webhooks/wincora" ,
"eventTypes" : [
"case.action_required" ,
"deliverable.available"
],
"enabled" : True
},
timeout = 30 ,
)
response.raise_for_status()
result = response.json() Keep this API key on your server. Never embed it in browser or mobile code.