Skip to main content
POST
/
api
/
v1
/
mgt
/
workspaces
/
{workspaceId}
/
webhook-subscriptions
Create Webhook Subscription
curl --request POST \
  --url https://api.xenia.team/api/v1/mgt/workspaces/{workspaceId}/webhook-subscriptions \
  --header 'Content-Type: application/json' \
  --header 'x-client-key: <api-key>' \
  --header 'x-client-secret: <api-key>' \
  --data '
{
  "name": "Production Task Notifications",
  "url": "https://api.yourapp.com/webhooks/xenia",
  "events": [
    "task.status_changed",
    "submission.submitted"
  ],
  "description": "Webhook for production environment",
  "rateLimit": 100
}
'
{
  "status": true,
  "code": 201,
  "data": {
    "id": "sub_abc123",
    "name": "Production Task Notifications",
    "url": "https://api.yourapp.com/webhooks/xenia",
    "events": [
      "task.status_changed",
      "submission.submitted"
    ],
    "secret": "a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd",
    "isActive": true,
    "rateLimit": 100,
    "createdAt": "2024-12-23T10:00:00Z"
  }
}

Authorizations

x-client-key
string
header
required
x-client-secret
string
header
required

Path Parameters

workspaceId
string<uuid>
required

Workspace ID

Body

application/json
name
string
required

Subscription name

Maximum string length: 255
url
string<uri>
required

HTTPS URL to receive webhooks

Maximum string length: 2048
events
string[]
required

Event types to subscribe to

Required array length: 1 - 50 elements
description
string

Optional description

Maximum string length: 2000
rateLimit
integer
default:100

Requests per minute limit

Required range: 1 <= x <= 1000
metadata
object

Custom key-value metadata

Response

Subscription created successfully

status
boolean
code
integer
data
object