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

# Inspections

> Request an LMN inspection for a vehicle without placing an order, track its status, and read the report.

A standalone inspection asks LMN to inspect a car on site and publishes the report to you. It creates no order, reservation, or purchase commitment; any later order is a separate transaction.

> [!NOTE]
>
> **Availability.** This endpoint family is new in v1.76 and is being rolled out. Available to partners with the `inspections_api` feature enabled; otherwise 403 `inspections_not_enabled`. Confirm with LMN that it is enabled for your key before building on it.

| Route | Returns |
| - | - |
| `POST /v1/inspections` | Creates the request. `201` with the inspection; `409 DUPLICATE_INSPECTION` if you already requested this car. |
| `GET /v1/inspections` | Your inspections, newest first. Metadata only (no `report`). |
| `GET /v1/inspections/{id}` | One inspection. `report` is `null` until ready, then the full report. |

## Flow

1. `POST /v1/inspections` with the car's `carUniqueId` (the `id` from `GET /v1/vehicles`). Nothing else is accepted in the body.
2. LMN records the request (`secondary_inspection_created`), starts the inspection (`secondary_inspection_in_progress`), and publishes the report (`secondary_inspection_ready`). Each step sends [`inspection.status_changed`](https://lmn.mintlify.site/webhooks/event-types#inspection-status_changed) to your webhook endpoint; the ready event carries the full `report`.
3. Without a webhook, poll `GET /v1/inspections/{id}`. When `status` is `secondary_inspection_ready`, `report` is populated. The detail read is always the current truth and always has fresh photo links.

## The inspection resource

Create, list, and detail responses, and the webhook `data`, share these seven fields. The detail and the webhook add `report` (null until ready).

| Field | Type | Meaning |
| - | - | - |
| `id` | string | Inspection id generated by LMN. |
| `carUniqueId` | string | The LMN car id you submitted. |
| `status` | string | `secondary_inspection_created`, `secondary_inspection_in_progress`, or `secondary_inspection_ready`. |
| `inspectionFeeAmount` | integer | Always `0` for now. |
| `inspectionFeeCurrency` | string | Server-selected currency, e.g. `KRW`. |
| `createdAt` | string | ISO 8601 with offset (KST). |
| `updatedAt` | string | ISO 8601 with offset (KST). |

Responses use a `success` / `data` envelope.

```json theme={null}
{
  "success": true,
  "data": {
    "id": "bd1df456-3da6-4cf9-87bf-5c05821c3986",
    "carUniqueId": "encar_41865534",
    "status": "secondary_inspection_created",
    "inspectionFeeAmount": 0,
    "inspectionFeeCurrency": "KRW",
    "createdAt": "2026-10-26T14:00:00+09:00",
    "updatedAt": "2026-10-26T14:00:00+09:00"
  }
}
```

## POST /v1/inspections

```bash theme={null}
curl -X POST "https://sandbox-api.lmnauto.com/v1/inspections" \
  -H "x-api-key: $LMN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "carUniqueId": "encar_41865534" }'
```

* `carUniqueId` is the only accepted field; unknown fields return `400 validation_error`.
* An unknown or no-longer-available car returns `404 vehicle_not_found`, the same as `GET /v1/vehicles/{id}`.
* The same company requesting the same car again, in any status including ready, returns `409 DUPLICATE_INSPECTION`; `error.details.id` is your existing inspection. This also holds after the listing disappears, and after a lost `201` response: just read the id you get back. Key rotation does not change ownership.
* Different partners can each request the same car; each gets its own private inspection.

## GET /v1/inspections/\{id}

```bash theme={null}
curl "https://sandbox-api.lmnauto.com/v1/inspections/$INSPECTION_ID" \
  -H "x-api-key: $LMN_API_KEY"
```

The seven fields above plus `report`. Unknown ids and other partners' inspections return `404 inspection_not_found` regardless of status.

### The report

Present once `status` is `secondary_inspection_ready`; `null` before.

| Field | Meaning |
| - | - |
| `notes` | LMN's inspection narrative, in English. May be `null`. |
| `vehicle` | The car as listed when you made the request: `carName`, `year`, `mileage`, `trim`, `fuelType`, `transmission`, `bodyType`, `color`, `drivetrain`, `vin`, `licensePlate`, `manufacturer`, `model`. Optional fields are omitted when unknown. |
| `sections` | Seven sections in a fixed order: Body, Painting, Wheels & Tires, Engine Bay, Mechanical, Interior, Walkaround. Each has a `label` and an `items` list. |

Every item in every section has the same shape:

| Field | Meaning |
| - | - |
| `label` | What was inspected, e.g. `Front Door (Driver's side)`. |
| `needAttention` | `true` when the inspector flagged this part: a damage finding, a failed paint-thickness reading, or a written-only finding. `false` means it passed. |
| `measurement` | Only where a reading was taken: `{ "value": 100, "unit": "um" }` for paint thickness, `mm` for tread depth. |
| `note` | Inspector's remark, or `null`. |
| `photos` | Photos and videos of this item. |

Each photo:

| Field | Meaning |
| - | - |
| `url` | Signed storage link to the full file. Valid about seven days from the read; fetch the inspection again for fresh links. |
| `thumbnailUrl` | Signed thumbnail (photos) or poster image (videos). `null` when none exists. |
| `mediaType` | `photo` or `video`. |
| `caption` | Inspector caption, often empty. |

```json theme={null}
{
  "success": true,
  "data": {
    "id": "bd1df456-3da6-4cf9-87bf-5c05821c3986",
    "carUniqueId": "encar_41865534",
    "status": "secondary_inspection_ready",
    "inspectionFeeAmount": 0,
    "inspectionFeeCurrency": "KRW",
    "createdAt": "2026-10-26T14:00:00+09:00",
    "updatedAt": "2026-10-27T11:00:00+09:00",
    "report": {
      "notes": "Clean example overall; the passenger front door shows a repaint.",
      "vehicle": { "carName": "2021 Mercedes-Benz GLC-Class AMG GLC43", "year": 2021, "mileage": 128216, "manufacturer": "Mercedes-Benz", "model": "GLC-Class", "vin": "W1N0G6EB5MF926950", "licensePlate": "181어3000" },
      "sections": [
        {
          "label": "Painting",
          "items": [
            { "label": "Hood", "needAttention": false, "measurement": { "value": 100, "unit": "um" }, "note": null,
              "photos": [ { "url": "https://storage.googleapis.com/…", "thumbnailUrl": "https://storage.googleapis.com/…", "mediaType": "photo", "caption": "" } ] },
            { "label": "Front Door (Passenger side)", "needAttention": true, "measurement": { "value": 744, "unit": "um" }, "note": null,
              "photos": [ { "url": "https://storage.googleapis.com/…", "thumbnailUrl": "https://storage.googleapis.com/…", "mediaType": "photo", "caption": "" } ] }
          ]
        }
      ]
    }
  }
}
```

Values are illustrative. The example is abbreviated: a real report has all seven sections and typically 100–200 photos.

## GET /v1/inspections

```bash theme={null}
curl "https://sandbox-api.lmnauto.com/v1/inspections" \
  -H "x-api-key: $LMN_API_KEY"
```

`{ "success": true, "data": [ …inspections… ] }`, newest `createdAt` first. No filters or pagination in this version.

## Errors

| HTTP | `error.code` | When |
| - | - | - |
| 403 | `inspections_not_enabled` | Any route: the `inspections_api` feature is not enabled for your account in this environment. |
| 400 | `validation_error` | Invalid JSON, missing or malformed `carUniqueId`, extra body fields. |
| 404 | `vehicle_not_found` | On create: unknown or unavailable car. |
| 404 | `inspection_not_found` | On read: unknown id or another partner's inspection. |
| 409 | `DUPLICATE_INSPECTION` | On create: you already requested this car. `error.details.id` has the existing id. |
| 503 | `service_unavailable` | On read: the report is temporarily unservable. Retry shortly. |

Authentication, IP allowlist, and rate-limit errors are the [shared ones](https://lmn.mintlify.site/errors.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.