This method allows you to update an existing integration.

**Tip**: You can explore and test this endpoint interactively using our [OpenAPI documentation](https://api.deployhq.com/docs).

## URL

```text
/projects/<project>/integrations/<identifier>
```

* Replace `<project>` with either the `permalink` or `identifier` of the project.
* Replace `<identifier>` with the `identifier` of the integration.

## HTTP Method

```text
PATCH
```

## Supported Parameters

* `send_on_start` - Whether to send notifications when a deployment starts (optional)
* `send_on_completion` - Whether to send notifications when a deployment completes (optional)
* `send_on_failure` - Whether to send notifications when a deployment fails (optional)
* `name` - The display name of the integration (optional)
* `properties` - A hash of integration-specific properties such as URL, token, or channel (optional)

**Note**: For OAuth-based integrations (such as Slack, Discord, or Git Deployment Status), the API may return `auth_required: true` along with an `auth_url` if re-authentication is needed after the update.

## Example cURL Request

```shell
curl -H "Content-type: application/json" \
-H "Accept: application/json" \
--user adam@atechmedia.com:my-api-key \
-X PATCH \
-d '{"integration": {"name": "Updated webhook", "send_on_start": true, "send_on_completion": true, "send_on_failure": false, "properties": {"url": "https://example.com/webhook"}}}' \
https://test.deployhq.com/projects/project/integrations/a3f1b2c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c
```

## Example Response

```json
{
    "identifier": "a3f1b2c4-5d6e-7f8a-9b0c-1d2e3f4a5b6c",
    "hook_type": "http_post",
    "name": "Updated webhook",
    "send_on_start": true,
    "send_on_completion": true,
    "send_on_failure": false,
    "created_at": "2024-01-15T10:30:00.000Z",
    "updated_at": "2024-03-19T09:45:00.000Z"
}
```

If the integration requires re-authentication, the response will be:

```json
{
    "auth_required": true,
    "auth_url": "https://example.deployhq.com/auth/slack"
}
```
