0

Update a product line

by
Published Oct 17, 2025

Updates an existing product line by setting field values. Any fields not provided remain unchanged. Permissions and other requirements SubscriptionInventory Control, Order Entry, or Purchasing User typeBusiness PermissionsList, View, Edit Product Lines

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 product line
7
 * Updates an existing product line by setting field values. Any fields not provided remain unchanged.
8

9

10
Permissions and other requirements
11

12
SubscriptionInventory Control, Order Entry, or Purchasing
13
User typeBusiness
14
PermissionsList, View, Edit Product Lines
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
		description?: string
27
		parent?: { key?: string; id?: string; href?: string }
28
		href?: string
29
		status?: 'active' | 'inactive'
30
		entity?: { key?: string; id?: string; name?: string; href?: string }
31
		audit?: {
32
			createdDateTime?: string
33
			modifiedDateTime?: string
34
			createdBy?: string
35
			modifiedBy?: string
36
		}
37
	} & { id?: {} }
38
) {
39
	const url = new URL(
40
		`https://api.intacct.com/ia/api/v1/objects/inventory-control/product-line/${key}`
41
	)
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