# Unable to validate Event notification endpoint URL

**URL:** <https://devforum.zoom.us/t/unable-to-validate-event-notification-endpoint-url/96022>\
**Category:** API and Webhooks\
**Tags:** webhooks\
**Created:** [September 29, 2023, 1:12pm UTC](https://devforum.zoom.us/t/unable-to-validate-event-notification-endpoint-url/96022 "2023-09-29T13:12:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ritesh.katare23](https://avatars.discourse-cdn.com/v4/letter/r/bc8723/32.png) [@ritesh.katare23](https://devforum.zoom.us/u/ritesh.katare23)\
**Post date:** [September 29, 2023, 1:12pm UTC](https://devforum.zoom.us/t/unable-to-validate-event-notification-endpoint-url/96022/1 "2023-09-29T13:12:20Z")

</div>

Trying to validate Event notification endpoint URL but it is failing all the time.  
Getting **URL validation failed. Try again later.** error.  
Zoom should provide specific error, not generic error to save developers time.

I have implemented validation logic as [Using webhooks](https://developers.zoom.us/docs/api/rest/webhook-reference/#validate-your-webhook-endpoint)  
I checked HMAC-SHA256 created by my logic with created by [Free HMAC-SHA256 Online Generator Tool | Devglan](https://www.devglan.com/online-tools/hmac-sha256-online), both are identical.

Implemented logic Ruby, below is a code line

```auto
hash_for_validate = OpenSSL::HMAC.hexdigest("sha256", SECRET_TOKEN, params["payload"]["plainToken"])

```

Please help me to validate URL.

---

<div class="post-metadata">

**Author:** ![ojus.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ojus.zoom/32/734_2.png) [@ojus.zoom](https://devforum.zoom.us/u/ojus.zoom)\
**Post date:** [October 2, 2023, 12:30am UTC](https://devforum.zoom.us/t/unable-to-validate-event-notification-endpoint-url/96022/2 "2023-10-02T00:30:36Z")

</div>

Is your logic something like this?

```auto
hash_for_verify = OpenSSL::HMAC.hexdigest('sha256', ZOOM_WEBHOOK_SECRET_TOKEN, message)
  signature = "v0=#{hash_for_verify}"

```

---

<div class="post-metadata">

**Author:** ![ritesh.katare23](https://avatars.discourse-cdn.com/v4/letter/r/bc8723/32.png) [@ritesh.katare23](https://devforum.zoom.us/u/ritesh.katare23)\
**Post date:** [October 2, 2023, 4:18am UTC](https://devforum.zoom.us/t/unable-to-validate-event-notification-endpoint-url/96022/3 "2023-10-02T04:18:49Z")

</div>

@ojus.zoom I suppose `signature = "v0=#{some_hash}"` is to verify request is from zoom and not to validate webhook endpoint URL. Here I’m trying to validate endpoint URL [Using webhooks](https://developers.zoom.us/docs/api/rest/webhook-reference/#validate-your-webhook-endpoint) .

---

<div class="post-metadata">

**Author:** ![ojus.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/ojus.zoom/32/734_2.png) [@ojus.zoom](https://devforum.zoom.us/u/ojus.zoom)\
**Post date:** [October 6, 2023, 7:25pm UTC](https://devforum.zoom.us/t/unable-to-validate-event-notification-endpoint-url/96022/4 "2023-10-06T19:25:47Z")

</div>

@ritesh.katare23 sorry for the confusion… I grabbed the wrong part of the code.

This is what I believe the correct code should look like

```auto
 if payload["event"] == "endpoint.url_validation"
      hash_for_validate = OpenSSL::HMAC.hexdigest('sha256', ENV['ZOOM_WEBHOOK_SECRET_TOKEN'], payload["payload"]["plainToken"])

      render json: {
        plainToken: payload["payload"]["plainToken"],
        encryptedToken: hash_for_validate
      }, status: :ok

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex016/uploads/zoomdeveloper/original/3X/6/1/614bdd549b610bbaa46ff934617683a02bdaa03c.png) [@system](https://devforum.zoom.us/u/system)\
**Post date:** [October 9, 2023, 5:58am UTC](https://devforum.zoom.us/t/unable-to-validate-event-notification-endpoint-url/96022/5 "2023-10-09T05:58:25Z")

</div>

Closed on October 9, 2023, 5:58am UTC

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.
