---
title: "Add vehicle"
method: POST
path: "/vehicles"
tags: ["Vehicles"]
---

# Add vehicle

`POST /vehicles`

## Request body

- StoreVehicleRequest
  - `manufacturer` string — Tool manufacturer
  - `model` string, required — Tool model
  - `registration_number` string — Registration number
  - `license_plate` string — License plate
  - `date_of_purchase` string, date — Date of purchase
  - `next_maintenance` string, date — Next maintenance date
  - `mot_expires` string, date — When does the MOT expire? (german TÜV)
  - `condition` 'NEW' | 'USED' | 'LEASED' | 'DEFECT' | 'SORTED_OUT' — Vehicle condition
  - `info` string — Information
  - `source` string — The project source
  - `source_external_id` string — The project source_external_id

## Response `201`

The resource was successfully created.

## Other responses

- `401` — The request lacks valid authentication credentials.
- `403` — The token is valid but lacks the permission for this action.
- `422` — The request was well-formed but contains semantic errors (validation failed).
- `500` — An unexpected error occurred on the server (e.g. a requested relation does not exist).

## Changes

- **2026-09-03** `60bb67970e41` — 3 info
  - added the optional property `error/display_message` to the response with the `401` status
  - added the optional property `error/display_message` to the response with the `403` status
  - added the optional property `error/display_message` to the response with the `500` status

[Change history](https://skmtc.dev/craftboxx/apis/craftboxx-api-documentation/changes/vehicles/post.md)

---

[API](https://skmtc.dev/craftboxx/apis/craftboxx-api-documentation.md) · [All operations](https://skmtc.dev/craftboxx/apis/craftboxx-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/craftboxx/craftboxx-api-documentation/revisions/60bb67970e41/schema)
