Перейти до вмісту

Підписки на вебхуки

Manage outbound webhook subscriptions. exoCortex POSTs a signed JSON event to your HTTPS endpoint whenever a subscribed event occurs (see Webhooks). These endpoints require an administrator session (Core → Integrations → Webhooks uses the same API).

GET /api/webhooks/{tenant}/subscriptions

Автентифікація: Сесія адміністратора exoCortex Core

Назва Де Тип Обов’язковий Опис
tenant шлях string так Tenant code (case-insensitive).
Статус Опис
200 Subscriptions of the tenant (secrets are masked).
401 Not authenticated.
403 Authenticated but not allowed (role, tenant or key).

Приклад 200

{
"ok": true,
"hooks": [
{
"id": "wh_mhf2k1a9x3",
"url": "https://hooks.example.com/exocortex",
"events": [
"ticket.created",
"ticket.status_changed"
],
"format": "json",
"enabled": true,
"headers": {},
"secret": "***set***",
"created_at": "2026-11-01T08:00:00.000Z",
"created_by": "jane.doe"
}
]
}
Finestra del terminale
curl -X GET "https://exocortex-api.ai-exo-cortex.com/api/webhooks/ACME/subscriptions" \
-H "Authorization: Bearer $EXO_ADMIN_SESSION"

Створити або змінити підписку

Section titled “Створити або змінити підписку”

POST /api/webhooks/{tenant}/subscriptions

Without id, this creates a new subscription. With id, it updates that subscription. If you don’t send a secret on creation, exoCortex generates one and returns it once in the secret response field. Store it to verify signatures.

Автентифікація: Сесія адміністратора exoCortex Core

Назва Де Тип Обов’язковий Опис
tenant шлях string так Tenant code (case-insensitive).

application/json

Назва Тип Обов’язковий Опис
id string ні Send it to update an existing subscription. Omit it to create one.
url string (uri) так HTTPS endpoint that receives the events.
events array<string> ні Event types to receive. * means all. Defaults to ["*"]. Besides the ticket catalog, notification-center events defined by the tenant’s notification rules (for example approval_requested) can be subscribed by name.
format string (json, datadog, pagerduty, slack-block) ні
secret string ні Signing secret. Generated if omitted on creation.
enabled boolean ні
headers object ні Extra static headers added to every delivery (for example an auth header for your gateway).
{
"url": "https://hooks.example.com/exocortex",
"events": [
"ticket.created",
"ticket.status_changed",
"ticket.resolved"
],
"format": "json"
}
Статус Опис
200 Subscription saved.
400 Invalid request.
401 Not authenticated.
403 Authenticated but not allowed (role, tenant or key).

Приклад 200

{
"ok": true,
"id": "wh_mhf2k1a9x3",
"count": 1,
"secret": "whsec_4b9e1f0c7d2a8e6b3c5f9a1d0e7b2c4a"
}
Finestra del terminale
curl -X POST "https://exocortex-api.ai-exo-cortex.com/api/webhooks/ACME/subscriptions" \
-H "Authorization: Bearer $EXO_ADMIN_SESSION" \
-H "Content-Type: application/json" \
--data '{"url":"https://hooks.example.com/exocortex","events":["ticket.created","ticket.status_changed","ticket.resolved"],"format":"json"}'

DELETE /api/webhooks/{tenant}/subscriptions/{id}

Автентифікація: Сесія адміністратора exoCortex Core

Назва Де Тип Обов’язковий Опис
tenant шлях string так Tenant code (case-insensitive).
id шлях string так
Статус Опис
200 Deleted (removed is 0 if the id did not exist).
401 Not authenticated.
403 Authenticated but not allowed (role, tenant or key).

Приклад 200

{
"ok": true,
"removed": 1
}
Finestra del terminale
curl -X DELETE "https://exocortex-api.ai-exo-cortex.com/api/webhooks/ACME/subscriptions/wh_mhf2k1a9x3" \
-H "Authorization: Bearer $EXO_ADMIN_SESSION"

Надіслати тестову подію

Section titled “Надіслати тестову подію”

POST /api/webhooks/{tenant}/subscriptions/{id}/test

Sends a signed webhook.test event to the subscription URL and reports the HTTP status returned by your endpoint.

Автентифікація: Сесія адміністратора exoCortex Core

Назва Де Тип Обов’язковий Опис
tenant шлях string так Tenant code (case-insensitive).
id шлях string так
Статус Опис
200 Delivery result (ok reflects your endpoint’s response).
401 Not authenticated.
403 Authenticated but not allowed (role, tenant or key).

Приклад 200

{
"ok": true,
"status": 204
}
Finestra del terminale
curl -X POST "https://exocortex-api.ai-exo-cortex.com/api/webhooks/ACME/subscriptions/wh_mhf2k1a9x3/test" \
-H "Authorization: Bearer $EXO_ADMIN_SESSION"

GET /api/webhooks/{tenant}/event-types

Автентифікація: Сесія адміністратора exoCortex Core

Назва Де Тип Обов’язковий Опис
tenant шлях string так Tenant code (case-insensitive).
Статус Опис
200 Event catalog.
401 Not authenticated.
403 Authenticated but not allowed (role, tenant or key).

Приклад 200

{
"ok": true,
"wildcard": "*",
"event_types": [
"ticket.created",
"ticket.comment_added",
"ticket.field_changed",
"ticket.assignee_changed",
"ticket.status_changed",
"ticket.sla_warning",
"ticket.sla_breach",
"ticket.resolved",
"ticket.closed",
"ticket.reopened",
"ticket.priority_changed",
"routing.no_match",
"routing.manual_routed",
"ticket.link_created",
"ticket.link_deleted"
]
}
Finestra del terminale
curl -X GET "https://exocortex-api.ai-exo-cortex.com/api/webhooks/ACME/event-types" \
-H "Authorization: Bearer $EXO_ADMIN_SESSION"

Сторінку згенеровано зі специфікації OpenAPI API інтеграції, версія 1.1.0.