All pages

Developer docs

List webhook endpoints

View as Markdown

List the account's webhook endpoints with their status and events, oldest first. Addresses show only their host and a masked path, and signing secrets are never returned. Only the account owner's API keys and connected apps can read webhooks. Reading changes nothing.

GEThttps://uetr.ai/api/v1/webhooks
  • MCP tool: list_webhook_endpoints
  • Access: any key or connection
  • Only the account owner's keys and connections

Response

FieldTypeRequiredDescription
endpointsarray of objectYes
endpoints[].idstring (uuid)Yes
endpoints[].urlstringYesThe address's host and a masked path. The full address is never shown.
endpoints[].destinationjson, slack, teamsYesjson: signed JSON. slack and teams: a readable message for a Slack or Microsoft Teams incoming webhook.
endpoints[].eventsarray of status_changed, final_state, checks_endedYes
endpoints[].statuspending, active, pausedYespending: waiting for the account owner to confirm it on the website; until then it receives test events only. active: receiving events. paused: deliveries stopped after sustained failures; a test event that succeeds resumes it.
endpoints[].paused_atstring or nullYes
endpoints[].created_atstringYes
endpoints[].created_bywebsite, apiYeswebsite: added on the website. api: added by an API key or a connected app.
endpoints[].api_versionstringYes

Example

curl -X GET "https://uetr.ai/api/v1/webhooks" \
  -H "Authorization: Bearer $UETR_API_KEY"

The answer:

{
  "endpoints": [
    {
      "id": "8e2c4a6b-0d3f-4e7a-9b1c-5f8d2a4c6e0b",
      "url": "hooks.example.com/••••",
      "destination": "json",
      "events": [
        "status_changed",
        "final_state",
        "checks_ended"
      ],
      "status": "active",
      "paused_at": null,
      "created_at": "2026-10-14T08:40:00.000Z",
      "created_by": "website",
      "api_version": "2026-10-14"
    },
    {
      "id": "3b1f8c2e-6a4d-4f5e-9c7b-2d8e1a0f4b6c",
      "url": "hooks.slack.com/services/••••",
      "destination": "slack",
      "events": [
        "status_changed"
      ],
      "status": "active",
      "paused_at": null,
      "created_at": "2026-10-14T09:35:00.000Z",
      "created_by": "api",
      "api_version": "2026-10-14"
    }
  ]
}

Refusals

Besides the access refusals every call can meet, this call can answer: