---
title: "Create Equipment"
method: POST
path: "/equipment"
tags: ["Equipment"]
---

# Create Equipment

`POST /equipment`

## Request

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

Creates a new Equipment

## Request body

- EquipmentCreateParameters: Parameters used to create a new Equipment
  - `name` string, required: The name for this Equipment.
  - `brand` string: The name of the brand which makes this Equipment.
  - `model` string: The model name of this Equipment.
  - `serial_number` string: The serial number of this Equipment.
  - `type_id` integer, required
  - `status_id` integer, required
  - `group_id` integer, nullable
  - `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.
  - `purchase_vendor_id` integer, nullable
  - `purchase_price` number: The price at which the Equipment was purchased.
  - `purchase_date` string, date: We recommend using [ISO-8601](/docs/overview/date-formatting) formatted dates to avoid ambiguity.
  - `warranty_expiration_date` string, date: The date on which the Equipment warranty expires.
  - `purchase_comments` string: Any comments about the purchase of this Equipment.
  - `in_service_date` string, date: We recommend using [ISO-8601](/docs/overview/date-formatting) formatted dates to avoid ambiguity.
  - `estimated_service_life` integer: The estimated duration in months of the service life for this Equipment.
  - `estimated_resale_price` number: The estimated resale price of this Equipment.
  - `out_of_service_date` string, date: We recommend using [ISO-8601](/docs/overview/date-formatting) formatted dates to avoid ambiguity.
  - `linked_vehicle_id` integer, nullable
  - `assignee_id` integer, nullable
  - `default_image` string, uri, nullable: The default image URL for this Equipment.
  - `custom_fields` CustomFields, nullable: *Full details on working with Custom Fields [here](/docs/overview/custom-fields).
  - `documents_attributes` object[]: An array of one or more document objects to add to the record. 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 `file_url`.
    - `name` string: The name to give the file which will be shown in the UI.
    - `file_url` string: The URL obtained from our storage provider that points to the file.
    - `file_mime_type` string: The MIME type of the file. For example, `application/pdf`.
    - `file_name` string: The name of the file.
    - `file_size` integer: The size of the file in bytes.
  - `images_attributes` object[]: An array of one or more image objects to add to the record. 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 `file_url`.
    - `name` string: The name to give the image which will be shown in the UI.
    - `file_url` string: The URL obtained from our storage provider that points to the image.
    - `file_mime_type` string: The MIME type of the image. For example, `image/png`.
    - `file_name` string: The name of the image.
    - `file_size` integer: The size of the image file in bytes.

## Response `201`

OK

- EquipmentCreated, nullable
  - `id` integer, required
  - `created_at` string, date-time, required: The date and time at which this record was created.
  - `updated_at` string, date-time, required: The date and time at which this record was most recently updated.
  - `account_id` integer, required: The ID of the `Account` this Equipment belongs to.
  - `name` string, required: The name for this Equipment.
  - `brand` string, nullable, required: The name of the brand which makes this Equipment.
  - `model` string, nullable, required: The model name of this Equipment.
  - `serial_number` string, nullable, required: The serial number of this Equipment.
  - `equipment_type_id` integer, required
  - `equipment_status_id` integer, required
  - `group_id` integer, nullable, required
  - `purchase_vendor_id` integer, nullable, required
  - `purchase_price_cents` number, nullable, required: The purchase price in cents.
  - `purchase_date` string, date, nullable, required: The date on which the Equipment was purchased.
  - `warranty_expiration_date` string, date, nullable, required: The date on which the Equipment warranty expires.
  - `purchase_comments` string, nullable, required: Any comments about the purchase of this Equipment.
  - `custom_fields` CustomFields, nullable: *Full details on working with Custom Fields [here](/docs/overview/custom-fields).
  - `in_service_date` string, date, nullable, required: The date on which the Equipment was put into service.
  - `estimated_service_life` integer, nullable, required: The estimated duration in months of the service life for this Equipment.
  - `out_of_service_date` string, date, nullable, required: The estimated date on which the Equipment will be retired from service.
  - `archived_at` string, date-time, nullable, required: The date and time at which the Equipment was archived.
  - `current_location_entry_id` integer, nullable
  - `watchers_count` integer, required: The number of users watching this Equipment.
  - `watchable_options` object
  - `bulk_watch_record` boolean: Whether or not to bulk watch this Equipment.
  - `estimated_resale_price_cents` integer, nullable: The estimated resale price of this Equipment.
  - `label_list` string[]: A list of any labels applied to this Equipment.
  - `skip_automatic_watchers_callbacks` boolean: Whether or not to skip automatic watchers callbacks on this Equipment.
  - `comments_count` integer, required: The number of `Comments` on this Equipment.
  - `documents_count` integer, required: The number of documents attached to this Equipment.
  - `images_count` integer, required: The number of images attached to this Equipment.

## Other responses

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

---

[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)
