---
title: "Update redirect/rewrite rules"
method: PUT
path: "/services/{serviceId}/routes"
tags: ["Services - Routes"]
---

# Update redirect/rewrite rules

`PUT /services/{serviceId}/routes`

Replace all redirect/rewrite rules for a particular service with the provided list.

**This deletes all existing redirect/rewrite rules for the service that aren't included in the request.**

Rule priority is assigned according to list order (the first rule in the list has the highest priority).

## Request body

- RoutePut[]
  - `type` 'redirect' | 'rewrite', required
  - `source` string, required
  - `destination` string, required

## Response `200`

Updated

- Route[]
  - `id` string, required
  - `type` 'redirect' | 'rewrite', required
  - `source` string, required
  - `destination` string, required
  - `priority` integer, required — Redirect and Rewrite Rules are applied in priority order starting at 0

## Other responses

- `400` — The request could not be understood by the server.
- `401` — Authorization information is missing or invalid.
- `403` — You do not have permissions for the requested resource.
- `404` — Unable to find the requested resource.
- `406` — Unable to generate preferred media types as specified by Accept request header.
- `410` — The requested resource is no longer available.
- `429` — Rate limit has been surpassed.
- `500` — An unexpected server error has occurred.
- `503` — Server currently unavailable.

---

[API](https://skmtc.dev/render/apis/render-public-api.md) · [All operations](https://skmtc.dev/render/apis/render-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/render/render-public-api/revisions/80e0ff74d033/schema)
