0

List URL lists

by
Published today

List the tenant's URL lists (id, name, data.urls, data.type, and pending = 1 when the list has changes not yet applied), one page at a time (limit, default 100, and offset). field restricts the returned columns, e.g. id,name. Returns url_lists plus next_offset, null on the last page.

Script netskope Verified

The script

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

3
/**
4
 * List URL lists
5
 * List the tenant's URL lists (id, name, data.urls, data.type, pending flag), one page at a time. Pass next_offset back as offset to fetch the next page.
6
 */
7
export async function main(
8
  auth: RT.Netskope,
9
  limit: number | undefined,
10
  offset: number | undefined,
11
  field: string | undefined
12
) {
13
  const pageSize = limit || 100
14
  const skip = offset || 0
15

16
  const url = new URL(
17
    `${auth.tenant_url.replace(/\/+$/, "")}/api/v2/policy/urllist`
18
  )
19
  url.searchParams.append("limit", pageSize.toString())
20
  url.searchParams.append("offset", skip.toString())
21
  if (field != null && field !== "") {
22
    url.searchParams.append("field", field)
23
  }
24

25
  const response = await fetch(url, {
26
    method: "GET",
27
    headers: {
28
      "Netskope-Api-Token": auth.token,
29
      Accept: "application/json",
30
    },
31
  })
32

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

37
  const url_lists = await response.json()
38
  return {
39
    url_lists,
40
    next_offset:
41
      Array.isArray(url_lists) && url_lists.length === pageSize
42
        ? skip + pageSize
43
        : null,
44
  }
45
}
46