---
title: "Retrieve Purchase Order"
method: GET
path: "/purchase_orders/{number}"
tags: ["Purchase Orders"]
---

# Retrieve Purchase Order

`GET /purchase_orders/{number}`

## Request

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

Retrieve the details of an existing Purchase Order.

## Path parameters

- `number` string, required

## Response `200`

OK

- PurchaseOrder, nullable: A Purchase Order
  - `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.
  - `number` integer, required: Must be unique within the scope of your Account. You can either generate your own number or leave it blank and Fleetio will generate one for you. Fleetio will use the next number in the sequence based on your existing Purchase Orders. This becomes the unique identifier, even in endpoints. Id is never used.
  - `description` string, nullable, required: Open text field for Purchase Order description.
  - `label_list` string[], required: A list of tags associated with this record.
  - `labels` object[], required
    - `id` integer
    - `name` string
  - `state` 'draft' | 'submitted_for_approval' | 'rejected' | 'approved' | 'purchased' | 'received_partial' | 'received_full' | 'closed', nullable, required: See the [Purchase Order Lifecycle Guide](/docs/guides/inventory/purchase-order-lifecycle) for more information about Purchase Order states and how to transition between them.
  - `created_by` string, nullable: The name of the [Contact](/docs/api/contacts) associated with the User who created this Purchase Order.
  - `rejected_by` string, nullable: The full name of the Contact that rejected the Purchase Order, if applicable.
  - `submitted_for_approval_at` string, date-time, nullable, required: The date and time at which this Purchase Order was submitted for approval.
  - `submitted_for_approval_by` string, nullable: The name of the [Contact](/docs/api/contacts) associated with the `User` who submitted this Purchase Order for approval.
  - `rejected_at` string, date-time, nullable, required: The date and time at which this Purchase Order was rejected.
  - `approved_at` string, date-time, nullable, required: The date and time at which this Purchase Order was approved.
  - `approved_by` string, nullable: The name of the [Contact](/docs/api/contacts) associated with the User who approved this Purchase Order.
  - `purchased_at` string, date-time, nullable, required: The date and time at which this Purchase Order was purchased.
  - `purchased_by` string, nullable: The name of the [Contact](/docs/api/contacts) associated with the User who purchased this Purchase Order.
  - `received_partial_at` string, date-time, nullable, required: The date and time at which this Purchase Order was partially received.
  - `received_partial_by` string, nullable: The name of the [Contact](/docs/api/contacts) associated with the User who received this Purchase Order.
  - `received_full_at` string, date-time, nullable, required: The date and time at which this Purchase Order was fully received.
  - `received_full_by` string, nullable: The name of the [Contact](/docs/api/contacts) associated with the User who received this Purchase Order.
  - `closed_at` string, date-time, nullable, required: The date and time at which this Purchase Order was closed.
  - `closed_by` string, nullable: The name of the [Contact](/docs/api/contacts) associated with the User who closed this Purchase Order.
  - `custom_fields` CustomFields, nullable, required: *Full details on working with Custom Fields [here](/docs/overview/custom-fields).
  - `part_location_id` integer, nullable, required: The ID of the `Part Location` associated with this Purchase Order. Optional in the `draft` state.
  - `vendor_id` integer, nullable, required: The ID of the [Vendor](/docs/api/vendors) associated with this Purchase Order.
  - `part_location_name` string, nullable: The name of the `Part Location` associated with this Purchase Order.
  - `vendor_name` string, nullable: The name of the `Vendor` associated with this Purchase Order.
  - `purchase_order_line_items` PurchaseOrderLineItem[], required
    - `id` integer
    - `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.
    - `part_id` integer, required: The Fleetio ID of the [Part](/docs/api/parts) being purchased.
    - `quantity` string, nullable, required: The quantity of this `Part` to be purchased.
    - `total_quantity_received` string, nullable, required: The quantity of this `Part` which was received.
    - `part_number` string, nullable: The number for the `Part` being purchased.
    - `unit_cost` number, float, nullable, required: The cost of this `Part` (per unit).
    - `subtotal` number, float, nullable: The pre-tax subtotal amount.
  - `documents_count` integer, nullable, required: The number of documents attached to this record.
  - `comments_count` integer, nullable, required: The number of `Comments` on this Purchase Order.
  - `shipping` number, float, nullable: The shipping cost of this purchase.
  - `discount` number, float, nullable: The discount amount applied to this purchase.
  - `discount_type` string, nullable: The discount type applied to this purchase.
  - `discount_percentage` number, float, nullable: The discount percentage applied to this purchase.
  - `tax_1` number, float, nullable: The primary tax amount on this purchase
  - `tax_1_type` string, nullable: The primary tax type on this purchase
  - `tax_2` number, float, nullable: The secondary tax amount on this purchase. Note that this secondary tax must be configured in your [Account Settings](https://help.fleetio.com/s/article/Account-Settings#tax).
  - `subtotal` number, float, nullable: The subtotal of this purchase.
  - `total_amount` number, float, nullable: The total amount of this Purchase Order, including all line items, discounts, taxes, and shipping.
  - `documents` Document[]: 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.

## 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`: 1 info
  - added the required property `allOf[subschema #2]/labels` to the response with the `200` status
- **2025-11-08** `ca477d7c3ebf`: 1 info
  - added `#/components/schemas/Documentable` to the response body `allOf` list for the response status `200`

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