0

Delete Blog Post

by
Published today

Delete a blog post 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 Blog Post
5
 * Delete a blog post by its ID. By default the post is moved to the trash; set purge to permanently remove an already-trashed post.
6
 */
7
export async function main(
8
  auth: RT.Confluence,
9
  blog_post_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/blogposts/${blog_post_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