Create a new webhook
POST/webhooks
Creates a new webhook subscription with the provided details. The webhook will receive events asynchronously when the specified event types occur.
Available Event Types:
-
credential_workflow.status.changed- Triggered automatically when a credentialing workflow status changes (timeline event is created). See webhook-api-credential-workflow-events.md for detailed payload structure and documentation. -
facility_credential_workflow.status.changed- Triggered automatically when a facility credentialing workflow status changes (timeline event is created). -
form.submission.submitted- Triggered when a form submission is received by POST /forms/submissions. -
roster_job.status.changed- Triggered when a roster job reaches a client-facing status (PENDING_CORRECTION, PENDING_APPROVAL, IMPORTED, FAILED). -
facility.global_termination.completed- Triggered once per facility when a facility global termination (POST /facilities/terminate) completes. Payload:certifyFacilityId,facilityName,npi,tin,terminationDate,terminationReason,status. A global termination ends everything the facility has, so there is no per-location detail.facilityName,npiandtinare read from the facility and arenullwhen unavailable. -
practitioner.terminated- Triggered when a practitioner is terminated, for all 9terminationTypevalues accepted by PUT /practitioners/terminate (includingFULL_EXIT, the full-departure case) and for roster STOP rows. Payload:certifyPractitionerId,npi,terminationType,terminationDate,terminationReason; keys are always present, with an explicitnullwhere a value is unknown or not applicable. Note that PUT /practitioners/terminate-partial emits one event per terminated scope, so a single request there can produce several events.
You can subscribe to multiple different event types in a single webhook.
Custom event types are accepted. eventTypes is an open namespace: any lowercase domain.entity.action value of 2-4 dot-separated segments may be registered, and triggered with POST /webhooks/events. Matching is exact and case-sensitive.
Request
Responses
- 201
- 400
- 401
- 403
- 500
Successfully created the webhook
Invalid request data. Returns constraint violations for an empty eventTypes list, an event type that is not 2-4 lowercase dot-separated segments, or an invalid URL format, as well as validation errors for deserialization failures.
Unauthorized - Authentication required
Forbidden - User does not have required permissions
Internal Server Error - An unexpected error occurred