Skip to content

Outbound: endpoint listing across consumers, health, delivery filters (v0.3.0) - #2

Merged
rusenask merged 4 commits into
mainfrom
outbound-release-fixes
Sep 28, 2026
Merged

rusenask merged 4 commits into
mainfrom
outbound-release-fixes

Conversation

@rusenask

@rusenask rusenask commented Sep 28, 2026 •

Copy link
Copy Markdown
Member

Brings the SDK in line with the updated outbound API and bumps the package to 0.3.0. The outbound webhooks surface from #1 was never published (npm's latest is 0.2.0), so it ships in this release too.

Outbound additions

  • relay.outbound.endpoints.listAll({ state, consumer, limit, offset }) calls GET /v1/outbound/endpoints and lists endpoints across all consumers. The state filter returns failing endpoints first, longest failing at the top.
  • relay.outbound.health() calls GET /v1/outbound/health and returns endpoint counts by state plus attempts and failures over the last 24 hours.
  • OutboundEndpoint.stats holds the endpoint's attempts and failures over the last 24 hours.
  • Delivery filters: ListOutboundDeliveriesParams accepts status (sent / failed / stalled / received / rejected), event_type and message_id.
  • OutboundMessage.unavailable_endpoint_ids is set by messages.get when some deliveries could not be read in time.
  • The docs now state that OutboundDeliveryAttempt.response_body is base64-encoded.

Other

  • RELAY_BASE_URL sets the API address from the environment, for self-hosted or local development. An explicit baseUrl still wins.
  • The generated low-level client was regenerated from the updated swagger spec.
  • New types: OutboundEndpointStats, OutboundHealth, ListAllOutboundEndpointsParams.
  • A reportFailingEndpoints example is run by the tests, and the README documents the new calls.
  • Release v0.3.0 bumps package.json and package-lock. After merge, publishing a v0.3.0 GitHub release runs npm-publish.yml, which publishes via trusted publishing.

Verified locally: npm ci, npm run typecheck, npm test (66 passed), npm run build.

🤖 Generated with Claude Code


Note

Low Risk
Additive SDK surface and env-based base URL; no changes to auth or existing call signatures beyond new optional fields.

Overview
Releases @webhookrelay/sdk v0.3.0 with outbound observability and config tweaks on top of the regenerated OpenAPI client.

Outbound: Adds relay.outbound.health() for account-wide endpoint counts and 24h delivery stats, and relay.outbound.endpoints.listAll({ state, consumer, limit, offset }) to page endpoints across consumers (failing endpoints ordered longest-failing first). OutboundEndpoint now exposes optional stats on list/get; delivery listing accepts status, event_type, and message_id filters; message detail can include unavailable_endpoint_ids. Docs and examples/outbound.ts add a failing-endpoints report; swagger/generated types pick up related API shapes (including outbound access endpoints in the low-level client).

Config: RELAY_BASE_URL resolves the API host from the environment (explicit baseUrl still wins), documented in the README.

Reviewed by Cursor Bugbot for commit 8050471. Configure here.

Regenerate the low-level client from the updated spec (make openapi) and
expose the new operations on the ergonomic surface:

- relay.outbound.endpoints.listAll({ state, consumer, limit, offset })
  -> GET /v1/outbound/endpoints (failing endpoints longest failing first)
- relay.outbound.health() -> GET /v1/outbound/health
- OutboundEndpoint.stats: attempts and failures over the last 24 hours

Adds OutboundEndpointStats, OutboundHealth and
ListAllOutboundEndpointsParams types, a reportFailingEndpoints example
(run by the tests) and README docs.
@cursor

cursor Bot commented Sep 28, 2026

Copy link
Copy Markdown

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_55423825-b4a1-41aa-85fb-1d09b62cb079)

@rusenask
rusenask merged commit 541ca0b into main Sep 28, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant