If you attempting to create a webhook subscription via the RingCentral Subscription API and are receiving a 400 HTTP status code, then chances are one of two things is going wrong.
Properly validate the webhook URL When you subscribe to an event via a webhook, RingCentral will attempt to validate the URL you specify in your subscription request. This validation step requires your application to respond to an incoming validation request in a prescribed way. Please consult our documentation on "validating webhook URLs upon subscription creation".
Ensure your webhook URL meets all requirements From the RingCentral Developer Guide:
When you create a webhook subscription, RingCentral will transmit a test request to the designated URL in an attempt to verify all of the following prior to creating the subscription and transmitting events.
The URL must accessible by RingCentral and not behind a firewall
The web server supports TLS 1.2 or higher (see note below about TLS support)
The web server must respond within 3000 milliseconds
The web server must respond with an HTTP status code of 200 OK
The web server must respond with a valid Validation-Token header
Call the Subscription API correctly It is important to rule out the possibility that you are unknowingly calling the Subscription API incorrectly. To rule this out, try creating a subscription via a simple demo application. If you are successful in creating a subscription using this demo app, then the most likely reason you are receiving an error is because you are not formatting your request properly.