---
title: "Apply the exact previously previewed toll statement"
method: POST
path: "/api/v1/tolls/imports/apply"
tags: ["Tolls", "Imports"]
---

# Apply the exact previously previewed toll statement

`POST /api/v1/tolls/imports/apply`

## Request

- Base URL: `https://fleetkeep.co.uk`
- URL: `https://fleetkeep.co.uk/api/v1/tolls/imports/apply`
- 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:write`)

Requires the same CSV bytes, the preview digest and an Idempotency-Key. At most 500 charge rows are accepted.

## Headers

- `Idempotency-Key` string, required

## Request body

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

## Response `200`

Idempotent replay

- TollImportResult
  - `batchId` string, uuid, required
  - `imported` integer, required
  - `duplicates` integer, required
  - `unknown` integer, required
  - `detectedProviderName` string, nullable, required
  - `replay` boolean, required

## Other responses

- `201`: Applied
- `400`: The request body or query was invalid.
- `401`: Missing or invalid Bearer access token.
- `403`: Token does not include the required scope.
- `409`: Confirmation is required or the supplied confirmation is invalid, stale, replayed or bound to different content.
- `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)
