Webhooks API
Our Webhook APIs enable real-time communication between your system and ours, allowing you to receive timely updates as key events occur. To begin using our webhook functionality, there are a few setup steps that require coordination outside of the API itself.
Overview
HealthSherpa currently provides two webhook APIs: Submission Confirmation and Policy Status. While both APIs share the same schema, they are triggered at different points in the member journey and can be subscribed to independently.
The Submission Confirmation sends notifications when an enrollment application is submitted through HealthSherpa.
The Policy Status sends notifications when a policy is effectuated, cancelled (i.e., never took effect) or terminated (i.e., ended after being in force).
The availability and accuracy of these updates depend on our connectivity with the Carrier, which is documented in Supported Carriers.
Webhook delivery is not enabled by default. To ensure secure and accurate integration, we require some one-time configuration on our end before your system can start receiving webhook events.
This guide outlines:
What you need to provide us
How we will configure your webhook
How to test and verify delivery
The available webhook event types
Step 1: Provide Your Webhook Configuration Details
To begin the setup process, please send the following information to your account manager or implementation specialist:
Webhook URL
The HTTPS endpoint on your server that will receive webhook POST requests
Desired Authentication
We support a variety of authentication methods. Provide any authentication credentials HealthSherpa will need for your selection.
Exchange
Whether you want to be notified of applications that are on-exchange, off-exchange, or both.
Webhooks
Whether you want to subscribe to the Submission Confirmation API, Policy Status API, or both.
Environment
Indicate whether it's for sandbox or production.
💬 Your onboarding contact will provide a form for you to fill out this information and return.
Step 2: We Set Up the Webhook
Once we receive your details, we will:
Register your endpoint in our system
Enable webhook delivery for your account
We will notify you once your webhook is live in staging for testing.
Step 3: Verify Webhook Delivery
To ensure successful delivery and security, all webhook requests:
Are sent via HTTPS POST
Contain the Headers consistent with the Authentication approach required by your system.
Include a
Content-Type: application/json
header
{
"transaction_id": "string",
"application_id": "string",
"event_type": "string",
"policy_status": "string",
"event_timestamp": "string",
"external_id": "string",
"policy_aor_npn": "string",
"submitter_npn": "string",
"npn_used_at_submission": "string",
"members": [
{
"member_id": "string",
"first_name": "string",
"middle_name": "string",
"last_name": "string",
"date_of_birth": "string"
}
],
"policies": [
{
"policy_id": "string",
"effective_date": "string",
"expiration_date": "string",
"status": "string",
"plan_hios_id": "string",
"gross_premium": 0.0,
"members": [
{
"member_id": "string",
"effective_date": "string",
"removed_date": "string"
}
],
"agent_of_record": {
"npn": "string",
"first_name": "string",
"last_name": "string",
"state_license_number": "string",
"email": "string"
}
}
]
}
{
"transaction_id": "string",
"event_type": "string",
"policy_status": "string",
"event_timestamp": "string",
"external_id": "string",
"policy_aor_npn": "string",
"submitter_npn": "string",
"npn_used_at_submission": "string"
}
Step 4: Supported Events
Below are the possible following event_types and policy_status:
submission
An application submission from HealthSherpa to the Carrier or Exchange
sync
A delivered or received status change to an existing application/policy with a Carrier.
pending_effectuation
Coverage pending effectuation; awaiting carrier confirmation, which may include binder payment or account setup—even for $0 plans.
effectuated
Coverage is active and binder payment has been received.
cancelled
Policy never effectuated and was cancelled, typically due to non-payment.
terminated
Policy was active and later terminated by consumer, carrier, or plan year expiration.
unknown
Enrollment status returned as unknown by CMS. On-ex only.
blank
Enrollment status unavailable due to system error or missing data. On-ex only.
Last updated