# Replace a contract line item > PUT /api/customers/{id}/contracts/{contractId}/line-items/{itemId} on the Vigilbase One API. Source: https://docs.vigilbase.com/one/api/reference/customers/put-customers-id-contracts-contract-id-line-items-item-id `PUT https://one.vigilbase.com/api/customers/{id}/contracts/{contractId}/line-items/{itemId}` ## Authorizations Send one of these: - `Authorization` (string, header, required): Bearer access token from Vigilbase Identity (`auth.vigilbase.com`), sent as `Authorization: Bearer `. The CLI gets one with `vigilbase login`. - `Authorization` (string, header, required): Organisation API key (`vb_one_…`) from **Settings → API keys** in Vigilbase One, sent as `Authorization: Bearer vb_one_…`. Needs a key with write access: read-only keys get `403` with the code `read_only_key`. See [organisation API keys](https://docs.vigilbase.com/one/api#organisation-api-keys). - Permissions checked: `write:contracts` ## Path parameters - `id` (string, required) - `contractId` (string, required) - `itemId` (string, required) ## Body (application/json) - `name` (string): Min length 1. - `description` (string | null) - `quantity` (integer): Maximum 9007199254740991. - `unit_price` (number): Minimum 0. - `cost_price` (number | null) - `stripe_subscription_item_id` (string | null) - `stripe_price_id` (string | null) - `stripe_product_id` (string | null) - `service_id` (any) - `quantity_limit` (any) - `quantity_unit` (string | null) - `bandwidth_limit_tb` (any) - `requests_limit_millions` (any) - `is_active` (boolean) - `included_quantity` (any) - `overage_rate` (number | null) - `metadata` (object) ## Responses ### 200 Success ### 401 Authentication required ### 403 Not permitted ## Example request ```bash # Token from `vigilbase login`, or a write API key (vb_one_…) curl --request PUT \ --url 'https://one.vigilbase.com/api/customers/{id}/contracts/{contractId}/line-items/{itemId}' \ --header "Authorization: Bearer $VIGILBASE_TOKEN" \ --header 'Content-Type: application/json' \ --data '{"name":"","description":"","quantity":123,"unit_price":123,"cost_price":123,"stripe_subscription_item_id":"","stripe_price_id":"","stripe_product_id":"","service_id":"","quantity_limit":"","quantity_unit":"","bandwidth_limit_tb":"","requests_limit_millions":"","is_active":true,"included_quantity":"","overage_rate":123,"metadata":{}}' ```