# Webhooks requests

> The following example enables you to get all the webhooks that send information to the `http://documentation.azurewebsites.net/webhook/documentation` URL.

## Retrieving webhooks

### According to their URL

The following example enables you to get all the webhooks that send information to the `http://documentation.azurewebsites.net/webhook/documentation` URL.

GET

`{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Webhooks?$filter=Url eq 'http://documentation.azurewebsites.net/webhook/documentation'`

#### Request headers

| Key | Value |
| --- | --- |
| Authorization | Bearer |

#### Response code

200 OK

#### Response body

```
{
    "@odata.context": "{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/$metadata#Webhooks",
    "@odata.count": 1,
    "value": [{
        "Url": "http://documentation.azurewebsites.net/webhook/documentation",
        "Enabled": true,
        "Secret": "1234567890",
        "SubscribeToAllEvents": false,
        "AllowInsecureSsl": false,
        "Id": 4,
        "Events": [{
                "EventType": "job.started"
            },
            {
                "EventType": "process.created"
            },
            {
                "EventType": "process.deleted"
            },
            {
                "EventType": "process.updated"
            },
            {
                "EventType": "queue.created"
            }
        ]
    }]
}
```

### According to an ID

The following request enables you to retrieve information about a specific webhook, according to its `Id`.

GET

`{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Webhooks(10)`

#### Request headers

| Key | Value |
| --- | --- |
| Authorization | Bearer |

#### Response code

200 OK

#### Response body

```
{
  "@odata.context": "{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/$metadata#Webhooks/$entity",
  "Url": "https://orchestrator.uipath.com",
  "Enabled": false,
  "Secret": "1234567890",
  "SubscribeToAllEvents": true,
  "AllowInsecureSsl": false,
  "Id": 10,
  "Events": []
}
```

## Retrieving all available event types

The example below enables you to retrieve all the event types that one can subscribe to in Orchestrator.

GET

`{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Webhooks/UiPath.Server.Configuration.OData.GetEventTypes()`

### Request headers

| Key | Value |
| --- | --- |
| Authorization | Bearer |

### Response code

200 OK

### Response body

```
{
    "@odata.context": "{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/$metadata#Collection(UiPath.Application.Dto.Webhooks.WebhookEventTypeDto)",
    "value": [
        {
            "Name": "process.created",
            "Group": "process"
        },
        {
            "Name": "process.updated",
            "Group": "process"
        },
        {
            "Name": "process.deleted",
            "Group": "process"
        },
        {
            "Name": "schedule.failed",
            "Group": "schedule"
        },
        {
            "Name": "robot.status",
            "Group": "robot"
        },
        {
            "Name": "job.started",
            "Group": "job"
        },
        {
            "Name": "job.completed",
            "Group": "job"
        },
        {
            "Name": "job.faulted",
            "Group": "job"
        },
        {
            "Name": "job.stopped",
            "Group": "job"
        },
        {
            "Name": "job.created",
            "Group": "job"
        },
        {
            "Name": "queue.created",
            "Group": "queue"
        },
        {
            "Name": "queue.updated",
            "Group": "queue"
        },
        {
            "Name": "queue.deleted",
            "Group": "queue"
        },
        {
            "Name": "queueItem.added",
            "Group": "queueItem"
        },
        {
            "Name": "queueItem.transactionStarted",
            "Group": "queueItem"
        },
        {
            "Name": "queueItem.transactionFailed",
            "Group": "queueItem"
        },
        {
            "Name": "queueItem.transactionCompleted",
            "Group": "queueItem"
        },
        {
            "Name": "queueItem.transactionAbandoned",
            "Group": "queueItem"
        },
        {
            "Name": "robot.created",
            "Group": "robot"
        },
        {
            "Name": "robot.updated",
            "Group": "robot"
        },
        {
            "Name": "robot.deleted",
            "Group": "robot"
        }
    ]
}
```

## Editing a webhook

The example below changes the `Url`, `Enabled` state, `Secret`, `AllowInsecureSsl`, and the `Events` the webhook with the 10 `Id` is subscribed to.

PUT

`{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Webhooks(10)`

### Request headers

| Key | Value |
| --- | --- |
| Authorization | Bearer |

### Request body

```
{
    "Url": "https://orchestrator.uipath.com/reference",
    "Enabled": false,
    "Secret": "This is a new secret.",
    "AllowInsecureSsl": true,
    "Events": [{
            "EventType": "process.created"
        },
        {
            "EventType": "queue.created"
        },
        {
            "EventType": "robot.deleted"
        }
    ]
}
```

### Response code

200 OK

### Response body

```
{
    "@odata.context": "{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/$metadata#Webhooks/$entity",
    "Url": "https://orchestrator.uipath.com/reference",
    "Enabled": false,
    "Secret": "This is a new secret.",
    "SubscribeToAllEvents": false,
    "AllowInsecureSsl": true,
    "Id": 10,
    "Events": [
        {
            "EventType": "process.created"
        },
        {
            "EventType": "queue.created"
        },
        {
            "EventType": "robot.deleted"
        }
    ]
}
```

## Testing the webhook target URL

The following request enables you to test the target URL, and, if successful, it returns a `ping` type of event, its Id, `TenantId`, `OrganizationUnitId`, and `UserId`.

POST

`{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/Webhooks(11)/UiPath.Server.Configuration.OData.Ping`

### Request headers

| Key | Value |
| --- | --- |
| Authorization | Bearer |

### Response code

200 OK

### Response body

```
{
  "@odata.context": "{AutomationCloudURL}/{organizationName}/{tenantName}/orchestrator_/odata/$metadata#UiPath.Webhooks.Dto.PingEventDto",
  "Type": "ping",
  "EventId": "c3319a2d83c44b2f989bdd7eba1f0297",
  "Timestamp": "2018-11-19T14:32:47.6024779Z",
  "TenantId": 57,
  "OrganizationUnitId": null,
  "UserId": 583
}
```
