0

Update redirect/rewrite rules

by
Published Oct 17, 2025

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).

Script render Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Render = {
3
	apiKey: string
4
}
5
/**
6
 * Update redirect/rewrite rules
7
 * Replace all redirect/rewrite rules for a particular service with the provided list.
8

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

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

13
 */
14
export async function main(
15
	auth: Render,
16
	serviceId: string,
17
	body: { type: 'redirect' | 'rewrite'; source: string; destination: string }[]
18
) {
19
	const url = new URL(`https://api.render.com/v1/services/${serviceId}/routes`)
20

21
	const response = await fetch(url, {
22
		method: 'PUT',
23
		headers: {
24
			'Content-Type': 'application/json',
25
			Authorization: 'Bearer ' + auth.apiKey
26
		},
27
		body: JSON.stringify(body)
28
	})
29
	if (!response.ok) {
30
		const text = await response.text()
31
		throw new Error(`${response.status} ${text}`)
32
	}
33
	return await response.json()
34
}
35