0

Restore snapshot

by
Published Oct 17, 2025

Restore a persistent disk to an available snapshot. **This operation is irreversible.** It will overwrite the current disk data. It might also trigger a service deploy. Snapshot keys returned from the [List snapshots](https://api-docs.render.com/reference/list-snapshots) endpoint expire after 24 hours. If a snapshot key has expired, query the endpoint again for a new key.

Script render Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Render = {
3
	apiKey: string
4
}
5
/**
6
 * Restore snapshot
7
 * Restore a persistent disk to an available snapshot.
8

9
**This operation is irreversible.** It will overwrite the current disk data. It might also trigger a service deploy.
10

11
Snapshot keys returned from the [List snapshots](https://api-docs.render.com/reference/list-snapshots) endpoint expire after 24 hours. If a snapshot key has expired, query the endpoint again for a new key.
12

13
 */
14
export async function main(
15
	auth: Render,
16
	diskId: string,
17
	body: { snapshotKey: string; instanceId?: string }
18
) {
19
	const url = new URL(`https://api.render.com/v1/disks/${diskId}/snapshots/restore`)
20

21
	const response = await fetch(url, {
22
		method: 'POST',
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