Skip to main content

List Webhooks

List webhook subscriptions owned by the authenticated user. Secrets are never returned by this endpoint.

Endpoint

GET /v1/webhooks

Weight: 2 Authentication: Required (signed) — see Authentication.

Query parameters

NameTypeMandatoryDescription
statusenum<active|paused|broken>NOFilter to webhooks in this status. Omit to return all.
eventstringNOFilter to webhooks subscribed to this event type. Wildcard subscriptions match concrete events (e.g. a webhook subscribed to strategy.* is returned when event=strategy.deployed).
limitintegerNOPage size. Range 1–100. Default 25.
cursorstringNOOpaque pagination cursor returned by a previous call.

Response

{
"data": [
{
"id": "wh_2a4f10",
"url": "https://example.com/pipai-webhook",
"events": ["strategy.deployed", "strategy.position_opened", "strategy.error", "backtest.job_done"],
"description": "Production strategy alerts",
"status": "active",
"consecutive_failures": 0,
"last_delivery_at": "2026-04-29T11:58:32Z",
"last_success_at": "2026-04-29T11:58:32Z",
"created_at": "2026-04-20T09:00:00Z"
},
{
"id": "wh_91b3ac",
"url": "https://ops.example.com/pipai-alerts",
"events": ["account.balance_low", "account.api_key_rotated"],
"description": "Ops alerts",
"status": "paused",
"consecutive_failures": 0,
"last_delivery_at": "2026-04-28T20:14:11Z",
"last_success_at": "2026-04-28T20:14:11Z",
"created_at": "2026-04-15T14:32:08Z"
}
],
"next_cursor": null
}

Response fields

FieldTypeDescription
dataarray<object>Page of webhook objects. See the Create endpoint for full field semantics. The secret and _secret_warning fields are never included in list responses.
next_cursorstring|nullOpaque cursor for the next page, or null if this is the last page.

Errors

  • 400 INVALID_PARAMETERlimit out of range, status not one of the accepted values, event is not a known event type or wildcard, or cursor is malformed.
  • 403 INSUFFICIENT_PERMISSION — the API key lacks the webhooks:read scope.

See Errors for the full list.

Example

curl -G "https://api.pipai.example/v1/webhooks" \
--data-urlencode "status=active" \
--data-urlencode "limit=50" \
-H "X-PipAI-API-Key: $API_KEY" \
-H "X-PipAI-Timestamp: $TS" \
-H "X-PipAI-Signature: $SIG"