# Register Webhook (Credentialing Events) Register a webhook for credentialing events of a provider. If headers are included, they will be sent with every request. If oauth_configuration is set, the token_url will be called with client_id and client_secret and a form urlencoded POST request to generate an access token. The response includes the webhook ID and configuration details. Endpoint: POST /v2/webhooks Security: BearerAuth ## Header parameters: - `organization-id` (string) ## Request fields (application/json): - `url` (string, required) Callback URL to which data should be posted Example: "https://yourdomain.com/webhook-endpoint" - `event_types` (array, required) Webhook event(s) that should trigger a post. Values: - IN_PROGRESS: Credentialing is in progress - PSV_COMPLETED: Primary source verification completed - CREDENTIALING_COMPLETED: Credentialing completed - PROVIDER_TERMINATED: Provider terminated - FACILITY_NOT_SENT_TO_CREDENTIALING: Facility not sent to credentialing - FACILITY_IN_PROGRESS: Facility credentialing in progress - FACILITY_DATA_MISSING: Facility data missing - FACILITY_OUTREACH_IN_PROGRESS: Facility outreach in progress - FACILITY_PSV_COMPLETE_BY_CERTIFYOS: Facility PSV complete by CertifyOS - FACILITY_CREDENTIALING_RESTARTED: Facility credentialing restarted - FACILITY_PSV_READY: Facility PSV ready - FACILITY_CRED_APPROVED: Facility credentialing approved - FACILITY_HOLD_FOR_CRED_COMM: Facility hold for credentialing committee - FACILITY_CRED_DENIED: Facility credentialing denied - FACILITY_TERMINATED: Facility terminated - FACILITY_RECREDENTIALING_IN_PROGRESS: Facility recredentialing in progress - FACILITY_TABLED: Facility tabled - FACILITY_WITHDRAWN_CANCELLED: Facility withdrawn or cancelled - FACILITY_NOT_STARTED: Facility credentialing not started - PROVIDER_NOT_SENT_TO_CREDENTIALING: Provider not sent to credentialing - PROVIDER_NOT_STARTED: Provider credentialing not started - PROVIDER_IN_PROGRESS: Provider credentialing in progress - PROVIDER_DATA_MISSING: Provider data missing - PROVIDER_OUTREACH_IN_PROGRESS: Provider outreach in progress - PROVIDER_PSV_COMPLETED: Provider PSV completed - PROVIDER_CREDENTIALING_RESTARTED: Provider credentialing restarted - PROVIDER_PSV_READY: Provider PSV ready - PROVIDER_CRED_APPROVED: Provider credentialing approved - PROVIDER_HOLD_FOR_CRED_COMM: Provider hold for credentialing committee - PROVIDER_CRED_DENIED: Provider credentialing denied - PROVIDER_RECREDENTIALING_IN_PROGRESS: Provider recredentialing in progress - PROVIDER_TABLED: Provider tabled - PROVIDER_WITHDRAWN_CANCELLED: Provider withdrawn or cancelled - FORM_SUBMISSION_CREATED: Form submission created Enum: "IN_PROGRESS", "PSV_COMPLETED", "CREDENTIALING_COMPLETED", "PROVIDER_TERMINATED", "FACILITY_NOT_SENT_TO_CREDENTIALING", "FACILITY_IN_PROGRESS", "FACILITY_DATA_MISSING", "FACILITY_OUTREACH_IN_PROGRESS", "FACILITY_PSV_COMPLETE_BY_CERTIFYOS", "FACILITY_CREDENTIALING_RESTARTED", "FACILITY_PSV_READY", "FACILITY_CRED_APPROVED", "FACILITY_HOLD_FOR_CRED_COMM", "FACILITY_CRED_DENIED", "FACILITY_TERMINATED", "FACILITY_RECREDENTIALING_IN_PROGRESS", "FACILITY_TABLED", "FACILITY_WITHDRAWN_CANCELLED", "FACILITY_NOT_STARTED", "PROVIDER_NOT_SENT_TO_CREDENTIALING", "PROVIDER_NOT_STARTED", "PROVIDER_IN_PROGRESS", "PROVIDER_DATA_MISSING", "PROVIDER_OUTREACH_IN_PROGRESS", "PROVIDER_PSV_COMPLETED", "PROVIDER_CREDENTIALING_RESTARTED", "PROVIDER_PSV_READY", "PROVIDER_CRED_APPROVED", "PROVIDER_HOLD_FOR_CRED_COMM", "PROVIDER_CRED_DENIED", "PROVIDER_RECREDENTIALING_IN_PROGRESS", "PROVIDER_TABLED", "PROVIDER_WITHDRAWN_CANCELLED", "FORM_SUBMISSION_CREATED" - `description` (string) Title/description of the webhook being registered Example: "Provider Created Webhook" - `headers` (object) Key-value pairs of custom static headers sent with the webhook requests (e.g., for API keys or tokens). To send headers in the OAuth token exchange, set the oauth_configuration.headers property. Example: {"X-Api-Key":"abcdef123456"} - `oauth_configuration` (object) OAuth2 client credentials configuration for token-based authentication. Example: {"client_id":"my-client-id","client_secret":"my-client-secret","token_url":"https://auth.example.com/oauth/token"} - `oauth_configuration.client_id` (string, required) Client ID for OAuth token exchange Example: "my-client-id" - `oauth_configuration.client_secret` (string, required) Client secret for OAuth token exchange Example: "my-client-secret" - `oauth_configuration.token_url` (string, required) URL for OAuth token exchange Example: "https://auth.example.com/oauth/token" - `oauth_configuration.scope` (string,null) Scope for OAuth token exchange Example: "resource.read" - `oauth_configuration.headers` (object,null) Key-value pairs of custom headers to send in the OAuth token exchange request to {token_url}. Example: {"X-Domain-Name":"example.com"} ## Response 201 fields (application/json): - `id` (string, required) ## Response 401 fields ## Response 403 fields