0

Update an item group

by
Published Oct 17, 2025

Updates an existing item group by setting field values. Any fields not provided remain unchanged.

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 an item group
7
 * Updates an existing item group by setting field values. Any fields not provided remain unchanged.
8
 */
9
export async function main(
10
	auth: SageIntacct,
11
	key: string,
12
	body: {
13
		key?: string
14
		id?: string
15
		href?: string
16
		name?: string
17
		description?: string
18
		groupType?: 'all' | 'specific'
19
		memberFilter?: {
20
			object?: string
21
			filters?:
22
				| { $eq?: {} }
23
				| { $ne?: {} }
24
				| { $lt?: {} }
25
				| { $lte?: {} }
26
				| { $gt?: {} }
27
				| { $gte?: {} }
28
				| { $in?: {} }
29
				| { $notIn?: {} }
30
				| { $contains?: {} }
31
				| { $notContains?: {} }
32
				| { $startsWith?: {} }
33
				| { $notStartsWith?: {} }
34
				| { $endsWith?: {} }
35
				| { $notEndsWith?: {} }[]
36
			filterExpression?: string
37
			orderBy?: {}[]
38
			size?: number
39
		} & {}
40
		groupMembers?: {
41
			key?: string
42
			id?: string
43
			href?: string
44
			itemGroup?: { key?: string; id?: string; href?: string }
45
			item?: {
46
				key?: string
47
				id?: string
48
				name?: string
49
				status?: 'active' | 'inactive'
50
				href?: string
51
			}
52
			sortOrder?: number
53
			audit?: {
54
				createdDateTime?: string
55
				modifiedDateTime?: string
56
				createdBy?: string
57
				modifiedBy?: string
58
			}
59
		}[]
60
		glAccountGroup?: { key?: string; id?: string; href?: string }
61
		createDimensionComponents?: false | true
62
		audit?: {
63
			createdDateTime?: string
64
			modifiedDateTime?: string
65
			createdBy?: string
66
			modifiedBy?: string
67
		}
68
		entity?: { key?: string; id?: string; name?: string; href?: string }
69
	} & { id?: {} }
70
) {
71
	const url = new URL(
72
		`https://api.intacct.com/ia/api/v1/objects/inventory-control/item-group/${key}`
73
	)
74

75
	const response = await fetch(url, {
76
		method: 'PATCH',
77
		headers: {
78
			'Content-Type': 'application/json',
79
			Authorization: 'Bearer ' + auth.token
80
		},
81
		body: JSON.stringify(body)
82
	})
83
	if (!response.ok) {
84
		const text = await response.text()
85
		throw new Error(`${response.status} ${text}`)
86
	}
87
	return await response.json()
88
}
89