---
title: "List Vehicles"
method: GET
path: "/api/vehicles/"
tags: ["Vehicles (Protected)"]
---

# List Vehicles

`GET /api/vehicles/`

List vehicles with pagination and comprehensive filters.

Returns:
- Matricula (primary or secondary with | separator)
- Marca, Modelo names
- Formatted price with VAT indication
- Calculated profit from movements
- Days since entry
- Status flags (consignado, emprestado, seguro, fechado)
- Alert messages (inspection, ads, etc.)

## Query parameters

- `page` integer — Page number
- `limit` integer — Items per page
- `ids` integer[] — Re-read exactly these vehicle IDs (bypasses paging, max 100). Used by the stock list to refresh rows edited in another tab.
- `pv_ids` integer[] — Filter by one or more point of sale IDs
- `fechado` boolean, nullable — Filter by closed status (true=closed, false=open)
- `estado` integer, nullable — Filter by state ID — dbo.EstadoViatura (1=Por Anunciar, 2=Em Stock, 3=Reservado, 4=Vendido, 5=Suspenso)
- `consignado` boolean, nullable — Filter consigned vehicles
- `emprestado` boolean, nullable — Filter loaned vehicles
- `seguro` boolean, nullable — Filter vehicles with active insurance
- `importado` boolean, nullable — Filter imported vehicles
- `section_id` integer, nullable — Filter by Integrazu section ID
- `marca_id` integer, nullable — Filter by brand ID
- `modelo_id` integer, nullable — Filter by model ID
- `combustivel_id` integer, nullable — Filter by fuel type ID
- `caixa_id` integer, nullable — Filter by transmission ID
- `second_key_status` string, nullable — Filter by second-key status: sim, não, requisitado
- `fornecedor_id` integer, nullable — Filter by supplier (Cliente ID referenced by Viatura.Fornece)
- `preco_min` number, nullable — Minimum price
- `preco_max` number, nullable — Maximum price
- `ano_min` integer, nullable — Minimum year (DataMat)
- `ano_max` integer, nullable — Maximum year (DataMat)
- `km_min` integer, nullable — Minimum kilometers
- `km_max` integer, nullable — Maximum kilometers
- `has_anuncio` boolean, nullable — Filter by ad status (true=has ad, false=no ad)
- `renew_inactive` boolean, nullable — Filter vehicles with active exports but auto-renew disabled
- `only_retomas` boolean, nullable — Show only trade-in (retoma) vehicles
- `sem_inspecao` boolean, nullable — Filter by inspection validity (true=no valid inspection: overdue or not filled, false=has valid inspection)
- `iuc_caducado` boolean, nullable — Filter by IUC status (true=missed, unsettled IUC deadline; false=IUC in order). 100%-electric vehicles are exempt and never match.
- `localizacao` integer, nullable — Filter by location: 0=parque, 1=transporte
- `prep_status` string, nullable — Filter by prep status: nao_iniciada, em_curso, concluida
- `pronto_entrega` boolean, nullable — Filter by commercial readiness
- `buffer_blocked` boolean, nullable — Filter by sale block status
- `exclude_buffer_blocked` boolean, nullable — Exclude buffer-blocked vehicles
- `current_park_location_ids` integer[] — Filter by one or more current park location IDs
- `search` string, nullable — Search by plate, brand, or model
- `sort_by` string, nullable — Sort field: dataentr, preco, km, marca
- `sort_order` string, nullable — Sort order: asc or desc

## Headers

- `x-api-token` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/multigest/apis/multigest-protected-api.md) · [All operations](https://skmtc.dev/multigest/apis/multigest-protected-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/multigest/multigest-protected-api/revisions/4b44eb76b3ee/schema)
