0

Update a location

by
Published Oct 17, 2025

Updates an existing location by setting field values. Any fields not provided remain unchanged. Permissions and other requirements SubscriptionCompany User typeBusiness user with admin privileges PermissionsEdit Locations

Script sage_intacct Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type SageIntacct = {
3
	token: string
4
}
5
/**
6
 * Update a location
7
 * Updates an existing location by setting field values. Any fields not provided remain unchanged.
8

9

10
Permissions and other requirements
11

12
SubscriptionCompany
13
User typeBusiness user with admin privileges
14
PermissionsEdit Locations
15

16

17

18

19
 */
20
export async function main(
21
	auth: SageIntacct,
22
	key: string,
23
	body: {
24
		key?: string
25
		id?: string
26
		href?: string
27
		name?: string
28
		status?: 'active' | 'activeNonPosting' | 'inactive'
29
		taxId?: string
30
		startDate?: string
31
		endDate?: string
32
		contacts?: {
33
			primary?: {
34
				key?: string
35
				id?: string
36
				href?: string
37
				lastName?: string
38
				firstName?: string
39
				middleName?: string
40
				prefix?: string
41
				printAs?: string
42
				email1?: string
43
				email2?: string
44
				phone1?: string
45
				phone2?: string
46
				mobile?: string
47
				pager?: string
48
				fax?: string
49
				URL1?: string
50
				URL2?: string
51
				companyName?: string
52
				mailingAddress?: {
53
					addressLine1?: string
54
					addressLine2?: string
55
					addressLine3?: string
56
					city?: string
57
					state?: string
58
					postCode?: string
59
					country?: string
60
				}
61
			} & {}
62
			shipTo?: {
63
				key?: string
64
				id?: string
65
				href?: string
66
				lastName?: string
67
				firstName?: string
68
				middleName?: string
69
				prefix?: string
70
				printAs?: string
71
				email1?: string
72
				email2?: string
73
				phone1?: string
74
				phone2?: string
75
				mobile?: string
76
				pager?: string
77
				fax?: string
78
				URL1?: string
79
				URL2?: string
80
				companyName?: string
81
				mailingAddress?: {
82
					addressLine1?: string
83
					addressLine2?: string
84
					addressLine3?: string
85
					city?: string
86
					state?: string
87
					postCode?: string
88
					country?: string
89
				}
90
			} & {}
91
		}
92
		locationReportingTitle?: string
93
		parent?: { key?: string; id?: string; href?: string; name?: string }
94
		manager?: { key?: string; id?: string; href?: string; name?: string }
95
		audit?: {
96
			createdDateTime?: string
97
			modifiedDateTime?: string
98
			createdBy?: string
99
			modifiedBy?: string
100
		}
101
	} & { id?: {} }
102
) {
103
	const url = new URL(`https://api.intacct.com/ia/api/v1/objects/company-config/location/${key}`)
104

105
	const response = await fetch(url, {
106
		method: 'PATCH',
107
		headers: {
108
			'Content-Type': 'application/json',
109
			Authorization: 'Bearer ' + auth.token
110
		},
111
		body: JSON.stringify(body)
112
	})
113
	if (!response.ok) {
114
		const text = await response.text()
115
		throw new Error(`${response.status} ${text}`)
116
	}
117
	return await response.json()
118
}
119