Get an expense
One script reply has been approved by the moderators Verified

Get an expense by its ID.

Created by hugo697 170 days ago
Submitted by hugo697 Bun
Verified 170 days ago
1
//native
2
type Brex = {
3
  token: string;
4
};
5
/**
6
 * Get an expense
7
 * Get an expense by its ID.
8
 */
9
export async function main(
10
  auth: Brex,
11
  id: string,
12
  expand__: string | undefined,
13
  load_custom_fields: string | undefined,
14
) {
15
  const url = new URL(`https://platform.brexapis.com/v1/expenses/${id}`);
16
  for (const [k, v] of [
17
    ["expand[]", expand__],
18
    ["load_custom_fields", load_custom_fields],
19
  ]) {
20
    if (v !== undefined && v !== "" && k !== undefined) {
21
      url.searchParams.append(k, v);
22
    }
23
  }
24
  const response = await fetch(url, {
25
    method: "GET",
26
    headers: {
27
      Authorization: "Bearer " + auth.token,
28
    },
29
    body: undefined,
30
  });
31
  if (!response.ok) {
32
    const text = await response.text();
33
    throw new Error(`${response.status} ${text}`);
34
  }
35
  return await response.json();
36
}
37