---
title: "List a vehicle's action items"
method: GET
path: "/orders/{order}/vehicles/{vehicle}/action-items"
tags: ["Orders"]
---

# List a vehicle's action items

`GET /orders/{order}/vehicles/{vehicle}/action-items`

## Request

- Base URL: `https://api.ekho.com`
- URL: `https://api.ekho.com/orders/{order}/vehicles/{vehicle}/action-items`
- Auth: HTTP bearer

Returns the action items on this vehicle assigned to your account, both pending and completed, optionally filtered by status. Items that are not yet actionable, and items another account is responsible for, are omitted.

## Path parameters

- `order` string, required
- `vehicle` string, required

## Query parameters

- `limit` integer: Page size, 1 to 100.
- `starting_after` string: Return the page after this resource id (newest first).
- `status` 'pending' | 'completed': Return only items in this state; omit for both.

## Response `200`

A page of action items.

- object
  - `data` VehicleActionItem[], required
    - `id` string, required
    - `status` 'pending' | 'completed', required
    - `created_at` integer, required: Epoch ms the item was created.
    - `updated_at` integer, required: Epoch ms of the last update.
    - `completed_at` integer, nullable, required: Epoch ms of completion; null while pending.
    - `action` 'assign-vin' | 'assign-motorcycle-engine-number' | 'mark-production-complete' | 'mark-in-transit-to-buyer' | 'mark-pickup-scheduled' | 'mark-pickup-fulfilled', required: The id to post back to when this item is done.
  - `has_more` boolean, required: True when another page follows the returned one.
  - `next_cursor` string, nullable, required: Pass as `starting_after` to fetch the next page; null when `has_more` is false.

## Other responses

- `400`: The request was malformed or failed validation. `errors` itemizes every field at fault, so one response names them all; the fields in the example stand in for this request's own.
- `401`: Authentication is missing or invalid.
- `403`: The token lacks `orders:read`.
- `404`: No vehicle matches that id under that order.
- `429`: The rate limit has been exceeded.
- `500`: An unexpected error occurred.

## Changes

- **2026-09-18** `78c545d96a34`: 18 warning
  - added the new `external_id_in_use` enum value to the `code` response property for the response status `400`
  - added the new `external_id_in_use` enum value to the `code` response property for the response status `401`
  - added the new `external_id_in_use` enum value to the `code` response property for the response status `403`
  - added the new `external_id_in_use` enum value to the `code` response property for the response status `404`
  - …14 more

[Operation history](https://skmtc.dev/ekho/apis/ekho-api/changes/orders/:order/vehicles/:vehicle/action-items/get.md)

---

[API](https://skmtc.dev/ekho/apis/ekho-api.md) · [All operations](https://skmtc.dev/ekho/apis/ekho-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ekho/apis/ekho-api/revisions/efe485119dd7?raw)
