---
title: "Update a route"
method: PUT
path: "/routes/{id}"
tags: ["Routes"]
---

# Update a route

`PUT /routes/{id}`

Partial update supported.

## Headers

- `X-Client-ID` integer

## Request body

- RouteCreate
  - `provider_id` integer, required — Must exist in `providers` table.
  - `route_name` string, required
  - `host` string, required — SMTP hostname or full HTTP URL.
  - `port` integer — SMTP port (not used for HTTP).
  - `username` string — SMTP username.
  - `password` string, password — AES-256 encrypted at rest.
  - `api_key` string — HTTP provider API key; AES-256 encrypted at rest.
  - `status` 'active' | 'inactive'
  - `protocol_type` 'smtp' | 'http'
  - `worker_size` integer
  - `buffer_size` integer
  - `is_default` boolean — Only one default per client.
  - `tls_mode` 'starttls' | 'tls' | 'none'

## Response `200`

Route updated.

- Route
  - `id` integer
  - `provider_id` integer
  - `route_name` string
  - `host` string
  - `port` integer — SMTP port; null for HTTP routes.
  - `username` string — SMTP username (masked on read).
  - `password` string — Masked value.
  - `api_key` string — Masked value.
  - `status` 'active' | 'inactive'
  - `protocol_type` 'smtp' | 'http'
  - `worker_size` integer
  - `buffer_size` integer
  - `is_default` boolean
  - `tls_mode` 'starttls' | 'tls' | 'none'
  - `created_at` string, date-time

## Other responses

- `404` — Route not found.

---

[API](https://skmtc.dev/netcorecloud/apis/email-api-v6.md) · [All operations](https://skmtc.dev/netcorecloud/apis/email-api-v6/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/netcorecloud/email-api-v6/revisions/73f83bc2eff8/schema)
