Verify webhook endpoint ownership
POST
/katara/v1/notification-webhooks/{id}/verify
const url = 'https://api.katara.com/katara/v1/notification-webhooks/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/verify';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"version":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.katara.com/katara/v1/notification-webhooks/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/verify \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "version": 1 }'Fetches the exact ownership document over verified TLS with pinned public DNS, no redirects and bounded response size. This explicit read-only setup probe also applies to Test subscriptions. The session and scope are rechecked after the fetch.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
string format: uuid
Header Parameters
Section titled “Header Parameters”X-Katara-Account-ID
string format: uuid
Required for cookie-authenticated changes. Use the UUID of the account that loaded the application. A different current cookie account returns account_changed before the handler runs. Session bearer and API key clients do not require this header.
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
version
required
integer
Examplegenerated
{ "version": 1}Responses
Section titled “Responses”Current subscription state. Responses are never cached.
Media typeapplication/json
object
id
required
string format: uuid
org_id
required
string format: uuid
environment_id
required
string format: uuid
reset_generation
required
integer
mode
required
destination
required
string format: uri
event_types
required
Array<string>
key_id
required
string format: uuid
state
required
version
required
integer
review_digest
required
string
created_at
required
string format: date-time
verified_at
string format: date-time
reviewed_at
string format: date-time
revoked_at
string format: date-time
Example
{ "mode": "test", "state": "pending"}Invalid request.
Current owner/admin recipient in a signed-in session required.
Subscription unavailable in the current scope.
Subscription changed or is in an incompatible state.