0

Delete Page

by
Published today

Delete a page by its ID (moved to trash by default; purge to permanently remove).

Script confluence Verified

The script

Submitted by hugo989 Typescript (fetch-only)
Verified 3 hours ago
1
//native
2

3
/**
4
 * Delete Page
5
 * Delete a page by its ID. By default the page is moved to the trash; set purge to permanently remove an already-trashed page.
6
 */
7
export async function main(
8
  auth: RT.Confluence,
9
  page_id: string,
10
  purge: boolean | undefined,
11
  draft: boolean | undefined
12
) {
13
  const base = auth.baseUrl.replace(/\/$/, "")
14
  const url = new URL(`${base}/wiki/api/v2/pages/${page_id}`)
15
  if (purge !== undefined) url.searchParams.append("purge", String(purge))
16
  if (draft !== undefined) url.searchParams.append("draft", String(draft))
17

18
  const response = await fetch(url, {
19
    method: "DELETE",
20
    headers: {
21
      Authorization: "Basic " + btoa(`${auth.email}:${auth.apiToken}`),
22
      Accept: "application/json",
23
    },
24
  })
25

26
  if (!response.ok) {
27
    throw new Error(`${response.status} ${await response.text()}`)
28
  }
29

30
  if (response.status === 204) return { success: true }
31
  return await response.json()
32
}
33