0

List Webhooks

by
Published 4 days ago

List the webhooks registered by the user, optionally filtered by scope.

Script adobe_acrobat_sign Verified

The script

Submitted by hugo989 Typescript (fetch-only)
Verified 5 days ago
1
//native
2

3
async function apiBase(auth: RT.AdobeAcrobatSign): Promise<string> {
4
  if (auth.base_uri) return auth.base_uri.replace(/\/+$/, "")
5
  const r = await fetch("https://api.adobesign.com/api/rest/v6/baseUris", {
6
    headers: {
7
      Authorization: `Bearer ${auth.token}`,
8
      Accept: "application/json",
9
    },
10
  })
11
  if (!r.ok) throw new Error(`${r.status} ${await r.text()}`)
12
  const { apiAccessPoint } = (await r.json()) as { apiAccessPoint: string }
13
  return apiAccessPoint.replace(/\/+$/, "")
14
}
15

16
/**
17
 * List Webhooks
18
 * List the webhooks registered by the user, optionally filtered by scope.
19
 */
20
export async function main(
21
  auth: RT.AdobeAcrobatSign,
22
  scopes: string | undefined,
23
  cursor: string | undefined,
24
  page_size: number | undefined
25
) {
26
  const base = await apiBase(auth)
27
  const url = new URL(`${base}/api/rest/v6/webhooks`)
28
  for (const [k, v] of [
29
    ["scopes", scopes],
30
    ["cursor", cursor],
31
    ["pageSize", page_size],
32
  ] as const) {
33
    if (v !== undefined && v !== "") {
34
      url.searchParams.append(k, String(v))
35
    }
36
  }
37

38
  const response = await fetch(url, {
39
    method: "GET",
40
    headers: {
41
      Authorization: `Bearer ${auth.token}`,
42
      Accept: "application/json",
43
    },
44
  })
45

46
  if (!response.ok) {
47
    throw new Error(`${response.status} ${await response.text()}`)
48
  }
49

50
  return await response.json()
51
}
52