Register a webhook endpoint
Authorization
BearerAuth AuthorizationBearer <token>
Medblocks API key for server-side requests.
In: header
Header Parameters
Version?string
Date-pinned API version. If omitted, Medblocks uses the version pinned on your API key.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/webhooks" \ -H "Version: 2026-04-25" \ -H "Content-Type: application/json" \ -d '{ "url": "https://api.fhirapp.com/medblocks/webhook", "events": [ "patient_flow.completed", "records.sync.completed" ], "description": "Production webhook", "metadata": {} }'{ "id": "wh_01J9YR9N3X4VZ6P2K5RH7M3LMP", "resource_type": "webhook_endpoint", "url": "https://api.fhirapp.com/medblocks/webhook", "events": [ "patient_flow.completed", "connection.token_refresh_failed" ], "status": "active", "description": "Production webhook", "metadata": {}, "api_version": "2026-04-25", "created_at": "2026-04-25T14:30:00.000Z", "updated_at": "2026-04-25T14:30:00.000Z", "secret": "whsec_01J9YR9N3X4VZ6P2K5RH7M3LMPabcdef0123456789abcdef0123456789"}{ "error": { "type": "authentication_error", "code": "invalid_api_key", "message": "API key invalid", "param": null, "doc_url": "https://docs.medblocks.com/errors/invalid_api_key", "request_id": "9c9b6f7a-8e4f-4a3b-9c1e-6f3a2d8b7c4d" }}Non-2xx responses use the standard API error envelope. Log
error.code and error.request_id for support.url*string
Your HTTPS endpoint that receives event deliveries. http://localhost is allowed for local dev only.
Format
urievents*array<unknown|>
Event-type filter. Either ["*"] (deliver all events) or an explicit list of event types. Unknown types are rejected.
Items
1 <= items <= 5description?string
Human-readable label, visible in the dashboard.
Length
length <= 500metadata?
Up to 50 keys of arbitrary developer metadata. Echoed back on every read.
