0

Update a department

by
Published Oct 17, 2025

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

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 department
7
 * Updates an existing department 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 Departments
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
		name?: string
27
		number?: string
28
		reportTitle?: string
29
		parent?: { key?: string; id?: string; name?: string; href?: string }
30
		supervisor?: { key?: string; id?: string; name?: string; href?: string }
31
		status?: 'active' | 'activeNonPosting' | 'inactive'
32
		audit?: {
33
			createdDateTime?: string
34
			modifiedDateTime?: string
35
			createdBy?: string
36
			modifiedBy?: string
37
		}
38
		href?: string
39
	} & { id?: {} }
40
) {
41
	const url = new URL(`https://api.intacct.com/ia/api/v1/objects/company-config/department/${key}`)
42

43
	const response = await fetch(url, {
44
		method: 'PATCH',
45
		headers: {
46
			'Content-Type': 'application/json',
47
			Authorization: 'Bearer ' + auth.token
48
		},
49
		body: JSON.stringify(body)
50
	})
51
	if (!response.ok) {
52
		const text = await response.text()
53
		throw new Error(`${response.status} ${text}`)
54
	}
55
	return await response.json()
56
}
57