//native
type SageIntacct = {
token: string
}
/**
* Update a project estimate type
* Updates an existing project estimate type by setting field values. Any fields not provided remain unchanged.
Permissions and other requirements
SubscriptionProject Costing and Billing
User typeBusiness, Employee, Project Manager
PermissionsEdit Estimate Types
*/
export async function main(
auth: SageIntacct,
key: string,
body: {
key?: string
id?: string
href?: string
workflowTypes?:
| 'original'
| 'revision'
| 'forecast'
| 'approvedChange'
| 'pendingChange'
| 'other'[]
estimateCategory?:
| 'currentEstimate'
| 'originalEstimate'
| 'currentForecastAtCompletion'
| 'historicalForecastAtCompletion'
| 'futureForecastAtCompletion'
| 'currentForecastToCompletion'
| 'historicalForecastToCompletion'
| 'futureForecastToCompletion'
status?: 'active' | 'inactive'
audit?: {
createdDateTime?: string
modifiedDateTime?: string
createdBy?: string
modifiedBy?: string
}
} & { id?: {} }
) {
const url = new URL(
`https://api.intacct.com/ia/api/v1/objects/construction/project-estimate-type/${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