List webhook endpoints

GET/api/v1/webhooks
Scope: webhooks:manage

Every webhook endpoint in the organization, whoever created it. Signing secrets are never returned. Requires the "webhooks:manage" scope.

Example request#

bash

curl -X GET "https://your-site.awrora.app/api/v1/webhooks" \
  -H "Authorization: Bearer $AWRORA_API_KEY"

Responses#

  • 200The endpoints. This list is not paginated — an organization may have at most 10 — so has_more is always false.
  • 401Missing, invalid, revoked or expired API key — codes "api_key_missing", "api_key_invalid", "api_key_revoked", "api_key_expired".
  • 403The API app is off, the plan does not include the API, or the key lacks the required scope — codes "app_not_enabled", "plan_upgrade_required", "insufficient_scope" (the last carries "required_scope").
  • 429Rate limit exceeded — code "rate_limited". See the x-ratelimit-* headers.
  • 500Something went wrong on our side — code "internal_error".

Response 200

FieldTypeDescription
datarequired
object[]

The page of results, in the requested order.

has_morerequired
boolean

True when more results exist after this page. Fetch them with next_cursor.

next_cursorrequired
string | null

Pass this back as ?starting_after= to fetch the next page. Null when has_more is false. Opaque — do not parse it.

200 response

{
  "data": [
    {
      "id": "res_8f2k3n",
      "url": "https://example.com/webhooks/awrora",
      "description": "string",
      "events": [
        "string"
      ],
      "status": "enabled",
      "source": "admin",
      "consecutive_failures": -9007199254740991,
      "last_success_at": "string",
      "last_failure_at": "string",
      "created_at": "string",
      "updated_at": "string"
    }
  ],
  "has_more": true,
  "next_cursor": "string"
}