notifications

POST /v1/notification-connections

Connect a destination.

Dukkan notifications wuraren ƙarshe

Tabbatar da Asali

Aiko da maɓallin API a matsayin bearer token. Wannan ma'anar ba ta bayyana takamaiman izini ba a cikin ƙayyadaddun bayanai, don haka ba wa maɓallin ku mafi ƙarancin abin da yake buƙata kuma ku bincika amsar maimakon yin zato.

Inda ID ɗin kungiyar ku ke zuwa

Wannan mahadar ta na daukar org_id a matsayin sigar tambaya. Bar shi kuma kiran zai shafi daukacin rukunin haya naka; aika shi don takaita kiran zuwa kungiya daya tak.

Ana samun lambar kungiyar ku a kan shafin maɓallan API a cikin madanninku, kusa da maɓallin kansa. Shi ne lambar da ta dace a kowane kiran da kuka yi.

Gwada

May gurbin komai da ke cikin kusurwa da ƙimar ka, kuma may gurbin maballi da maballi daga allon sarrafa ka.

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> }'

An shiga? Na'urar sarrafa API da ke cikin sashin kulawarka tana cika ainihin lambar ƙungiyarka da maɓallinka naka, sannan tana gudanar da buƙatar a kan ainihin API don haka zaka iya ganin amsar gaske. Buɗe wannan tashar a cikin na'urar kula da API

Bayani

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.

Sigogi

SunaNau'iAna buƙataAbin da yake
org_id (query)stringA'aThe 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…

Jikin buƙata

SunaNau'iAna buƙataAbin da yake
kindstring<email, slack, telegram, webhook>EhSMS and push are deliberately absent - both were rejected. Offering a kind nobody can use is a placeholder with a dropdown.
labelstringEh
targetstringEhThe NON-secret half - an address, a channel name, a chat id.
credentialstringA'aThe 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…
personalbooleanA'atrue = this is MY destination and only my own matrix addresses it. The owning user is the authenticated principal, never a value in this body.

Martani

SunaNau'iAna buƙataAbin da yake
idstringA'a
kindstring<email, slack, telegram, webhook>A'a
labelstringA'a
targetstringA'a
personalbooleanA'a
verifiedbooleanA'aUntil 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_atstringA'a
checked_atstringA'aWhen 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_confirmationbooleanA'aAn 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_errorstringA'a
verify_error_codestring<their_endpoint_refused, their_endpoint_unreachable, their_credential_rejected, their_recipient_refused, not_configured, our_fault, could_not_check, >A'aThe 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…
healthstring<healthy, idle, failing, unverified>A'a⚖️ 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_atstringA'aWhen a real notification was last DELIVERED here, as against verified.
last_failure_atstringA'a
last_delivery_errorstringA'aWhy 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_codestring<their_endpoint_refused, their_endpoint_unreachable, their_credential_rejected, their_recipient_refused, not_configured, our_fault, could_not_check, >A'aThe 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_failuresintegerA'aReset 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_secretstringA'aWebhook 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_noticestringA'a
routesobjectA'aThe FULL grid for this connection, one boolean per notification topic.