---
title: "Update destination"
method: PUT
path: "/api/v1/projects/{projectId}/incoming-sources/{sourceId}/destinations/{id}"
tags: ["Incoming Destinations"]
---

# Update destination

`PUT /api/v1/projects/{projectId}/incoming-sources/{sourceId}/destinations/{id}`

## Request

- Base URL: `http://localhost:8080`
- URL: `http://localhost:8080/api/v1/projects/{projectId}/incoming-sources/{sourceId}/destinations/{id}`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Updates destination configuration

## Path parameters

- `projectId` string, uuid, required
- `sourceId` string, uuid, required
- `id` string, uuid, required

## Request body

- IncomingDestinationRequest: Request to create or update a forwarding destination
  - `url` string, required: Destination URL to forward webhooks to
  - `authType` 'NONE' | 'BASIC' | 'BEARER' | 'CUSTOM_HEADER': Authentication type for the destination
  - `authConfig` string: JSON auth config (encrypted at rest). Keys depend on authType: BEARER={token}, BASIC={username,password}, CUSTOM_HEADER={headerName,headerValue}
  - `customHeadersJson` string: Custom HTTP headers as JSON object
  - `enabled` boolean: Whether the destination is active
  - `maxAttempts` integer: Maximum delivery attempts before moving to DLQ
  - `timeoutSeconds` integer: HTTP request timeout in seconds
  - `retryDelays` string: Comma-separated retry delays in seconds
  - `retryableStatuses` string: Which HTTP statuses are worth another attempt. Comma-separated terms: an exact status, a range (500-599), a 5xx shorthand, or a comparison (>=500). Prefix a term with ! to exclude it; exclusions win wherever they are written.
  - `payloadTransform` string: JSONPath expression to transform payload before forwarding (null = forward as-is)
  - `transformationId` string, uuid: ID of a reusable transformation template to apply (overrides payloadTransform if set). Empty string detaches the destination from its template.

## Response `200`

Destination updated

## Other responses

- `404`: Destination not found

---

[API](https://skmtc.dev/railhook/apis/railhook-api.md) · [All operations](https://skmtc.dev/railhook/apis/railhook-api/llms.txt) · [OpenAPI document](https://skmtc.dev/railhook/apis/railhook-api/revisions/4e2c76dfc33d?raw)
