0

Updates a plan

by
Published Oct 17, 2025

Update the details for a plan

Script zuplo Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Zuplo = {
3
	apiKey: string
4
}
5
/**
6
 * Updates a plan
7
 * Update the details for a plan
8
 */
9
export async function main(
10
	auth: Zuplo,
11
	bucketId: string,
12
	planId: string,
13
	body: {
14
		label?: string
15
		planExternalId?: string
16
		meters?: {}
17
		trialDays?: number
18
		trialEndStatus?: 'paused' | 'canceled'
19
		isTrialCollectPayment?: false | true
20
	}
21
) {
22
	const url = new URL(`https://dev.zuplo.com/v1/metering/${bucketId}/plans/${planId}`)
23

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