مرجع عام

Webhooks

كل نقاط النهاية في هذه المجموعة. افتح أي واحدة لعرض معاملاتها ومثال عملي عليها.

9 نقاط النهاية

اعرض الصفحة بصيغة Markdown

Webhooks

9
GET /api/v1/admin/webhooks/deliveries Read the delivery log prm_notifications_manage

One page of delivery attempts, newest first, without the payload bodies. This is where you diagnose an integration that is not receiving events.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_notifications_manage Manage notification channels & templates

failed and dead are different. failed means it will be retried, and next_attempt_at says when; dead means the attempt budget is spent and nothing further will happen without a replay. An integration that went quiet has rows in dead, not failed.

المعاملات

المعامل الوصف
filter[endpoint_id] query · integer Narrow to one endpoint. Also accepted as a bare endpoint_id parameter.
filter[state] query · enum queued, sending, sent, failed or dead. An unknown value is a 400.
sort query · string queued_at, state, attempts or id. Defaults to queued_at descending.
الاستجابة 200 OK
{
  "data": [
    {
      "id": 77120,
      "endpoint_id": 4,
      "event_type": "user.created",
      "state": "failed",
      "attempts": 3,
      "max_attempts": 6,
      "response_code": 502,
      "response_ms": 1204,
      "last_error": "upstream returned 502",
      "url": "https://hooks.acme.example/xradius",
      "queued_at": "2026-09-20 09:00:00",
      "sent_at": "2026-09-20 09:04:11",
      "next_attempt_at": "2026-09-20 09:20:00"
    }
  ],
  "meta": { "page": 1, "page_size": 50, "total": 4102, "has_next": true }
}
POST /api/v1/admin/webhooks/deliveries/{id}/replay Replay a delivery prm_notifications_manage

Re-queues a past delivery, which is how a dead one is recovered after the receiving side is fixed.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_notifications_manage Manage notification channels & templates
حد المعدل
t_egress

Your receiver will see the same event twice if the original eventually landed. Webhook receivers have to be idempotent on the event id; this endpoint is one of the reasons why.

المعاملات

المعامل الوصف
idمطلوب path · integer Delivery id.
GET /api/v1/admin/webhooks/endpoints List webhook endpoints prm_notifications_manage

Every configured endpoint for the tenant, with its subscription set. Un-paginated: the whole set is page 1 and has_next is always false.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_notifications_manage Manage notification channels & templates
الاستجابة 200 OK
{
  "data": [
    {
      "id": 4,
      "name": "billing-sync",
      "url": "https://hooks.acme.example/xradius",
      "events": ["user.created", "user.disconnected"],
      "all_events": false,
      "enabled": true,
      "created_at": "2026-06-11 14:20:00",
      "updated_at": "2026-09-02 08:31:12"
    }
  ],
  "meta": { "page": 1, "page_size": 1, "total": 1, "has_next": false }
}
POST /api/v1/admin/webhooks/endpoints Create a webhook endpoint prm_notifications_manage

Registers a URL and the events it should receive. Set all_events to subscribe to everything, present and future, instead of naming keys.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_notifications_manage Manage notification channels & templates
حد المعدل
t_mutate

Answers 200, not 201, despite creating a record. Do not gate your client on the status code here.

المعاملات

المعامل الوصف
nameمطلوب body · string A label for the endpoint.
urlمطلوب body · string Where deliveries are POSTed. Validated on save.
events body · array Event keys from the catalogue. Ignored when all_events is true.
all_events body · boolean Subscribe to every event, including ones added in later releases.
enabled body · boolean Defaults to true on create.
POST /api/v1/admin/webhooks/endpoints/bulk-delete Manage notification channels & templates prm_notifications_manage
المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_notifications_manage Manage notification channels & templates
حد المعدل
t_mutate

مقروء مباشرة من الموجّه الذي يخدم هذه النسخة. لم يُضَف بعد وصف مكتوب لنقطة النهاية هذه.

DELETE /api/v1/admin/webhooks/endpoints/{id} Delete a webhook endpoint prm_notifications_manage

Removes the endpoint. Queued deliveries for it stop.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_notifications_manage Manage notification channels & templates
حد المعدل
t_mutate

المعاملات

المعامل الوصف
idمطلوب path · integer Endpoint id.
PATCH /api/v1/admin/webhooks/endpoints/{id} Update a webhook endpoint prm_notifications_manage

Replaces name, url, events and all_events outright, and patches enabled only when it is present. Send the full object, because a missing events array clears the subscription rather than leaving it alone.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_notifications_manage Manage notification channels & templates
حد المعدل
t_mutate

This is a PATCH that behaves as a replace for four of its five fields. An update that sends only url wipes the events list.

المعاملات

المعامل الوصف
idمطلوب path · integer Endpoint id.
POST /api/v1/admin/webhooks/endpoints/{id}/test Send a test delivery prm_notifications_manage

Queues one synthetic delivery to the endpoint and returns its id so you can follow it in the log.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_notifications_manage Manage notification channels & templates
حد المعدل
t_egress

The delivery is QUEUED, not sent. A 200 here says the job was created, not that your endpoint answered. Poll the delivery log for the outcome. It is also on the per-tenant egress budget, which is 5 a minute on a standard licence.

المعاملات

المعامل الوصف
idمطلوب path · integer Endpoint id.
الاستجابة 200 OK
{
  "data": { "delivery_id": 77120 }
}
GET /api/v1/admin/webhooks/event-catalog List subscribable event keys prm_notifications_manage

Every event an endpoint may subscribe to, with its category. The create and update endpoints validate the events array against exactly this set, so read it before writing one. Static for the life of the release, so fetch it once and cache it.

المصادقة
رمز موظّف أو جلسة
تتطلب صلاحية
prm_notifications_manage Manage notification channels & templates
الاستجابة 200 OK
{
  "data": [
    { "key": "user.created", "category": "lifecycle" },
    { "key": "user.disconnected", "category": "lifecycle" },
    { "key": "usage.threshold", "category": "usage" }
  ],
  "meta": { "page": 1, "page_size": 3, "total": 3, "has_next": false }
}

مكتوب لتقرأه الأدوات الآلية أيضًا

المرجع عام ولا يتطلب حسابًا، فتستطيع أداة لم تَرَ X-Radius من قبل أن تصل إلى أول استدعاء صحيح بنفسها.

/llms.txt
فهرس لكل صفحة، مع ملخّص من سطر واحد.
/llms-full.txt
المرجع كاملًا في ملف Markdown واحد، دون تنقّل يحتاج إلى زحف.
/openapi.json
‏OpenAPI 3.1، مُولَّد من الموجّه الذي يخدم هذه النسخة.
/skill.md
ملف مهارة جاهز لمساعد آلي: المصادقة وشكل الاستجابة ورموز الأخطاء في صفحة واحدة.
<page-url>.md
أضف ‎.md إلى رابط أي صفحة في المرجع لتحصل على الصفحة نفسها بصيغة Markdown.
Accept: text/markdown
أرسل هذه الترويسة على الرابط المعتاد فتصلك الإجابة بصيغة Markdown بدلًا من الصفحة.
سلّم هذا السطر إلى مساعدك الآلي
اقرأ https://x-radius.com/llms.txt، ثم اجلب نقطة النهاية التي تحتاجها بصيغة Markdown بإضافة ‎.md إلى رابطها.

جرّبه على شبكتك.

50 مشترك لمدة 7 أيام، من غير ما تدفع حاجة.