## Edit Commit `client.v2.contracts.editCommit(ContractEditCommitParamsbody, RequestOptionsoptions?): ContractEditCommitResponse` **post** `/v2/contracts/commits/edit` Edit a customer or contract commit. Contract commits can only be edited using this endpoint if contract editing is enabled. ### Parameters - **body:** `ContractEditCommitParams` - **commit\_id:** `string` ID of the commit to edit - **customer\_id:** `string` ID of the customer whose commit is being edited - **access\_schedule:** `AccessSchedule` - **add\_schedule\_items:** `Array` - **amount:** `number` - **ending\_before:** `string` - **starting\_at:** `string` - **remove\_schedule\_items:** `Array` - **id:** `string` - **update\_schedule\_items:** `Array` - **id:** `string` - **amount:** `number` - **ending\_before:** `string` - **starting\_at:** `string` - **applicable\_product\_ids:** `Array | null` Which products the commit applies to. If applicable_product_ids, applicable_product_tags or specifiers are not provided, the commit applies to all products. - **applicable\_product\_tags:** `Array | null` Which tags the commit applies to. If applicable_product_ids, applicable_product_tags or specifiers are not provided, the commit applies to all products. - **invoice\_contract\_id:** `string` ID of contract to use for invoicing - **invoice\_schedule:** `InvoiceSchedule` - **add\_schedule\_items:** `Array` - **timestamp:** `string` - **amount:** `number` - **quantity:** `number` - **unit\_price:** `number` - **remove\_schedule\_items:** `Array` - **id:** `string` - **update\_schedule\_items:** `Array` - **id:** `string` - **amount:** `number` - **quantity:** `number` - **timestamp:** `string` - **unit\_price:** `number` - **priority:** `number | null` If multiple commits are applicable, the one with the lower priority will apply first. - **product\_id:** `string` - **specifiers:** `Array | null` List of filters that determine what kind of customer usage draws down a commit or credit. A customer's usage needs to meet the condition of at least one of the specifiers to contribute to a commit's or credit's drawdown. This field cannot be used together with `applicable_product_ids` or `applicable_product_tags`. Instead, to target usage by product or product tag, pass those values in the body of `specifiers`. - **presentation\_group\_values:** `Record` - **pricing\_group\_values:** `Record` - **product\_id:** `string` If provided, the specifier will only apply to the product with the specified ID. - **product\_tags:** `Array` If provided, the specifier will only apply to products with all the specified tags. ### Returns - `ContractEditCommitResponse` - **data:** `ID` ### Example ```node import Metronome from '@metronome/sdk'; const client = new Metronome({ bearerToken: 'My Bearer Token', }); const response = await client.v2.contracts.editCommit({ commit_id: '5e7e82cf-ccb7-428c-a96f-a8e4f67af822', customer_id: '4c91c473-fc12-445a-9c38-40421d47023f', access_schedule: { update_schedule_items: [ { id: 'd5edbd32-c744-48cb-9475-a9bca0e6fa39', ending_before: '2025-03-12T00:00:00Z' }, ], }, }); console.log(response.data); ```