0

List existing DNS records

by
Published Apr 8, 2025

Retrieves a list of DNS records created for a domain name. By default it returns 20 records if no limit is provided. The rest can be retrieved using the pagination options.

Script vercel Verified

The script

Submitted by hugo697 Bun
Verified 428 days ago
1
//native
2
type Vercel = {
3
  token: string;
4
};
5
/**
6
 * List existing DNS records
7
 * Retrieves a list of DNS records created for a domain name. By default it returns 20 records if no limit is provided. The rest can be retrieved using the pagination options.
8
 */
9
export async function main(
10
  auth: Vercel,
11
  domain: string,
12
  limit: string | undefined,
13
  since: string | undefined,
14
  until: string | undefined,
15
  teamId: string | undefined,
16
  slug: string | undefined,
17
) {
18
  const url = new URL(`https://api.vercel.com/v4/domains/${domain}/records`);
19
  for (const [k, v] of [
20
    ["limit", limit],
21
    ["since", since],
22
    ["until", until],
23
    ["teamId", teamId],
24
    ["slug", slug],
25
  ]) {
26
    if (v !== undefined && v !== "" && k !== undefined) {
27
      url.searchParams.append(k, v);
28
    }
29
  }
30
  const response = await fetch(url, {
31
    method: "GET",
32
    headers: {
33
      Authorization: "Bearer " + auth.token,
34
    },
35
    body: undefined,
36
  });
37
  if (!response.ok) {
38
    const text = await response.text();
39
    throw new Error(`${response.status} ${text}`);
40
  }
41
  return await response.json();
42
}
43