> ## Documentation Index
> Fetch the complete documentation index at: https://developers.manglai.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Vehicles (Vehículos)

> Crea vehículos y maquinaria para registrar consumos asociados

## Descripción

Los **vehículos** representan la flota y la maquinaria de una empresa. Primero creas la entidad con `POST /api/v1/vehicles`; después registras su actividad desde [Consumptions (Consumos)](/api/es/resources/consumptions).

<Info>
  El combustible de vehículos y maquinaria no se modela como factura. Para calcular emisiones, crea el vehículo o máquina y registra cada repostaje, distancia o consumo como un consumo asociado.
</Info>

## Endpoints

| Método | Ruta                         | Descripción                 |
| ------ | ---------------------------- | --------------------------- |
| GET    | `/api/v1/vehicles`           | Listar vehículos            |
| GET    | `/api/v1/vehicles/{id}`      | Obtener vehículo            |
| POST   | `/api/v1/vehicles`           | Crear o actualizar vehículo |
| GET    | `/api/v1/vehicles/dashboard` | Dashboard de vehículos      |

## Campos requeridos para crear vehículo

* `id`, `type`, `companyId`, `buildingId`, `licencePlate`
* Opcionales: `vehicleCategoryId`, `motorType`, `fuelTypeId`, `brand`, `model`

## Tipos principales

<CardGroup cols={2}>
  <Card title="Vehículos" icon="car">
    Usa `type: "vehicle"` para turismos, furgonetas, camiones u otros medios de transporte de la flota.
  </Card>

  <Card title="Maquinaria" icon="tractor">
    Usa `type: "machine"` para maquinaria industrial, agrícola o forestal.
  </Card>
</CardGroup>

Tipos de motor disponibles: `combustion`, `electric`, `hybrid`.

## Flujo recomendado

1. Crea el vehículo o máquina con `POST /api/v1/vehicles`.
2. Guarda el `id` creado.
3. Continúa en [Consumptions (Consumos)](/api/es/resources/consumptions) y úsalo como `entityId`.

## Ejemplos por caso

### A) Crear un vehículo

```json theme={null}
{
  "id": "550e8400-e29b-41d4-a716-446655440010",
  "type": "vehicle",
  "vehicleCategoryId": "4cf6f7ca-57cd-46ec-99a9-a8a292730cc8",
  "motorType": "combustion",
  "fuelTypeId": "fuel-diesel-id",
  "companyId": "1b1e07a7-083d-4831-a1d2-84b6e93a1572",
  "buildingId": "7fef7760-f9e7-4de9-ae35-8c37db65e4a3",
  "licencePlate": "1234ABC"
}
```

### B) Crear maquinaria

```json theme={null}
{
  "id": "550e8400-e29b-41d4-a716-446655440020",
  "type": "machine",
  "vehicleCategoryId": "ccf0b0d1-9abd-4a34-8b6a-9d9909fda391",
  "motorType": "combustion",
  "fuelTypeId": "fuel-diesel-id",
  "companyId": "1b1e07a7-083d-4831-a1d2-84b6e93a1572",
  "buildingId": "7fef7760-f9e7-4de9-ae35-8c37db65e4a3",
  "licencePlate": "MACHINE-001"
}
```

Categorías habituales de maquinaria:

| Tipo       | `vehicleCategoryId`                    |
| ---------- | -------------------------------------- |
| Industrial | `ccf0b0d1-9abd-4a34-8b6a-9d9909fda391` |
| Agrícola   | `4edb1c86-3b36-4860-b087-112ab98b07be` |
| Forestal   | `df2489e2-4095-4426-ad65-caf25329c135` |

## Siguiente paso

Una vez creado el vehículo o máquina, registra su actividad en [Consumptions (Consumos)](/api/es/resources/consumptions). Allí se explica cómo enviar `quantity`, `unitType`, `categoryId`, `extraData` y `emissionsCategoryIds`.

## Endpoints auxiliares

| Necesitas        | Endpoint                                                   |
| ---------------- | ---------------------------------------------------------- |
| Empresas         | `GET /api/v1/companies`                                    |
| Edificios        | `GET /api/v1/companies/{companyId}/buildings`              |
| Combustibles     | `GET /api/v1/inputs/recommended?types=fuel&countryCode=ES` |
| Categorías GHG   | `GET /api/v1/categories?level=subcategory`                 |
| Unidades válidas | `GET /api/v1/units`                                        |
