connections
POST /v1/connections/{provider}/{connectionId}/probe
Re-test a stored credential, one row per permission.
Аутентификация
API кілтін bearer токені ретінде жіберіңіз. Кілтте connections.manage рұқсаты болуы тиіс; онсыз кілтке 404 емес, 403 қатесі қайтарылады.
Бұл соңғы нүкте ұйым идентификаторын қабылдамайды. Сіздің кілтіңіз оның қай ұйымға тиесілі екенін өзі анықтайды және жауап соған шектеледі.
Әрекет етіп көру
Бұрыштық жақшалардағы кез келген нәрсені өз мәндеріңізбен, ал кілт орналастырушысын басқару тақтасынан алынған кілтпен алмастырыңыз.
curl -X POST https://api.zinndigital.com/v1/connections/{provider}/{connectionId}/probe \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ }'Жүйеге кіргенсіз бе? Бақылау тақтасындағы API консолі ұйымыңыздың нақты идентификаторы мен жеке кілтіңізді автоматты түрде толтырады да, нақты жауапты көре алуыңыз үшін сұрауды тікелей жұмыс істеп тұрған API арқылы орындайды. Бұл соңғы нүктені API консолінде ашыңыз
Мәліметтер
Exercises every permission we need **against the provider** using the credential already stored for this connection, and returns one row per permission. This is the "retest" half of add-and-test: the customer's fix happens in their vendor's console — they tick the missing permission at Cloudflare — so there is nothing to re-paste and the stored credential is used. ⛔ It does not ask the credential to describe itself. A least-privilege token cannot enumerate its own permissions, which is how a token missing DNS edit entirely came to be displayed as "works, we will check on first use". Every check here is a real, well-formed call, and a write permission is proved by writing — a throwaway DNS record created and immediately deleted, or a zone setting written back to the value just read. Each row is `pass`, `fail` or **`unknown`**, and the third is not a nicety: `unknown` is the honest answer when we could not reach the question — no zone on the account yet, the vendor rate-limiting us, or a well-formed request refused on its content. ⛔ A client that renders `unknown` as a tick has reintroduced the defect this endpoint exists to remove. The result is stored against the connection with the time it was taken, and returned with `checked_at`. It is a **measurement, not a state** — the customer can revoke a permission at their vendor a second later and nothing here will know — so any surface showing it must show its age. Requires `connections.manage`.
Параметрлер
| Аты | Tүрі | Міндетті | Мазмұны |
|---|---|---|---|
provider (path) | ConnectionProvider | Иә | The third-party provider whose connections are addressed. |
connectionId (path) | Uuid | Иә | The MCP connection's id. |
Сұрау денесі
| Аты | Tүрі | Міндетті | Мазмұны |
|---|---|---|---|
zone_hint | string | Жоқ | The domain to test the zone-scoped permissions against. Optional — see `ConnectTokenRequest.zone_hint`. |
Жауап
| Аты | Tүрі | Міндетті | Мазмұны |
|---|---|---|---|
credential_valid | boolean | Иә | A statement about the **credential**, not about the permissions. `false` means the provider rejected it outright, in which case the rows are not meaningful and the screen must s… |
usable | boolean | Иә | Whether we may store and use this credential: alive, with no **proved** absence of anything required. ⛔ Deliberately not "every row passed" — a brand-new account with no zone on… |
checks | PermissionCheck[] | Иә | One row per permission, in a stable catalogue order rather than the order the checks happened to finish in — a checklist whose rows reshuffle between two retests looks broken to… |
missing | string[] | Иә | Required permissions the provider **proved** are absent. Not the unknowns. |
unverified | string[] | Иә | Permissions we could not determine either way. The honest amber set. |
account_ref | string | Иә | The account or zone the provider reported — discovered, never assumed. |
detail | string | Иә | An overall explanation, used mainly for a rejected credential. |
checked_at | object | Иә | When this was taken. ⛔ Never render the report without it: a checklist with no date on it is indistinguishable from a live one and will be read as live, when in fact the custome… |
Бұл соңғы нүкте қайтара алатын қателер
401 · 403 · 404 · 422 · 429 · 503