0

List log label values

by
Published Oct 17, 2025

List all values for a given log label in the logs matching the provided filters.

Script render Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Render = {
3
	apiKey: string
4
}
5
/**
6
 * List log label values
7
 * List all values for a given log label in the logs matching the provided filters.
8
 */
9
export async function main(
10
	auth: Render,
11
	ownerId: string | undefined,
12
	label: 'instance' | 'host' | 'statusCode' | 'method' | 'level' | 'type' | undefined,
13
	startTime: string | undefined,
14
	endTime: string | undefined,
15
	direction: 'forward' | 'backward' | undefined,
16
	resource: string | undefined,
17
	instance: string | undefined,
18
	host: string | undefined,
19
	statusCode: string | undefined,
20
	method: string | undefined,
21
	level: string | undefined,
22
	_type: string | undefined,
23
	text: string | undefined,
24
	path: string | undefined,
25
	limit: string | undefined
26
) {
27
	const url = new URL(`https://api.render.com/v1/logs/values`)
28
	for (const [k, v] of [
29
		['ownerId', ownerId],
30
		['label', label],
31
		['startTime', startTime],
32
		['endTime', endTime],
33
		['direction', direction],
34
		['resource', resource],
35
		['instance', instance],
36
		['host', host],
37
		['statusCode', statusCode],
38
		['method', method],
39
		['level', level],
40
		['type', _type],
41
		['text', text],
42
		['path', path],
43
		['limit', limit]
44
	]) {
45
		if (v !== undefined && v !== '' && k !== undefined) {
46
			url.searchParams.append(k, v)
47
		}
48
	}
49
	const response = await fetch(url, {
50
		method: 'GET',
51
		headers: {
52
			Authorization: 'Bearer ' + auth.apiKey
53
		},
54
		body: undefined
55
	})
56
	if (!response.ok) {
57
		const text = await response.text()
58
		throw new Error(`${response.status} ${text}`)
59
	}
60
	return await response.json()
61
}
62