---
title: "Preview a bounded fleet toll statement without writing"
method: POST
path: "/api/v1/tolls/imports/preview"
tags: ["Tolls", "Imports"]
---

# Preview a bounded fleet toll statement without writing

`POST /api/v1/tolls/imports/preview`

## Request

- Base URL: `https://fleetkeep.co.uk`
- URL: `https://fleetkeep.co.uk/api/v1/tolls/imports/preview`
- Auth: OAuth 2 (authorization code, authorization URL `https://fleetkeep.co.uk/auth/oauth2/authorize`, token URL `https://fleetkeep.co.uk/auth/oauth2/token`, scopes: `tolls:read`)

## Request body

- TollImportPayload
  - `sourceName` string, required
  - `csv` string, required: UTF-8 CSV content, limited to 262,144 bytes.

## Response `200`

Read-only preview bound to the exact CSV bytes

- TollImportPreview
  - `sourceName` string, required
  - `digest` string, required
  - `rowCount` integer, required
  - `importableCount` integer, required
  - `duplicateCount` integer, required
  - `unknownCount` integer, required
  - `detectedProviderName` string, nullable, required
  - `rows` TollImportRow[], required
    - `rowNumber` integer, required
    - `registration` string, required
    - `providerName` string, required
    - `chargedOn` string, date, required
    - `amountPence` integer, required
    - `chargeType` string, required
    - `location` string, nullable, required
    - `outcome` 'importable' | 'duplicate' | 'unknown_vehicle', required
  - `rowsTruncated` boolean, required
  - `confirmationRequired` true, required

## Other responses

- `400`: The request body or query was invalid.
- `401`: Missing or invalid Bearer access token.
- `403`: Token does not include the required scope.
- `429`: Per-token rate limit exceeded (60 requests per minute).

---

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