Creates a Personal Access Token for your User.
1
//native
2
type Linode = {
3
token: string;
4
};
5
/**
6
* Create a personal access token
7
* Creates a Personal Access Token for your User.
8
*/
9
export async function main(
10
auth: Linode,
11
apiVersion: "v4" | "v4beta",
12
body: { expiry?: string; label?: string; scopes?: string },
13
) {
14
const url = new URL(`https://api.linode.com/${apiVersion}/profile/tokens`);
15
16
const response = await fetch(url, {
17
method: "POST",
18
headers: {
19
"Content-Type": "application/json",
20
Authorization: "Bearer " + auth.token,
21
},
22
body: JSON.stringify(body),
23
});
24
if (!response.ok) {
25
const text = await response.text();
26
throw new Error(`${response.status} ${text}`);
27
}
28
return await response.json();
29
30