توثيقِ شناخت
ایک API کلید بطور بیر ٹوکن (bearer token) ارسال کریں۔ یہ اینڈ پوائنٹ اسپیسیفیکیشن میں کسی مخصوص اجازت کا ذکر نہیں کرتا، اس لیے فرض کرنے کے بجائے اپنی کلید کو کم از کم درکار اجازت دیں اور رسپانس چیک کریں۔
جہاں آپ کی تنظیم کی آئی ڈی آتی ہے
یہ اینڈ پوائنٹ org_id کو بطور کوئری پیرامیٹر لیتا ہے۔ اسے چھوڑ دیں اور کال آپ کے پورے ٹیننسی سب ٹری کا احاطہ کرے گی؛ کال کو کسی ایک آرگنائزیشن تک محدود کرنے کے لیے اسے بھیجیں۔
آپ کی تنظیم کی آئی ڈی آپ کے ڈیش بورڈ پر API کیز کی سکرین پر، خود کلید کے ساتھ موجود ہوتی ہے۔ یہ آپ کی کی جانے والی ہر کال میں ایک ہی آئی ڈی ہوتی ہے۔
آزمائیں
کوئی بھی چیز جو زاویہ دار قوسین میں ہو اسے اپنی اقدار سے بدلیں، اور کلیدی پلیس ہولڈر کو اپنے ڈیش بورڈ کی کسی کلید سے بدلیں۔
curl -X POST https://api.zinndigital.com/v1/notification-connections \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "kind": <string<email, slack, telegram, webhook>>, "label": <string>, "target": <string> }'لاگ ان ہیں؟ آپ کے ڈیش بورڈ میں موجود API کنسول آپ کی حقیقی تنظیم کی آئی ڈی اور آپ کی اپنی کلید خود بخود پُر کر دیتا ہے، اور لائیو API پر درخواست چلاتا ہے تاکہ آپ اصل ردعمل دیکھ سکیں۔ اس اینڈ پوائنٹ کو API کنسول میں کھولیں
تفصیلات
Adds a destination. Many of the same kind are supported and expected - two Telegram chats, three Slack channels, an accountant's e-mail that belongs to no platform user. A new connection is NOT usable until it has been verified: it must send a real test message first. A destination that has only been typed correctly has not been shown to work, and this whole surface exists because two channels sat configured and silent.
پیرامیٹرز
| نام | قسم | لازمی | یہ کیا ہے |
|---|---|---|---|
org_id (query) | string | نہیں | The organization to act on. Omitted resolves to your own ONLY when you belong to exactly one organisation; a principal in more than one must name it, or the call is refused `422… |
درخواست کا باڈی
| نام | قسم | لازمی | یہ کیا ہے |
|---|---|---|---|
kind | string<email, slack, telegram, webhook> | ہاں | SMS and push are deliberately absent - both were rejected. Offering a kind nobody can use is a placeholder with a dropdown. |
label | string | ہاں | — |
target | string | ہاں | The NON-secret half - an address, a channel name, a chat id. |
credential | string | نہیں | The credential itself - a Slack incoming-webhook URL, or a Telegram bot token. Required for those two kinds and refused for the others: a webhook's signing secret is ours to min… |
personal | boolean | نہیں | true = this is MY destination and only my own matrix addresses it. The owning user is the authenticated principal, never a value in this body. |
جواب
| نام | قسم | لازمی | یہ کیا ہے |
|---|---|---|---|
id | string | نہیں | — |
kind | string<email, slack, telegram, webhook> | نہیں | — |
label | string | نہیں | — |
target | string | نہیں | — |
personal | boolean | نہیں | — |
verified | boolean | نہیں | Until this is true nothing is routed here. For a machine destination it becomes true when a real test message has been delivered; for an e-mail address it becomes true only when… |
verified_at | string | نہیں | — |
checked_at | string | نہیں | When we last managed to LOOK, as against `verified_at` which is when we last PROVED it works. One field cannot answer both: without the pair, "we have not been able to reach you… |
awaiting_confirmation | boolean | نہیں | An e-mail destination that has been sent its confirmation link and is waiting for the recipient. Neither verified nor failed - a third state, and showing it as "not verified" ma… |
verify_error | string | نہیں | — |
verify_error_code | string<their_endpoint_refused, their_endpoint_unreachable, their_credential_rejected, their_recipient_refused, not_configured, our_fault, could_not_check, > | نہیں | The TRANSLATABLE half of `verify_error`. That sentence is authored English and this payload is rendered in 57 other languages, so a German customer was shown a translated wrappe… |
health | string<healthy, idle, failing, unverified> | نہیں | ⚖️ Owner, 2026-09-03 - *"can you get something to check that is set up and working properly please"*. `verified` answers *did this EVER work*; this answers *is it working NOW*,… |
last_delivery_at | string | نہیں | When a real notification was last DELIVERED here, as against verified. |
last_failure_at | string | نہیں | — |
last_delivery_error | string | نہیں | Why the last delivery failed, in copy WE authored, chosen from a closed table by what failed and where it was going (`engine.notifications.failure_copy`). It is never the provid… |
last_delivery_error_code | string<their_endpoint_refused, their_endpoint_unreachable, their_credential_rejected, their_recipient_refused, not_configured, our_fault, could_not_check, > | نہیں | The translatable half of `last_delivery_error`, on the same contract as `verify_error_code`. Classified by the adapter at the seam that knew what happened, never re-derived down… |
consecutive_failures | integer | نہیں | Reset to 0 by any success, so a destination that recovers stops reporting itself broken with nobody pressing anything. `failing` is three in a row - one `502` from somebody's ow… |
signing_secret | string | نہیں | Webhook destinations only, and returned ONCE on create. Use it to verify the `X-Zinn-Signature` header. There is no endpoint that will show it again - one would turn a read of t… |
signing_secret_notice | string | نہیں | — |
routes | object | نہیں | The FULL grid for this connection, one boolean per notification topic. |