> ## Documentation Index
> Fetch the complete documentation index at: https://doc-test-my.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhooks Entity

> Entity parameters and sample code for Webhooks API.

The Webhooks entity has the following parameters:

<ResponseExample>
  ```json Entity theme={null}
  {
    "id": "JebiXkKGYwua5L",
    "created_at": 1654605478,
    "updated_at": 1654605478,
    "service": "beta-api-live",
    "owner_id": "JOGUdtKu3dB03d",
    "owner_type": "merchant",
    "context": [],
    "disabled_at": 0,
    "url": "https://google.com",
    "alert_email": "gaurav.kumar@example.com",
    "secret_exists": true,
    "entity": "webhook",
    "active": true,
    "events": [
      "payment.authorized",
      "payment.failed",
      "payment.captured",
      "payment.dispute.created",
      "refund.failed",
      "refund.created"
    ]
  }
  ```
</ResponseExample>

<ResponseField name="id" type="string">
  The unique identifier of the created webhook. For example, `HK890egfiItP3H`. This id is used to fetch, update or delete a webhook. The maximum length is 14 characters.
</ResponseField>

<ResponseField name="created_at" type="integer">
  The Unix timestamp at which the webhook has been created.
</ResponseField>

<ResponseField name="updated_at" type="integer">
  The Unix timestamp at which the webhook has been updated.
</ResponseField>

<ResponseField name="owner_id" type="string">
  The unique identifier generated by Razorpay for the sub-merchant who will receive the webhooks. For example, in this case, it will be `account_id` passed in the API URL.
</ResponseField>

<ResponseField name="owner_type" type="string">
  Indicates the type of owner. For example, in this case, it will be the merchant.
</ResponseField>

<ResponseField name="url" type="string">
  The URL where you receive the webhook payload when an event is triggered. The maximum length is 255 characters.
</ResponseField>

<ResponseField name="secret" type="string">
  A secret for the webhook endpoint used to validate that the webhook is from Razorpay.
</ResponseField>

<ResponseField name="alert_email" type="string">
  This is the email address to which notifications must be sent in case of webhook failure.
</ResponseField>

<ResponseField name="secret_exists" type="boolean">
  This attribute is set to `true` if a secret password has been set for the webhook endpoint. If no secret is sent in the request, this parameter does not appear in the response code.
</ResponseField>

<ResponseField name="entity" type="string">
  Indicates the type of entity. For example, in this case, it will be **webhook**.
</ResponseField>

<ResponseField name="active" type="string">
  Indicates the status of webhook.

  * `true`: Webhook is activated.
  * `false`: Webhook is deactivated.
</ResponseField>

<ResponseField name="events" type="object">
  The required events from the list of Active Events. For example, `payment.authorized`, `payment.captured`, `payment.failed`, `payment.dispute.created`, `refund.failed`, `refund.created` and so on.
</ResponseField>
