0

Get Agreement Signing URLs

by
Published 4 days ago

Get the e-sign page URLs for the current signers of an agreement (available for embedded/hosted signing).

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
 * Get Agreement Signing URLs
18
 * Get the e-sign page URLs for the current signers of an agreement (available for embedded/hosted signing).
19
 */
20
export async function main(auth: RT.AdobeAcrobatSign, agreement_id: string) {
21
  const base = await apiBase(auth)
22
  const url = new URL(
23
    `${base}/api/rest/v6/agreements/${agreement_id}/signingUrls`
24
  )
25

26
  const response = await fetch(url, {
27
    method: "GET",
28
    headers: {
29
      Authorization: `Bearer ${auth.token}`,
30
      Accept: "application/json",
31
    },
32
  })
33

34
  if (!response.ok) {
35
    throw new Error(`${response.status} ${await response.text()}`)
36
  }
37

38
  return await response.json()
39
}
40