Skip to content

List webhooks

GET
/api/v1/organizations/{orgID}/webhooks
curl --request GET \
--url 'https://api.aetherplatform.cloud/api/v1/organizations/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/webhooks?limit=50' \
--header 'Authorization: Bearer <token>'

Lists the organization’s webhooks. Responses never include the signing secret.

orgID
required
string format: uuid

Organization UUID.

cursor
string format: uuid

Opaque cursor (a UUID) for pagination; pass back the prior page’s next_cursor.

limit
integer
default: 50 >= 1 <= 100

Maximum number of items per page (1-100, default 50).

A page of webhooks.

Media typeapplication/json
object
items
required
Array<object>
object
id
required
string format: uuid
org_id
required
string format: uuid
url
required

Delivery endpoint. Must be https, without embedded credentials, and must not point at private or internal address ranges.

string
description
required
string
events
required

Subscribed event types, validated against the catalog: cluster.created, cluster.ready, cluster.upgraded, cluster.degraded, cluster.deleted, node.replaced, usage.alert, invoice.generated, ticket.updated — or exactly ["*"] to subscribe to every catalog type. usage.alert fires once per budget threshold crossed in a month; its payload is {budget_eur, spend_eur, threshold_pct, billing_month}. invoice.generated fires at month close when an org’s invoice is generated; its payload is {invoice_id, amount_cents, currency, period_start, period_end}. ticket.updated fires whenever a support ticket is created, receives a new message, or changes status; its payload is {ticket_id, status, severity, category, last_message_author_type, updated_at} where last_message_author_type is tenant or provider for a message event and empty ("") for a status-only change.

Array<string>
enabled
required

Disabled webhooks receive no deliveries.

boolean
secret

Server-generated signing secret (whsec_<hex>). Returned once — present only in create and rotate-secret responses; list and get never include it.

string
created_at
required
string format: date-time
updated_at
required
string format: date-time
next_cursor
string | null
Examplegenerated
{
"items": [
{
"id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"org_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"url": "example",
"description": "example",
"events": [
"example"
],
"enabled": true,
"secret": "example",
"created_at": "2026-04-15T12:00:00Z",
"updated_at": "2026-04-15T12:00:00Z"
}
],
"next_cursor": "example"
}

Missing or invalid credentials.

Media typeapplication/json
object
error
required
object
code
required

A stable, machine-readable error code.

string
message
required
string
details
Array<object>
object
field
required
string
code
required
string
message
required
string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"details": [
{
"field": "example",
"code": "example",
"message": "example"
}
]
}
}