---
title: "Update connection parameters"
method: PUT
path: "/api/v3/destinations/{destination_name}/connections/{id}"
tags: ["Destination connections"]
---

# Update connection parameters

`PUT /api/v3/destinations/{destination_name}/connections/{id}`

## Request

- Base URL: `https://embedded.improvado.io`
- URL: `https://embedded.improvado.io/api/v3/destinations/{destination_name}/connections/{id}`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `dts_session_id`
- TypeScript: <https://skmtc.dev/improvado/apis/improvado-embedded-api-v3/docs/api/v3/destinations/:destination_name/connections/:id/put.ts> (a function with typed inputs; its response is checked against the schema)

Update the title and/or connection parameters of an existing destination connection.

`connection_params` is merged at field level: only the fields present in the payload are
updated, omitted fields keep their current values. To change a single setting, send just
that field — e.g. `{"connection_params": {"partition_by": "by_month"}}`.

Notes:

- Unknown field names are rejected with `400`.
- Secret fields cannot be updated one at a time — if any secret field is present in the
  payload, all required secret fields must be sent together. For `s3` that means
  `aws_access_key_id`, `aws_secret_access_key` and `encryption_key` always travel as a
  trio (keep `encryption_key: "stub"` unless you use a customer-managed KMS key).
  Omit secret fields entirely to keep the stored values.
- `improvado_assume_role_arn` and `improvado_assume_role_externalid` are managed by
  Improvado and cannot be changed through this endpoint.
- A successful update resets the connection status and triggers a connection re-check.

See the create endpoint for the full list of `connection_params` fields per destination.

## Path parameters

- `destination_name` string, required
- `id` integer, required

## Request body

- object
  - `title` string: Connection title
  - `connection_params` object: Connection params to change. Merged at field level with the stored parameters — omitted fields keep their current values.

## Response `200`

Update a Connection

## Other responses

- `400`: Bad Request
- `401`: Forbidden

---

[API](https://skmtc.dev/improvado/apis/improvado-embedded-api-v3.md) - [All operations](https://skmtc.dev/improvado/apis/improvado-embedded-api-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/improvado/apis/improvado-embedded-api-v3/revisions/a881099bd6c4?raw)
