Simulate any event type (QA fixture)
Delivers a synthetic event of any real event type (account.passed,
account.failed, fill.created, …) to this webhook endpoint synchronously,
so you can test your full pass/breach/fill handling path deterministically —
no waiting for real trading activity.
Payload source — two modes:
- With
accountId— the payload is built from that real account’s current data (trader, plan, rule, purchase context included). The account is read-only: nothing about it is changed. Foraccount.passed/account.failedthe payload’sstatusis overridden to the simulated outcome andpreviousAttributescarries the real current status. - Without
accountId— a static, clearly-marked fixture account (SIM-FIXTURE-001,sim-trader@example.com) is used.
How to tell a simulated event apart: the payload always carries
"simulated": true at the top level. Real events never have this field.
Signature headers (X-Hyperprop-Signature etc.) are identical to production
deliveries, so your verification code path is exercised too.
Logging: the delivery is recorded under its real event type and is fully
inspectable via GET /webhook-deliveries/{deliveryId} (payload, response,
latency, attempts). Simulated deliveries never enter the automatic retry
schedule; use manual redelivery if needed.
Example:
POST /organization/webhooks/{webhookId}/simulate
{ "eventType": "account.failed", "accountId": "d290f1ee-6c54-4b01-90e6-d701748f0851" }
Permissions: requires manage access to “Webhooks”.
Authentication: Accepts either Authorization: Bearer <jwt> (dashboard) or X-API-Key: hp_live_... (programmatic).
Authorizations
JWT Bearer token for user session auth. Format: "Bearer {token}". Used by User and Organization endpoints.
Path Parameters
Webhook ID
Body
Event type to simulate
account.created, account.status_changed, account.updated, account.imported, account.passed, account.failed, account.lockout_created, account.lockout_removed, account.lockout_updated, account.payout_processed, account.max_payouts_reached, purchase.created, purchase.status_changed, trader.created, snapshot.ready, fill.created "account.failed"
Build the payload from this real account (read-only). Omit to use a static fixture.
"d290f1ee-6c54-4b01-90e6-d701748f0851"
Related topics
Real-time WebSocket for trading eventsReal-time event stream (WebSocket)Get order history from database (append-only lifecycle events)Send a test eventList all organization events