---
title: "Create Vehicle"
method: POST
path: "/vehicles"
tags: ["Vehicles"]
---

# Create Vehicle

`POST /vehicles`

## Request

- Base URL: `https://secure.fleetio.com/api`
- URL: `https://secure.fleetio.com/api/vehicles`
- Auth: API key in header `Authorization` and API key in header `Account-Token`
- TypeScript: <https://skmtc.dev/fleetio/apis/fleetio-developer-api/docs/vehicles/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a new vehicle. If you need to create many vehicles at once, use the
[Bulk API](/docs/overview/bulk-api) to avoid [Rate Limiting
errors](/docs/overview/rate-limiting).

## Request body

- object
  - `color` string: The color of this Vehicle.
  - `default_image` object: The default image to assign to this Vehicle.
    - `file_url` string, uri: The URL of the image to set as this Vehicle's default image. Follow our [Attaching Documents and Images](/docs/overview/attaching-documents-and-images) guide to upload to our third party storage provider in order to obtain this URL.
  - `fuel_type_id` integer: The ID of the `Fuel Type` associated with this Vehicle.
  - `fuel_volume_units` 'us_gallons' | 'uk_gallons' | 'liters'
  - `group_id` integer: The id of the `Group` for the vehicle
  - `group_hierarchy` string: A pipe delimited group hierarchy. Ex: "Level 1|Level 2|Level 3". Where Level 1 is the parent of Level 2, and 2 is the parent of 3. Any missing nodes in the hierarchy will be created.
  - `label_ids` Id[]: The `label_id`(s) of any Labels to assign to this Vehicle. If you wish to keep any existing Labels, those IDs must be included in this array as well.
  - `license_plate` string: The license plate number of this Vehicle.
  - `make` string: The name of this Vehicle's manufacturer.
  - `primary_meter_unit` 'km' | 'hr' | 'mi', nullable, required: The measurement unit used for the Vehicle's primary, or secondary (if applicable), meter.
  - `model` string: The name of the model of this Vehicle.
  - `name` string, required: A name to assign to this Vehicle. Must be unique.
  - `ownership` 'owned' | 'leased' | 'rented' | 'customer' | 'financed' | 'rent_to_own'
  - `registration_expiration_month` integer: The month in which this Vehicle's registration expires.
  - `registration_state` string: The state, province, or territory in which this Vehicle is registered.
  - `secondary_meter` boolean: Indicates whether or not this Vehicle has a secondary meter.
  - `secondary_meter_unit` 'km' | 'hr' | 'mi', nullable: The measurement unit used for the Vehicle's primary, or secondary (if applicable), meter.
  - `system_of_measurement` 'imperial' | 'metric'
  - `trim` string: The trim level of this Vehicle.
  - `vehicle_status_id` integer, required: The ID of the `Vehicle Status` for this Vehicle.
  - `vehicle_type_id` integer, required: The ID of the `Vehicle Type` for this Vehicle.
  - `vin` string: The Vehicle Identification Number of this Vehicle. Must be unique.
  - `year` integer: This Vehicle's model year.
  - `linked_vehicle_ids` integer[]: The `vehicle_id`(s) of any Vehicles to link to this Vehicle.
  - `purchase_detail` object
    - `comment` string: A comment about this Vehicle's purchase.
    - `date` string, date-time: The date and time at which this Vehicle was purchased. We recommend using [ISO-8601](/docs/overview/date-formatting) formatted dates to avoid ambiguity.
    - `price` number, float: The price of this Vehicle at the time of purchase.
    - `vendor_id` integer: The ID of the `Vendor` from which this vehicle was purchased.
    - `warranty_expiration_date` string, date-time: The date and time at which this Vehicle's warranty expires. We recommend using [ISO-8601](/docs/overview/date-formatting) formatted dates to avoid ambiguity.
    - `warranty_expiration_meter_value` number, float: The meter value at which this Vehicle's warranty expires. We recommend using [ISO-8601](/docs/overview/date-formatting) formatted dates to avoid ambiguity.
    - `meter_entry_attributes.value` number, float: The meter value at the time of purchase.
    - `meter_entry_attributes.void` boolean: Indicates whether the `Meter Entry` created by passing `meter_entry_attributes.value` should be considered void. [Voiding Meter Entries](https://help.fleetio.com/s/article/Meter-Entry-Mark-As-Void-Unmark-As-Void)
  - `external_ids` object: Any [External IDs](/docs/guides/vehicles/external-vehicle-ids) associated with this Vehicle.
  - `vehicle_status_name` string: The name of the `Vehicle Status` associated with this Vehicle.
  - `vehicle_type_name` string: The name of the `Vehicle Type` associated with this Vehicle.
  - `in_service_date` string, date-time: The date on which this Vehicle was put into service. We recommend using [ISO-8601](/docs/overview/date-formatting) formatted dates to avoid ambiguity.
  - `in_service_meter_value` string: The meter value at which this Vehicle was put into service.
  - `estimated_service_months` integer: The estimated number of months this Vehicle will be in service.
  - `estimated_replacement_mileage` number, float: The estimated number of miles before which this Vehicle will be replaced.
  - `estimated_resale_price` number, float: The estimated resale price of this Vehicle.
  - `out_of_service_date` string, date-time: The date on which this Vehicle was or will be retired. We recommend using [ISO-8601](/docs/overview/date-formatting) formatted dates to avoid ambiguity.
  - `out_of_service_meter_value` string: The meter value at which this Vehicle was or will be retired.
  - `specs` object
    - `base_towing_capacity` number, float: The base towing capacity of the Vehicle.
    - `bed_length` number, float: The length of the Vehicle's bed.
    - `body_subtype` string: The subtype of the Vehicle body.
    - `body_type` string: The body type of the Vehicle.
    - `brake_system` string: The brake system used in the Vehicle.
    - `cargo_volume` number, float: Cargo volume of the Vehicle.
    - `curb_weight` number, float: The curb weight of the Vehicle.
    - `drive_type` string: The drive type of the Vehicle.
    - `engine_aspiration` string: Aspiration type of the engine.
    - `engine_block_type` string: Block type of the engine.
    - `engine_bore` number, float: Bore size of the engine.
    - `engine_brand` string: Brand of the Vehicle's engine.
    - `engine_cam_type` string: Camshaft type of the engine.
    - `engine_compression` number, float: Compression ratio of the engine.
    - `engine_cylinders` integer: Number of engine cylinders.
    - `engine_description` string: Description of the Vehicle's engine.
    - `engine_displacement` number, float: The displacement of the Vehicle's engine.
    - `engine_stroke` number, float: Stroke length of the engine.
    - `engine_valves` integer: Number of engine valves.
    - `epa_city` number, float: The EPA city fuel economy rating.
    - `epa_combined` number, float: The combined EPA fuel economy rating.
    - `epa_highway` number, float: The EPA highway fuel economy rating.
    - `front_tire_psi` number, float: The recommended PSI for front tires.
    - `front_tire_type` string: The type of front tires used in the Vehicle.
    - `front_track_width` number, float: The front track width of the Vehicle.
    - `front_wheel_diameter` string: The diameter of the front wheels.
    - `fuel_induction` string: Fuel induction method.
    - `fuel_quality` string: Fuel quality required for the engine.
    - `fuel_tank_capacity` number, float: The fuel tank capacity of the Vehicle.
    - `fuel_tank_2_capacity` number, float: The capacity of a second fuel tank, if applicable.
    - `gross_vehicle_weight_rating` number, float: The Gross Vehicle Weight Rating (GVWR).
    - `ground_clearance` number, float: The ground clearance of the Vehicle.
    - `height` number, float: The height of the Vehicle.
    - `interior_volume` number, float: Interior volume of the Vehicle.
    - `length` number, float: The length of the Vehicle.
    - `max_hp` integer: Maximum horsepower produced by the engine.
    - `max_payload` number, float: The maximum payload capacity of the Vehicle.
    - `max_torque` integer: Maximum torque produced by the engine.
    - `msrp` number, float: Manufacturer's Suggested Retail Price (MSRP).
    - `oil_capacity` number, float: Oil capacity of the engine.
    - `passenger_volume` string: Passenger volume of the Vehicle.
    - `rear_axle_type` string: The type of rear axle used in the Vehicle.
    - `rear_tire_psi` number, float: The recommended PSI for rear tires.
    - `rear_tire_type` string: The type of rear tires used in the Vehicle.
    - `rear_track_width` number, float: The rear track width of the Vehicle.
    - `rear_wheel_diameter` string: The diameter of the rear wheels.
    - `redline_rpm` string: Redline RPM of the engine.
    - `transmission_brand` string: Brand of the Vehicle's transmission.
    - `transmission_description` string: Description of the Vehicle's transmission.
    - `transmission_gears` integer: Number of gears in the transmission.
    - `transmission_type` string: Type of transmission.
    - `wheelbase` number, float: The wheelbase of the Vehicle.
    - `width` number, float: The width of the Vehicle.
  - `custom_fields` CustomFields, nullable: *Full details on working with Custom Fields [here](/docs/overview/custom-fields).

## Response `201`

OK

- Vehicle2, nullable: A Vehicle
  - `id` integer
  - `account_id` integer
  - `archived_at` string, date-time, nullable: The iso8601 date and time at which the vehicle was archived, for an archived vehicle.
  - `fuel_type_id` integer, nullable
  - `fuel_type_name` string, nullable: The name of the `Fuel Type` associated with this vehicle.
  - `fuel_volume_units` 'us_gallons' | 'uk_gallons' | 'liters'
  - `group_id` integer, nullable
  - `group_name` string, nullable: The name of the `Group` associated with this vehicle, for vehicles associated with a group.
  - `name` string: This vehicle's name.
  - `ownership` 'owned' | 'leased' | 'rented' | 'customer' | 'financed' | 'rent_to_own'
  - `current_location_entry_id` integer, nullable
  - `system_of_measurement` 'imperial' | 'metric'
  - `vehicle_type_id` integer: This vehicles `Vehicle Type` id.
  - `vehicle_type_name` string: The name of the `Vehicle Type` associated with this Vehicle.
  - `is_sample` boolean: Indicates whether this Vehicle record is [Sample Data](https://help.fleetio.com/s/article/Sample-Data).
  - `vehicle_status_id` integer: The id of the `Vehicle Status` of this vehicle.
  - `vehicle_status_name` string: The name of the `Vehicle Status` associated with this Vehicle.
  - `vehicle_status_color` string, nullable: The hex color code of the `Vehicle Status` associated with this Vehicle.
  - `primary_meter_unit` 'km' | 'hr' | 'mi', nullable: The measurement unit used for the Vehicle's primary, or secondary (if applicable), meter.
  - `primary_meter_value` string, nullable: The current value of the primary meter for this Vehicle.
  - `primary_meter_date` string, date-time, nullable: The date and time at which the primary meter was last updated.
  - `primary_meter_usage_per_day` string, nullable: The average number of units of the primary meter used per day.
  - `secondary_meter_unit` 'km' | 'hr' | 'mi', nullable: The measurement unit used for the Vehicle's primary, or secondary (if applicable), meter.
  - `secondary_meter_value` string, nullable: The current value of the secondary meter for this Vehicle.
  - `secondary_meter_date` string, date-time, nullable: The date and time at which the secondary meter was last updated.
  - `secondary_meter_usage_per_day` string, nullable: The average number of units of the secondary meter used per day.
  - `in_service_meter_value` string, nullable: The meter value at which this Vehicle was put into service.
  - `in_service_date` string, date-time, nullable: The date on which this Vehicle was put into service.
  - `out_of_service_meter_value` string, nullable: The meter value at which this Vehicle was or will be retired.
  - `out_of_service_date` string, date-time, nullable: The date on which this Vehicle was or will be retired.
  - `estimated_service_months` integer, nullable: The estimated number of months this Vehicle will be in service.
  - `estimated_replacement_mileage` string, nullable: The estimated number of miles before which this Vehicle will be replaced.
  - `estimated_resale_price_cents` integer, nullable: The estimated resale price of this Vehicle in cents.
  - `fuel_entries_count` integer: The number of `Fuel Entries` associated with this Vehicle.
  - `service_entries_count` integer: The number of `Service Entries` associated with this Vehicle.
  - `service_reminders_count` integer: The number of `Service Reminders` associated with this Vehicle.
  - `vehicle_renewal_reminders_count` integer: The number of `Vehicle Renewal Reminders` associated with this Vehicle.
  - `comments_count` integer: The number of `Comments` associated with this Vehicle.
  - `documents_count` integer: The number of documents attached to this Vehicle.
  - `images_count` integer: The number of images attached to this Vehicle.
  - `issues_count` integer: The number of `Issues` this Vehicle is associated with.
  - `work_orders_count` integer: The number of `Work Orders` this Vehicle is associated with.
  - `labels` object[]
    - `id` integer
    - `name` string
  - `group_ancestry` string, nullable: The ancestry of the Group associated with this Vehicle.
  - `color` string, nullable: The color of this Vehicle.
  - `license_plate` string, nullable: The license plate number of this Vehicle.
  - `vin` string, nullable: The Vehicle Identification Number of this Vehicle.
  - `year` number, nullable: This Vehicle's model year.
  - `make` string, nullable: The name of this Vehicle's manufacturer.
  - `model` string, nullable: The name of the model of this Vehicle.
  - `trim` string, nullable: The trim level of this Vehicle.
  - `registration_expiration_month` integer, nullable: The month in which this Vehicle's registration expires.
  - `registration_state` string, nullable: The state, province, or territory in which this Vehicle is registered.
  - `default_image_url_small` string, nullable: The URL of a small-sized version of the default image for this Vehicle.
  - `external_ids` object: Any [External IDs](/docs/guides/vehicles/external-vehicle-ids) associated with this Vehicle.
  - `ai_enabled` boolean: Whether this Vehicle has [Auto Integrate](https://help.fleetio.com/s/article/FAQ-Maintenance-Shop-Integration) enabled for it.
  - `assetable_type` 'Vehicle': Assetable type for Vehicle is always `Vehicle` for vehicles.
  - `custom_fields` CustomFields, nullable: *Full details on working with Custom Fields [here](/docs/overview/custom-fields).
  - `axle_config_id` integer, nullable: The id of the `Axle Configuration` of this vehicle.
  - `driver` object, nullable: A Contact
    - `id` integer, nullable
    - `email` string, nullable: The Contact's email address.
    - `name` string, nullable: The Contact's full name.
    - `group_id` integer, nullable: If this Contact belongs to a [Group](/docs/api/groups), this will be the Fleetio ID of that `Group`.
    - `employee` boolean, nullable: Whether or not the `Contact` (driver) associated with this Vehicle is an employee.
    - `employee_number` string, nullable: The employee number of the `Contact` (driver) associated with this Vehicle.
    - `default_image_url` string, nullable: The URL of the default image of the `Contact` (driver) associated with this Vehicle.
    - `first_name` string, nullable: The first name of the `Contact` (driver) associated with this Vehicle.
    - `last_name` string, nullable: The last name of the `Contact` (driver) associated with this Vehicle.
    - `full_name` string, nullable: The full name of the `Contact` (driver) associated with this Vehicle.
  - `specs` VehicleSpecs
    - `id` integer
    - `vehicle_id` integer: The `Vehicle` ID these specs belong to.
    - `account_id` integer
    - `body_type` string, nullable: The body type of the Vehicle, if available.
    - `body_subtype` string, nullable: The subtype of the Vehicle body, if available.
    - `drive_type` string, nullable: The drive type of the Vehicle, if available.
    - `brake_system` string, nullable: The brake system used in the Vehicle, if available.
    - `msrp_cents` integer, nullable: The Manufacturer's Suggested Retail Price (MSRP) in cents, if available.
    - `fuel_tank_capacity` number, float, nullable: The fuel tank capacity of the Vehicle, if available.
    - `fuel_tank_2_capacity` number, float, nullable: The capacity of a second fuel tank, if available.
    - `front_track_width` number, float, nullable: The front track width of the Vehicle, if available.
    - `ground_clearance` number, float, nullable: The ground clearance of the Vehicle, if available.
    - `height` number, float, nullable: The height of the Vehicle, if available.
    - `length` number, float, nullable: The length of the Vehicle, if available.
    - `rear_track_width` number, float, nullable: The rear track width of the Vehicle, if available.
    - `width` number, float, nullable: The width of the Vehicle, if available.
    - `wheelbase` number, float, nullable: The wheelbase of the Vehicle, if available.
    - `front_tire_psi` string, nullable: The recommended PSI for front tires, if available.
    - `rear_tire_psi` string, nullable: The recommended PSI for rear tires, if available.
    - `base_towing_capacity` number, float, nullable: The base towing capacity of the Vehicle, if available.
    - `curb_weight` number, float, nullable: The curb weight of the Vehicle, if available.
    - `gross_vehicle_weight_rating` number, float, nullable: The Gross Vehicle Weight Rating (GVWR), if available.
    - `bed_length` string, nullable: The length of the Vehicle's bed, if available.
    - `max_payload` number, float, nullable: The maximum payload capacity of the Vehicle, if available.
    - `rear_axle_type` string: The type of rear axle used in the Vehicle.
    - `front_tire_type` string: The type of front tires used in the Vehicle.
    - `front_wheel_diameter` string: The diameter of the front wheels.
    - `rear_tire_type` string: The type of rear tires used in the Vehicle.
    - `rear_wheel_diameter` string: The diameter of the rear wheels.
    - `epa_city` number, float, nullable: The EPA city fuel economy rating, if available.
    - `epa_highway` number, float, nullable: The EPA highway fuel economy rating, if available.
    - `epa_combined` number, float, nullable: The combined EPA fuel economy rating, if available.
    - `engine_description` string: Description of the Vehicle's engine.
    - `engine_brand` string: Brand of the Vehicle's engine.
    - `engine_aspiration` string, nullable: Aspiration type of the engine, if available.
    - `engine_block_type` string, nullable: Block type of the engine, if available.
    - `engine_bore` number, float, nullable: Bore size of the engine, if available.
    - `engine_cam_type` string, nullable: Camshaft type of the engine, if available.
    - `engine_compression` number, float, nullable: Compression ratio of the engine, if available.
    - `engine_cylinders` integer, nullable: Number of engine cylinders, if available.
    - `engine_displacement` number, float, nullable: Engine displacement, if available.
    - `fuel_induction` string, nullable: Fuel induction method, if available.
    - `fuel_quality` string: Fuel quality required for the engine.
    - `max_hp` integer, nullable: Maximum horsepower produced by the engine, if available.
    - `max_torque` integer, nullable: Maximum torque produced by the engine, if available.
    - `oil_capacity` number, float, nullable: Oil capacity of the engine, if available.
    - `redline_rpm` string: Redline RPM of the engine.
    - `engine_stroke` number, float, nullable: Stroke length of the engine, if available.
    - `engine_valves` integer, nullable: Number of engine valves, if available.
    - `transmission_description` string: Description of the Vehicle's transmission.
    - `transmission_brand` string: Brand of the Vehicle's transmission.
    - `transmission_type` string, nullable: Type of transmission, if available.
    - `transmission_gears` integer, nullable: Number of gears in the transmission, if available.
    - `cargo_volume` number, float, nullable: Cargo volume of the Vehicle, if available.
    - `interior_volume` number, float, nullable: Interior volume of the Vehicle, if available.
    - `passenger_volume` string: Passenger volume of the Vehicle.
    - `created_at` string, date-time: The date and time when the specs were created.
    - `updated_at` string, date-time: The date and time when the specs were last updated.
    - `duty_type` string, nullable: Type of duty the Vehicle is designed for, if available.
    - `weight_class` string, nullable: Weight class of the Vehicle, if available.
    - `engine_bore_with_units` string, nullable: Bore size of the engine with units, if available.
    - `wheelbase_with_units` string, nullable: Wheelbase of the Vehicle with units, if available.
    - `msrp` string, nullable: Manufacturer's Suggested Retail Price (MSRP).
  - `meter_name` string: The name of the primary meter for this Vehicle.
  - `secondary_meter_name` string: The name of the secondary meter for this Vehicle.
  - `loan_account_number` string, nullable: The account number for this Vehicle's loan, if applicable.
  - `loan_ended_at` string, date-time, nullable: The date and time at which this Vehicle's loan ends.
  - `loan_interest_rate` number, float, nullable: The interest rate for this Vehicle's loan.
  - `loan_notes` string, nullable: Notes about this Vehicle's loan.
  - `loan_started_at` string, date-time, nullable: The date and time at which this Vehicle's loan began. Formatted according to ISO-8601 in `User`'s local time.
  - `loan_vendor_id` integer, nullable
  - `loan_vendor_name` string, nullable: The name of the `Vendor` for this Vehicle's loan.
  - `job_assignment` object, nullable: The current job assignment for this Vehicle, if any.
    - `id` integer: The ID of the job assignment.
    - `started_at` string, date-time: The date and time when the job assignment started.
    - `ended_at` string, date-time, nullable: The date and time when the job assignment ended, if applicable.
    - `job` object, nullable
      - `id` integer: The ID of the job.
      - `name` string: The name of the job.
      - `number` string: The number of the job.
  - `inspection_schedules_count` integer: The number of inspection schedules this Vehicle is associated with.
  - `default_image_url` string, nullable: The URL of the default image for this Vehicle.
  - `default_image_url_medium` string, nullable: The URL of a medium-sized version of the default image for this Vehicle.
  - `default_image_url_large` string, nullable: The URL of a large-sized version of the default image for this Vehicle.
  - `current_location_entry` CurrentLocationEntry, nullable: The current location of the associated object.
    - `id` integer: The unique identifier for the current Location Entry.
    - `locatable_type` string: The type of object that this Location Entry is associated with.
    - `locatable_id` integer: The unique identifier of the object that this Location Entry is associated with.
    - `date` string, date-time: The date and time when this Location Entry was recorded.
    - `created_at` string, date-time: The date and time when this Location Entry was created.
    - `updated_at` string, date-time: The date and time when this Location Entry was last updated.
    - `contact_id` integer: The unique identifier of the associated Contact.
    - `address` string: The address associated with this Location Entry.
    - `is_current` boolean: Indicates whether this Location Entry is the current location.
    - `item_type` string: The type of item associated with this Location Entry.
    - `item_id` integer: The unique identifier of the item associated with this Location Entry.
    - `location` string: The geographical location in the format "POINT (longitude latitude)".
    - `address_components` object
      - `street_number` string: The street number in the address.
      - `street` string: The street name in the address.
      - `city` string: The city in the address.
      - `region` string: The region, state or province in the address.
      - `region_short` string: The abbreviated region, state or province code.
      - `country` string: The country in the address.
      - `country_short` string: The abbreviated country code.
      - `postal_code` string: The postal code, ZIP, or equivalent in the address.
    - `geolocation` object
      - `latitude` number, float: The latitude coordinate of the location.
      - `longitude` number, float: The longitude coordinate of the location.

## Other responses

- `401`: Request could not be authenticated
- `403`: Insufficient permission to perform this operation
- `422`: Unprocessable Entity
- `500`: Something unexpected happened

## Changes

- **2026-11-06** `49558d744bd7`: 1 info
  - added the new optional request property `default_image`
- **2026-06-16** `4098a1c81821`: 19 breaking
  - the `allOf[subschema #1: Vehicle]/specs/base_towing_capacity` response's property type changed from `string` to `number`, and format from no format to `float` for status `201`
  - the `allOf[subschema #1: Vehicle]/specs/engine_bore` response's property type changed from `string` to `number`, and format from no format to `float` for status `201`
  - the `allOf[subschema #1: Vehicle]/specs/engine_compression` response's property type changed from `string` to `number`, and format from no format to `float` for status `201`
  - the `allOf[subschema #1: Vehicle]/specs/engine_displacement` response's property type changed from `string` to `number`, and format from no format to `float` for status `201`
  - …15 more
- **2026-02-13** `1172c0b6ab85`: 2 warning, 3 info
  - added the new `financed` enum value to the `allOf[subschema #1: Vehicle]/ownership` response property for the response status `201`
  - added the new `rent_to_own` enum value to the `allOf[subschema #1: Vehicle]/ownership` response property for the response status `201`
  - added the new `financed` enum value to the request property `ownership`
  - added the new `rent_to_own` enum value to the request property `ownership`
  - …1 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/fleetio/apis/fleetio-developer-api/changes/vehicles/post.md)

---

[API](https://skmtc.dev/fleetio/apis/fleetio-developer-api.md) - [All operations](https://skmtc.dev/fleetio/apis/fleetio-developer-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fleetio/apis/fleetio-developer-api/revisions/49558d744bd7?raw)
