---
title: "Retrieve Part"
method: GET
path: "/parts/{id}"
tags: ["Parts"]
---

# Retrieve Part

`GET /parts/{id}`

## Request

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

Retrieve the details of an existing Part.

## Path parameters

- `id` string, required

## Query parameters

- `with_cross_reference_member_locations` boolean
- `part_location_id[]` integer[]

## Response `200`

OK

- Part, nullable: A Part
  - `id` integer, required
  - `created_at` string, date-time: The date and time at which this record was created.
  - `updated_at` string, date-time: The date and time at which this record was most recently updated.
  - `description` string, nullable, required: A description of this Part.
  - `manufacturer_part_number` string, nullable, required: The part number from this Part's manufacturer.
  - `measurement_unit_id` integer, nullable, required
  - `number` string, required: The part number being used for this Part within Fleetio.
  - `part_category_id` integer, nullable, required
  - `part_manufacturer_id` integer, nullable, required
  - `upc` string, nullable, required: The Universal Product Code for this Part.
  - `total_quantity` number, float, required: The total quantity on hand for this Part.
  - `custom_fields` CustomFields, nullable, required: *Full details on working with Custom Fields [here](/docs/overview/custom-fields).
  - `inventory_item` boolean, required: Indicates whether or not this Part is an inventory item.
  - `part_category` PartCategory, nullable
    - `id` integer
    - `tire_category` boolean: Indicates whether part is a tire or not
  - `part_category_name` string, nullable, required: The name of the part category associated with this Part.
  - `part_manufacturer_name` string, nullable, required: The name of the Part's manufacturer.
  - `measurement_unit_name` string, nullable, required: The measurement unit used by this Part.
  - `unit_cost` number, float, nullable, required: The unit cost for this Part.
  - `average_unit_cost` number, float, nullable: The average unit cost for this Part. FIFO/LIFO accounts only.
  - `part_locations` PartLocationDetail[], required
    - `id` integer, required
    - `created_at` string, date-time: The date and time at which this record was created.
    - `updated_at` string, date-time: The date and time at which this record was most recently updated.
    - `active` boolean: Whether this Part Location is active.
    - `aisle` string, nullable: The aisle in which the Part is located.
    - `available_quantity` number, float: How many of this Part are available at this Part Location.
    - `bin` string, nullable: The bin in which the Part is located.
    - `inventory_sets_count` integer: The number of Inventory Sets that this Part is included in. FIFO/LIFO accounts only.
    - `has_been_used_in_work_orders` boolean, nullable: Whether this Part has been used in any Work Orders. FIFO/LIFO accounts only.
    - `name` string: Alias of `part_location_name`.
    - `part_location_name` string: The name of the Part Location for this Part.
    - `part_location_id` integer: The ID of the Part Location for this Part.
    - `quantity_allocated_to_work_orders` number, float, nullable: How many of these Parts are currently allocated to `Work Orders`.
    - `quantity_on_order` number, float, nullable: How many of this Part are currently on order, if any.
    - `reorder_point` number, float: The lower-threshold quantity at which this Part should be reordered.
    - `reorder_point_enabled` boolean: Whether this Part will be reordered at the reorder point.
    - `row` string, nullable: The row in which the Part is located.
    - `track_inventory` boolean: Indicates whether inventory is tracked for this Part at this location.
    - `available_quantity_updated_at` string, date-time, nullable
    - `part_location_archived_at` string, date-time, nullable: The date and time at which the `Part Location` was archived, if applicable.
  - `default_image_url` string, nullable, required
  - `default_image_url_medium` string, nullable, required
  - `default_image_url_small` string, nullable, required
  - `default_image_url_large` string, nullable, required
  - `archived_at` string, date-time, nullable, required: The date and time at which this Part was archived.
  - `attachment_permissions` AttachmentPermissions, nullable, required
    - `read_photos` boolean: Indicates whether the user has read permission for photos.
    - `manage_photos` boolean: Indicates whether the user has permission to manage (eg. upload, delete) photos.
    - `read_documents` boolean: Indicates whether the user has read permission for documents.
    - `manage_documents` boolean: Indicates whether the user has permission to manage (eg. upload, delete) documents.
  - `has_active_inventory_sets` boolean: Indicates whether this Part has any active [Inventory Sets](/docs/api/v-3-part-location-detail-inventory-sets-index). FIFO/LIFO accounts only.
  - `tire_config` object
    - `id` integer
    - `aspect_ratio` number, float: Aspect ratio of tire.
    - `rim_diameter` number, float: Rim diameter of tire.
    - `load_index` number, float: Load index of tire.
    - `metric_type` 'EU' | 'P' | 'HL' | 'T' | 'LT' | 'C' | 'ST': Metric type of tire.
    - `width` number, float: Width of tire.
    - `construction` 'B' | 'R' | 'D': Construction type of tire.
    - `speed_rating` 'A1' | 'A2' | 'A3' | 'A4' | 'A5' | 'A6' | 'A7' | 'A8' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'J' | 'K' | 'L' | 'M' | 'N' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'Y': Speed rating of tire.
    - `factory_tread_depth` number, float: Tread depth of tire in /32" when new, as specified by the manufacturer.
    - `minimum_tread_depth` number, float: The legal minimum tread depth, in /32".
    - `life_expectancy` integer: The Life Expectancy or “Warranty” of a tire is the expected meter range, usually measured in miles, of a given tire as specified by the manufacturer.
  - `cross_reference_members` PartCrossReferenceMember[]: Other Parts in this Part's cross-reference group. Only present when the cross-references feature is enabled for the account; omitted entirely on index/archived responses.
    - `id` integer, nullable, required
    - `number` string, required: The part number being used for this Part within Fleetio.
    - `description` string, nullable, required: A description of this Part.
    - `part_category_name` string, nullable, required: The name of the part category associated with this Part.
    - `part_manufacturer_name` string, nullable, required: The name of the Part's manufacturer.
    - `manufacturer_part_number` string, nullable, required: The part number from this Part's manufacturer.
    - `total_quantity` number, float, required: The total quantity on hand for this Part. Like `available_quantity`, it is not affected by `part_location_id`. The value stays account-wide even when the request narrows `part_location_details` to a single location.
    - `unit_cost` number, float, nullable, required: The unit cost for this Part.
    - `unit_cost_unit` string, nullable, required: The measurement unit used by this Part.
    - `available_quantity` number, float, required: The total quantity on hand for this Part at locations the current API credentials can read. It is not affected by `part_location_id`. The value stays account-wide even when the request narrows `part_location_details` to a single location, which is where per-location quantities live.
    - `default_image_small_square_url` string, nullable, required
    - `position` integer, required: This Part's rank within the shared cross-reference group. Values are not contiguous once `with_cross_reference_member_locations` narrows the members returned. A group of five narrowed to two can return positions 1 and 4.
    - `part_location_details` PartCrossReferenceMemberLocation[]: This member's per-location stock, sorted by Part Location name. Only present when the request opts in with `with_cross_reference_member_locations`. The array holds active Part Locations only, is further narrowed to `part_location_id` when one is given, and always omits Part Locations the current API credentials cannot read.
      - `id` integer, required
      - `part_id` integer, required
      - `part_location_id` integer, required
      - `part_location_name` string, required: The name of the Part Location for this member.
      - `available_quantity` number, float, nullable, required: How many of this member are available at this Part Location.
      - `reorder_point` number, float, nullable, required: The lower-threshold quantity at which this member should be reordered at this Part Location.
      - `average_unit_cost` number, float, nullable, required: The average unit cost for this member at this Part Location.
      - `active` boolean, required: Always `true`; this array holds active Part Locations only. Present so a consumer holding both this array and the Part's own `part_locations` array can tell them apart. `part_locations` is not filtered to active Part Locations.
      - `track_inventory` boolean, nullable, required: Indicates whether inventory is tracked for this member at this Part Location.
  - `cross_reference_group_id` integer, nullable: The cross-reference group this Part belongs to, or `null` when it belongs to none. Unlike `cross_reference_members` this is present on index and archived responses as well, so a list can be read for which Parts have compatible Parts without a request per Part -- and two Parts sharing a value are compatible with each other. Only present when the cross-references feature is enabled for the account.
  - `comments` Comment[], required: A list of the comments made on this record.
    - `id` integer, required
    - `created_at` string, date-time: The date and time at which this record was created.
    - `updated_at` string, date-time: The date and time at which this record was most recently updated.
    - `commentable_type` 'Contact' | 'FleetcorCard' | 'FuelEntry' | 'InventoryJournalEntry' | 'Issue' | 'Part' | 'PurchaseOrder' | 'ServiceEntry' | 'ServiceReminder' | 'SubmittedInspectionItem' | 'Vehicle' | 'VehicleAssignment' | 'Vendor' | 'WexCard' | 'WorkOrder', required: The type of record that the Comment will be left on. Must be associated with a matching `commentable_id`.
    - `commentable_id` integer, required
    - `user_id` integer, required
    - `title` string: The title of the Comment.
    - `comment` string, required: The content of the Comment message body.
    - `user_full_name` string, required: The full name of the `User` who created the Comment.
    - `user_image_url` string, nullable, required: The image url for the `User` who created the Comment.
    - `rich_content` object, nullable, required
    - `html_content` string, nullable, required: The comment message body rendered as HTML.
    - `with_mentions` boolean, required: Indicates if the message body contains @mentions.
  - `comments_count` integer, required: The number of comments made on this record.
  - `documents` Document[], required: A list of the documents attached to this record.
    - `id` integer, required
    - `created_at` string, date-time: The date and time at which this record was created.
    - `updated_at` string, date-time: The date and time at which this record was most recently updated.
    - `name` string, required: The name of the document.
    - `description` string, required: The description of the document.
    - `documentable_id` integer, required
    - `documentable_type` 'ServiceEntry' | 'FuelEntry' | 'Issue' | 'WorkOrder' | 'ExpenseEntry' | 'Vehicle', required
    - `file_name` string, required: The name of the file.
    - `file_mime_type` string, required: The MIME type of the file.
    - `file_size` number, required: The size of the file in bytes.
    - `file_url` string, required: The URL to access the file.
    - `full_file_url` string, required: The full URL to access the file, including any necessary authentication or parameters.
  - `documents_count` integer, required: The number of documents attached to this record.
  - `images` Image2[], required: A list of the images attached to this record.
    - `id` integer, required
    - `created_at` string, date-time: The date and time at which this record was created.
    - `updated_at` string, date-time: The date and time at which this record was most recently updated.
    - `imageable_id` integer
    - `imageable_type` 'ExpenseEntry' | 'WorkOrder' | 'Equipment' | 'IssueResolution' | 'ServiceEntry' | 'Vendor' | 'ServiceProgram' | 'Issue' | 'Contact' | 'Part' | 'Vehicle' | 'FuelEntry' | 'SubmittedInspectionItem'
    - `file_name` string: The name of the image file.
    - `file_mime_type` 'image/jpeg' | 'image/gif' | 'image/jif' | 'image/jfif' | 'image/jfi' | 'image/tiff' | 'image/png' | 'image/jpg' | 'image/jpe' | 'image/pdf' | 'image/webp' | 'image/tif' | 'image/psd' | 'image/raw' | 'image/arw' | 'image/cr2' | 'image/nrw' | 'image/k25' | 'image/bmp' | 'image/dip' | 'image/ai' | 'image/eps' | 'image/heif' | 'image/heic' | 'image/ind' | 'image/indd' | 'image/indt' | 'image/jp2' | 'image/j2k' | 'image/jpf' | 'image/jpx' | 'image/jpm' | 'image/mj2' | 'image/x-png'
    - `file_size` number: The size of the image file in bytes.
    - `file_url` string: The URL to access the image file.
    - `full_url` string: The full URL to access the image file, including any necessary authentication or parameters.
  - `images_count` integer, required: The number of images attached to this record.

## Other responses

- `401`: Request could not be authenticated
- `403`: Insufficient permission to perform this operation
- `404`: The requested resource could not be located
- `500`: Something unexpected happened

## Changes

- **2026-11-06** `49558d744bd7`: 4 info
  - added the new optional `query` request parameter `part_location_id[]`
  - added the new optional `query` request parameter `with_cross_reference_member_locations`
  - added the optional property `allOf[subschema #2]/cross_reference_group_id` to the response with the `200` status
  - added the optional property `allOf[subschema #2]/cross_reference_members` to the response with the `200` status
- **2025-09-06** `6daa53a03224`: 1 info
  - added the optional property `allOf[subschema #2]/tire_config/id` to the response with the `200` status

[Operation history](https://skmtc.dev/fleetio/apis/fleetio-developer-api/changes/parts/:id/get.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)
