0

Get content template

by
Published Oct 17, 2025

Returns a content template. This includes information about template, like the name, the space or blueprint that the template is in, the body of the template, and more. **[Permissions](https://confluence.atlassian.com/x/_AozKw) required**: 'View' permission for the space to view space templates and permission to access the Confluence site ('Can use' global permission) to view global templates.

Script confluence Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Confluence = {
3
	email: string
4
	apiToken: string
5
	domain: string
6
}
7
/**
8
 * Get content template
9
 * Returns a content template. This includes information about template,
10
like the name, the space or blueprint that the template is in, the body
11
of the template, and more.
12

13
**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
14
'View' permission for the space to view space templates and permission to
15
access the Confluence site ('Can use' global permission) to view global templates.
16
 */
17
export async function main(
18
	auth: Confluence,
19
	contentTemplateId: string,
20
	expand: string | undefined
21
) {
22
	const url = new URL(`https://${auth.domain}/wiki/rest/api/template/${contentTemplateId}`)
23
	for (const [k, v] of [['expand', expand]]) {
24
		if (v !== undefined && v !== '' && k !== undefined) {
25
			url.searchParams.append(k, v)
26
		}
27
	}
28
	const response = await fetch(url, {
29
		method: 'GET',
30
		headers: {
31
			Authorization: 'Basic ' + btoa(`${auth.email}:${auth.apiToken}`)
32
		},
33
		body: undefined
34
	})
35
	if (!response.ok) {
36
		const text = await response.text()
37
		throw new Error(`${response.status} ${text}`)
38
	}
39
	return await response.json()
40
}
41