//native
type SageIntacct = {
token: string
}
/**
* Update a project status
* Updates an existing project status by setting field values. Any fields not provided remain unchanged.
Permissions and other requirements
SubscriptionProjects Basic Project Tracking and General Ledger (enable the Projects dimension)
User typeBusiness, Project Manager
PermissionsEdit Project Status
*/
export async function main(
auth: SageIntacct,
key: string,
body: {
key?: string
id?: string
description?: string
disableTimesheetEntry?: false | true
disableExpenseEntry?: false | true
disablePurchasingAPEntry?: false | true
disableGenerateInvoice?: false | true
status?: 'active' | 'inactive'
entity?: { key?: string; id?: string; name?: string; href?: string }
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
href?: string
} & { id?: {} }
) {
const url = new URL(`https://api.intacct.com/ia/api/v1/objects/projects/project-status/${key}`)
const response = await fetch(url, {
method: 'PATCH',
headers: {
'Content-Type': 'application/json',
Authorization: 'Bearer ' + auth.token
},
body: JSON.stringify(body)
})
if (!response.ok) {
const text = await response.text()
throw new Error(`${response.status} ${text}`)
}
return await response.json()
}
Submitted by hugo697 235 days ago