AsyncAPI Specification
generated: '2026-08-14'
method: searched
source: https://www.flexpa.com/docs/records/webhooks
provider: Flexpa
providerId: flexpa
summary: >-
Flexpa publishes a small, well-specified webhook surface - four events, a
versioned envelope, HMAC-SHA256 signatures with a replay window, and a stated
retry schedule. It does NOT publish an AsyncAPI document, so no AsyncAPI spec is
claimed here; this artifact is the webhook catalog as documented.
asyncapi_published: false
asyncapi_probe:
- url: https://www.flexpa.com/asyncapi.yaml
note: not published; no AsyncAPI document was found on any Flexpa host or in the GitHub org.
transport: https-webhook
configuration:
where: Flexpa Portal (https://portal.flexpa.com)
mode_specific: true
note: Endpoints and their secrets are added, updated and removed in Portal, separately for test and live mode.
envelope:
fields:
- name: event_id
type: string (UUID v4)
description: Stable identifier for idempotent processing of redelivered events.
- name: event
type: string
description: The event type name.
- name: version
type: integer
description: Envelope version, currently 1.
- name: timestamp
type: integer
description: Unix milliseconds.
- name: data
type: object
description: Event-specific payload, including mode ("test" or "live") and optional external_id.
security:
header: X-Flexpa-Signature
format: t={timestamp},v1={signature}
algorithm: HMAC-SHA256
signed_payload: '{timestamp}.{raw_request_body}'
comparison: constant-time
replay_tolerance: 5 minutes
other_headers:
- 'Content-Type: application/json'
- 'User-Agent: Flexpa-Webhook/1.0'
delivery:
attempts: 5
backoff: exponential - initial attempt then retries at 2, 4, 8 and 16 minutes
retry_triggers:
- non-2xx response
- 30 second timeout
events:
- name: sync_completed
description: Patient data synchronization is complete and ready to query via the FHIR API.
consumer_action: Begin reading the patient compartment; before this event FHIR reads may return 429 with issue.code transient.
- name: sync_failed
description: Patient data synchronization failed.
consumer_action: Surface a retry or re-consent path; correlates with the 422 SyncFailed response on the FHIR API.
- name: refresh_expired
description: Flexpa can no longer refresh a patient authorization; the user must re-consent.
consumer_action: Re-run Flexpa Consent for that patient.
- name: endpoint_status_changed
description: A Flexpa-registered endpoint's connectivity status changed.
consumer_action: Update cached directory state; statuses are CONNECTED, IN_PROGRESS, BROKEN, UNKNOWN, UNAVAILABLE.
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/flexpa-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.