0

Retrieve monitors for an organization

by
Published Oct 17, 2025

Lists monitors, including nested monitor environments. May be filtered to a project or environment.

Script sentry Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
/**
3
 * Retrieve monitors for an organization
4
 * Lists monitors, including nested monitor environments. May be filtered to a project or environment.
5
 */
6
export async function main(
7
	auth: RT.Sentry,
8
	project?: string | undefined,
9
	environment?: string | undefined,
10
	owner?: string | undefined
11
) {
12
	const url = new URL(
13
		`https://${auth.region}.sentry.io/api/0/organizations/${auth.organizationSlug}/monitors/`
14
	)
15
	for (const [k, v] of [
16
		['project', project],
17
		['environment', environment],
18
		['owner', owner]
19
	]) {
20
		if (v !== undefined && v !== '') {
21
			url.searchParams.append(k, v)
22
		}
23
	}
24
	const response = await fetch(url, {
25
		method: 'GET',
26
		headers: {
27
			Authorization: 'Bearer ' + auth.token
28
		},
29
		body: undefined
30
	})
31
	if (!response.ok) {
32
		const text = await response.text()
33
		throw new Error(`${response.status} ${text}`)
34
	}
35
	return await response.json()
36
}
37