Forums Feature Requests Thread

[Enhancement] Integration / API: Webhook delivery API hides the receiver's response body and request payload

Patrick Bass · Jun 6 · 14 · 1 Locked
[Normal Priority] [Feature Enhancement] [Deployed to Production]
🚀 OP Jun 6, 2026 7:51pm

Area: Integration / API (audit p13) · Surface: mobieusAPI / webhooks · Dimension: feature-to-improve · Severity: minor

Stripe's and Svix's webhook dashboards (the bar for webhook DX) show, per attempt, both the exact request body sent and the receiver's response body/status, which is how integrators debug a failing endpoint. Mobieus captures the response body in the DB but the API surfaces only a numeric status and a truncated error string, and offers no way to see the actual JSON payload that was signed and sent. Integrators debugging a 400 from their own handler can't see what came back. The data already exists; it just isn't returned.

Evidence

WebhookDelivery model stores last_response_body (platform/src/Models/WebhookDelivery.php:75,97,117,137) but WebhooksController@deliveries (platform/src/Controllers/Api/V1/WebhooksController.php:90-106) returns only status/attempt_count/last_status_code/last_latency_ms/last_error — it omits last_response_body and never exposes the signed request payload that was sent.

Suggested fix. Extend the deliveries endpoint (and add a per-attempt sub-resource) to include the captured request payload and last_response_body (size-capped), matching the existing admin delivery-log view; this is read-only exposure of already-stored columns.

Filed by the automated tenant-app audit and adversarially evidence-verified. Status: verified. Open — not yet actioned.


Patrick Bass
@mobieus

🚀 Jun 7, 2026 11:31am

Shipped and deployed to production. Commit f8522e23a2.

Webhook delivery log: outgoing request payload and receiver response body (≤4KB) shown in collapsible sections. Retry button re-dispatches. Response body gated role≥4.

Closed as: deployed.


Patrick Bass
@mobieus

Log in or register to reply to this thread.