Gets project's usage api counts

Script supabase Verified

by hugo697 ยท 10/17/2025

The script

Submitted by hugo697 Bun
Verified 207 days ago
1
//native
2
type Supabase = {
3
	key: string
4
}
5
/**
6
 * Gets project's usage api counts
7
 *
8
 */
9
export async function main(
10
	auth: Supabase,
11
	ref: string,
12
	interval: '15min' | '30min' | '1hr' | '3hr' | '1day' | '3day' | '7day' | undefined
13
) {
14
	const url = new URL(
15
		`https://api.supabase.com/v1/projects/${ref}/analytics/endpoints/usage.api-counts`
16
	)
17
	for (const [k, v] of [['interval', interval]]) {
18
		if (v !== undefined && v !== '' && k !== undefined) {
19
			url.searchParams.append(k, v)
20
		}
21
	}
22
	const response = await fetch(url, {
23
		method: 'GET',
24
		headers: {
25
			Authorization: 'Bearer ' + auth.key
26
		},
27
		body: undefined
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