---
title: "Update mutable vehicle fields"
method: PATCH
path: "/api/v1/vehicles/{id}"
tags: ["Vehicles"]
---

# Update mutable vehicle fields

`PATCH /api/v1/vehicles/{id}`

## Request

- Base URL: `https://fleetkeep.co.uk`
- URL: `https://fleetkeep.co.uk/api/v1/vehicles/{id}`
- Auth: OAuth 2 (authorization code, authorization URL `https://fleetkeep.co.uk/auth/oauth2/authorize`, token URL `https://fleetkeep.co.uk/auth/oauth2/token`, scopes: `vehicles:write`)

Patch semantics: only fields present in the body are touched. `null` explicitly clears a value; missing keys leave the existing value untouched. Label, insuranceDueDate, lastServiceDate, lastServiceMileage, serviceIntervalMonths, serviceIntervalDays, operationalStatus, assignedDriverName, assignedDriverContact and statusNotes are mutable. DVLA-sourced fields cannot be patched and refresh from DVLA on a server-side schedule.

## Request body

- UpdateVehiclePatch: All fields are optional. Provide a value to set, `null` to clear a nullable field, or omit to leave unchanged. operationalStatus cannot be null. When changing service interval units, explicitly clear the alternative field; days take precedence when both are set.
  - `label` string, nullable
  - `insuranceDueDate` string, date, nullable
  - `lastServiceDate` string, date, nullable
  - `lastServiceMileage` integer, nullable
  - `serviceIntervalMonths` integer, nullable
  - `serviceIntervalDays` integer, nullable
  - `operationalStatus` 'active' | 'standby' | 'in_maintenance' | 'off_road' | 'sold_or_removed'
  - `assignedDriverName` string, nullable
  - `assignedDriverContact` string, nullable
  - `statusNotes` string, nullable

## Response `200`

Patch applied

- object
  - `ok` true, required

## Other responses

- `400`: The request body or query was invalid.
- `401`: Missing or invalid Bearer access token.
- `403`: Token does not include the required scope.
- `404`: The requested resource does not exist on the authorised user's account, is the wrong event type, or is immutable history for this operation.
- `429`: Per-token rate limit exceeded (60 requests per minute).

---

[API](https://skmtc.dev/fleetkeep/apis/fleetkeep-api.md) · [All operations](https://skmtc.dev/fleetkeep/apis/fleetkeep-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fleetkeep/apis/fleetkeep-api/revisions/ace19bc0d64d?raw)
