0

List invitations

by
Published Oct 17, 2025

List invitations for an account. It will also list the accessible resources like projects and locales the invited user has access to. In case nothing is shown the default access from the role is used. Access token scope must include team.manage.

Script phrase Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Phrase = {
3
	token: string
4
	baseUrl: string
5
}
6
/**
7
 * List invitations
8
 * List invitations for an account. It will also list the accessible resources like projects and locales the invited user has access to. In case nothing is shown the default access from the role is used. Access token scope must include team.manage.
9
 */
10
export async function main(
11
	auth: Phrase,
12
	account_id: string,
13
	page: string | undefined,
14
	per_page: string | undefined
15
) {
16
	const url = new URL(`${auth.baseUrl}/accounts/${account_id}/invitations`)
17
	for (const [k, v] of [
18
		['page', page],
19
		['per_page', per_page]
20
	]) {
21
		if (v !== undefined && v !== '' && k !== undefined) {
22
			url.searchParams.append(k, v)
23
		}
24
	}
25
	const response = await fetch(url, {
26
		method: 'GET',
27
		headers: {
28
			Authorization: 'ApiToken ' + auth.token
29
		},
30
		body: undefined
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