Early accessThe FLEETA Developer API officially launches in September 2026.

API · AI agents · Webhooks

Ask your fleet a question.

Two minutes and no code if you just want answers. A published API, webhook events and SDKs if you want the same data inside the systems you already run. Either way what comes back is bounded by your own permissions, and never wider.

Setup guide to send your IT team →

An actual answer, in the assistant your team already has open — no dashboard, no export.

Any MCP client · 28 tools

fleeta

Which vehicles braked hard yesterday?

Scanned 12 devices · 37 events · 4,182 GPS points

Truck 114 braked hard 3 times yesterday. The worst was 14:07:22 — 62 down to 18 km/h. Route and speed below.

Vehicle Time Peak g
Truck 11414:07:22 14:07:22 −0.62 g
Truck 11411:48:05 11:48:05 −0.51 g
Truck 11409:22:40 09:22:40 −0.44 g

CH1 FRONT evt_8831 · Truck 114 Yesterday 14:07:22

Reconstruction — route and speed drawn from GPS and G-sensor data, not recorded footage.

Three ways in — one key, one permission model

  • MCP

    28 tools · 2 min

    Register one URL in ChatGPT, Claude or Cursor. Nothing to install.

    MCP guide →
  • REST API

    52 endpoints

    Pull vehicles, trips and events into the systems you already run.

    API reference →
  • Webhooks

    5 events · HMAC

    We POST to your endpoint the moment something happens.

    Webhook guide →

Two readers on this page — start where you belong

You manage the fleet

No code. Register one address in the assistant your team already uses and ask in plain language.

You’ll build the integration

Published endpoints, scopes, webhook events and SDKs. Nothing to request access for.

Your AI knows everything except your fleet.

It reads your inbox and your spreadsheets happily enough. Your vehicles are the one thing it has no way to look up. Connect FLEETA once and the assistant your team already has open answers from the operational record itself — where the vehicles are, which trips ran, which safety events the cameras logged and when.

Answers in seconds

Ask in plain language and the answer comes back from live fleet data — instead of a request that sits in someone else’s queue until Thursday.

One URL, connected once

Nothing to install, nothing to host, nothing to keep running. One address is registered once and the connection is done.

The AI your team already uses

Claude, ChatGPT or Cursor — whichever is already open. Nobody has to learn another tool to get an answer.

500,000+

Vehicles on the road

Reporting in production today, not a pilot count

17

Safety event types detected automatically

Caught on the camera — nobody has to be watching

28

Tools the AI can use

20 read · 6 write

19

Languages it answers in

The same answer, in the language the depot speaks

From the camera outward

An incident doesn’t wait for someone to notice it.

The camera flags the event on the device. From that moment it is recorded, timestamped and tied to the vehicle — so it can reach the person on call, the systems that run your week, and anyone who asks about it a month later.

“Harsh braking · Truck 114 · 14:07”
How a safety event travels: detected by the camera on the vehicle, recorded by the FLEETA platform, then fanned out to your team, to your systems and to anyone who asks later. On the left, inside a dashed boundary marked “On the vehicle”, a dashcam node labelled “The camera detects it — on the device, 17 event types”. An arrow runs right to the FLEETA platform, where the event is recorded, timestamped and tied to the vehicle. Three arrows fan out from the platform to “Your team, in seconds — Slack, email, on-call”, drawn in green as the fastest path; “Your systems, on schedule — TMS, ERP, reporting”; and “Anyone who asks, later — ChatGPT, Claude, Cursor”. A separate faint arrow drops from the platform to a node labelled “Without any of this — you hear about it on the next phone call”. Nothing continues from that node. On the vehicle The camera detects it On the device · 17 event types FLEETA platform Recorded · timestamped ·tied to the vehicle Your team, in seconds Slack · email · on-call Your systems, on schedule TMS · ERP · reporting Anyone who asks, later ChatGPT · Claude · Cursor Without any of this You hear about it on the next phone call
CH1 FRONT REC
2026-08-07 14:07:22
  1. On the vehicle

    The camera detects it

    On the device · 17 event types

    CH1 FRONT REC
    2026-08-07 14:07:22
  2. FLEETA platform

    Recorded · timestamped · tied to the vehicle

  3. Without any of this

    You hear about it on the next phone call

  4. Your team, in seconds

    Slack · email · on-call

  5. Your systems, on schedule

    TMS · ERP · reporting

  6. Anyone who asks, later

    ChatGPT · Claude · Cursor

Vehicle-status questions work from the free plan; safety events and trips from Starter. Delivering the event straight into your own systems by webhook starts on the Pro plan.

Removed work

What stops being someone’s job

Not four new capabilities to evaluate. Four chores that currently have a person’s name on them, and do not need one.

  • 01

    Logging into a dashboard just to answer one question

    The question gets asked where the work already happens, and the answer comes straight back. No login, no filtering, no digging through an afternoon of records.

    Which vehicles braked hard yesterday?

    Truck 114 braked hard 3 times yesterday. The worst was 14:07 — 62 down to 18 km/h. Route and speed below.

    Vehicle Time Peak g
    Truck 114 14:07:22 −0.62 g
    Truck 114 11:48:05 −0.51 g
    Truck 114 09:22:40 −0.44 g

    Illustrative answer — nobody opened a dashboard to produce it.

  • 02

    Copying numbers into a spreadsheet every month

    The systems that need the figures pull them directly. Month-end stops being a person exporting one report so they can retype it into another.

    REST API + SDK

    • TMS
    • ERP
    • Data warehouse

    What crosses: Vehicles · trips · safety events · driving reports

  • 03

    Waiting for a phone call to find out there was an incident

    The moment a camera flags something, it lands where your team already looks. You hear about it from the system, not from the customer.

    • 14:07:22 Harsh braking · Truck 114
    • 14:07:24 Slack #fleet-ops, email, on-call paged

    Two seconds, and nobody had to phone anyone. Available from the pro plan upward.

  • 04

    Asking a developer to build one alert

    The person who wants the alert builds it, in the tool they already use, that afternoon. Nothing joins an engineering backlog to get there.

    No-code automation

    • n8n
    • Zapier
    • Make
    • Google Sheets

    What crosses: The same events, without writing code

One platform

One question, four ways to ask it.

Same events, same key, same response shape. The only thing that changes is who has to do the work — and on three of these four, the answer is nobody.

The question

“Which vehicles had harsh braking yesterday?”

Yesterday it was Truck 114 — KR-72-1043 in your fleet record, the id every route below hands back.

You, in chatClaude · ChatGPT · CursorFLEETA MCP

The agent calls us on your behalf

Nobody logs in to look. The question gets asked in the window they were already working in, and the answer comes back in the same thread.

For your developer
you › Which vehicles had harsh braking yesterday? ▸ list_events         events:read   finds evt_2b8f4c1d9a3e on KR-72-1043▸ safety_event_stats  events:read   counts them per vehicle # One URL registered once. No export, no viewer, no ticket.

Whichever route you took, an event comes back like this

"id": "evt_2b8f4c1d9a3e""vehicle_id": "KR-72-1043""type": "harsh_braking""occurred_at": "2025-08-07T14:02:07Z""severity": "high"

Which event, which vehicle, when it happened and how hard — enough to raise a ticket, message the depot or add a row to the weekly report without opening anything.

The same shape arrives however you asked for it: pulled, pushed, routed by an automation, or read back to you by an assistant.

Write access, gated

An agent cannot touch a vehicle unless a person says yes.

20 of the 27 tools only answer questions. The 6 that can change something stop and wait for a named person — so approving what an assistant is about to do stops being a policy someone has to police, and becomes a card someone reads in five seconds.

20 of 27

Read-only tools

Answer immediately. There is nothing to approve — they cannot change anything.

6

Write tools

Every one of them stops here. No exception, no per-tool setting that turns the gate off.

1

Confirm step

The second call, and the only one that executes an approved write.

The agent asks. Nothing moves.

A write tool call does not write. It comes back as a request card: what would happen, in a sentence, and a note that it is a write.

Proposed action

reboot_device devices:write

Reboot the dashcam on Truck 114

Nothing has been sent to the vehicle yet.

A person reads it and decides.

The card goes to a human — the same human who is accountable for the fleet. Cancel and the request dies here. Try it.

Approval required

Fleet admin

Reboot the dashcam on Truck 114

Write action, devices:write. Runs only if you approve it.

Then, and only then, it runs.

The approved action executes through a second, separate call, and the receipt names who approved it. There is no path from a prompt to a vehicle that skips this.

Executed

14:07:41 · approver verified · 1 action executed

Nothing else ran. The reboot the person read is the reboot that happened.

The same gate covers all 6 writes:reboot_devicerecall_sd_recordingcancel_recall_jobdelete_sd_recordingcreate_geofencedelete_geofence

Some write actions reach the vehicle itself and spend its mobile data.

Upload a recording off the SD card — uses the vehicle's mobile data. That cost is the reason it sits behind the gate rather than answering like a read.

Same permissions as the web viewer · nothing shared across accounts · nothing changes on a vehicle until a person approves it.

We don’t create new permissions — the AI sees exactly the vehicles that person’s account can already see.

What it does not do

  • No autonomous action. All 6 write tools stop at the approval step; the confirm step needs a human before anything reaches a vehicle.
  • Your data only. Answers are grounded in your own devices, events, trips and GPS — within the scopes your tier already has, and nothing outside your account.

Tool names and scopes above are the published ones. The vehicle, the timestamp and the wording of the summary are shown illustratively.

The footage itself

The evidence doesn’t ride home in the truck.

The full recording stays on the SD card in the vehicle. When someone needs it, FLEETA recalls it over LTE — after a person approves the upload — and it arrives as a link, not as an errand.

“The insurer wants the actual clip of yesterday’s 14:07.”
How a recording is recalled: the full clip sits on the SD card in the vehicle, a person approves the upload, FLEETA recalls it over LTE, and it arrives as a link. On the left, inside a dashed boundary marked “On the vehicle”, a node labelled “The SD card has the full clip — every drive, recorded on the vehicle”. A wire runs right into a node tagged “Approval required”: “A person says yes first — it spends the vehicle's mobile data, so it asks”. The wire continues to the FLEETA node, “Recalled over LTE — progress you can watch, cancel any time”, and ends in green at “A link in your hands — from the portal, the API or your AI”. A separate faint arrow drops from the FLEETA node to a node labelled “Without this — someone drives out to pull the SD card”. Nothing continues from that node. On the vehicle The SD card has the full clip Every drive, recorded on the vehicle APPROVAL REQUIRED A person says yes first It spends the vehicle’s mobiledata — so it asks Recalled over LTE Progress you can watch ·cancel any time A link in your hands From the portal, the APIor your AI Without this Someone drives out to pull the SD card
  1. On the vehicle

    The SD card has the full clip

    Every drive, recorded on the vehicle

  2. Approval required

    A person says yes first

    It spends the vehicle's mobile data — so it asks

  3. Recalled over LTE

    Progress you can watch · cancel any time

  4. Without this

    Someone drives out to pull the SD card

  5. A link in your hands

    From the portal, the API or your AI

Recall is a write action, so an agent can only start one through the approval gate above — and while it uploads, the progress is visible and it can be cancelled. As far as we know, no other fleet platform lets an AI agent reach SD-card originals at all.

One subscription

Everything on this page is part of the plan you already have.

There is no separate API product and no AI add-on. The plan that gives you the web viewer and live dashcam monitoring also opens the API and the AI connection — priced per camera, managed in the web viewer, and nothing else to buy.

One subscription

Your FLEETA cloud subscription

Priced per camera · managed in the web viewer

  • Free
  • Starter
  • Standard
  • Pro
  • Enterprise
See plans and prices →
  • Web viewer

    The fleet console — vehicles, drivers, video, reports, geofences, settings.

  • Live dashcam monitoring

    Real-time location, live view and safety alerts on the map.

  • Open API

    Included · no extra fee

    REST, webhooks and the SDK. Your plan sets how often you can call it and what it can reach.

  • AI assistants (MCP)

    Included · no extra fee

    ChatGPT, Claude or Cursor connect to your fleet with the same key — nothing to install.

Everything above comes with one plan. Changing the plan or the number of cameras changes what the API and the AI assistant may do — it never adds a second bill. What each plan unlocks, on the developer portal →

Plans and reach

Published: what each plan can actually do.

Two questions decide this, and neither is technical: where does a fleet our size land, and how often can we actually use it? Both answers are published — few fleet platforms put their scopes and call quotas next to the price.

AI access is included, not a separate line item

Three ways AI reaches the fleet, and the job each one takes off somebody’s desk. None of them is a separate purchase — the scope set simply follows the tier, from 1 scope on the free plan to 15 at Enterprise, so an assistant reaches exactly what your own team already reaches.

  • With the AI you already use

    Every planLive

    Register one URL in ChatGPT, Claude or Cursor and ask in plain language. Which questions get an answer follows your plan: vehicle status from the free plan, safety events and trips from Starter, video and reports from Standard, geofences and SD recordings from Pro.

    Nobody exports a spreadsheet to answer a question about last week.

  • AI summary cards on safety events

    All plansComing soon

    Event review gets a written summary card, so a reviewer reads the context instead of piecing it together.

    A reviewer would stop reconstructing what happened — the context is already written.

  • Fleet Copilot in the web viewer

    EnterpriseLive

    A built-in assistant that reads devices, events, trips and GPS in one pass, answers in 19 languages, and opens the map behind its answer — plus remote commands by device name.

    Nobody translates the answer for the depot — it comes back in their own language.

Where does a fleet our size land?

At 60 cameras you land on Pro — 990,500 calls a month. That is a question every 3 seconds, around the clock, with room to spare.

13 scopes and a sustained 10 requests a second come with it. The full five-plan matrix is on the developer portal.

ProYour fleet

Price / camera / mo
$10
Max cameras
99
Requests / sec (burst)
10 (25)
Scopes
13
Calls / month
990,500
All five plans on the developer portal →

Where the call allowance comes from

Monthly calls are 500 + 1,000 × monthly payment ($) — one formula, applied to every tier, so you can work out your own ceiling instead of asking for it.

You do not choose an API tier

The tier is derived from the subscription you already have — there is no separate API product to buy and no second plan to pick. Move up a plan and the scopes, the rate limit and the quota move with it.

Rate limits are per second with the burst ceiling in brackets, and scopes are the count granted at that tier. The cadences above assume a 30-day month and round the pace down, so the rate shown always fits inside the published allowance.

Developer handoff

For the person who has to build it.

You do not have to read any of this. Send your developer this page and the integration stops being a scoping call — the auth model, the event list and the whole tool surface are already published, so the estimate comes back the same day.

What they get

  • 52 REST /v1 endpoints across 8 domains

    Cursor paging throughout, so a full history export is a loop, not a support ticket.

  • Scope-based permissions, derived from your subscription tier

    Nobody hand-assembles a permission set. A key reaches exactly what the plan already grants.

  • OAuth 2.1 — RFC 8414 discovery, RFC 7591 dynamic registration

    Clients register themselves. There is no ticket to raise to get an app approved.

  • 5 webhook events

    HMAC-signed, with automatic retries and a dead-letter queue — nobody has to poll on a cron and nobody has to notice when it stops.

  • Official @fleeta/sdk (JS/TS)

    Typed client, same key, same scopes. Auth and paging are already written.

  • Remote, link-style MCP

    Nothing to install, nothing to host, nothing for anyone to keep patched.

Send your first request
bash
# Public test key — works right now, no dashcam needed
export FLEETA_KEY="flt_test_ent_0000000000000000001"

curl -s "https://openapi.fleeta.io/v1/devices?limit=5" \
  -H "Authorization: Bearer $FLEETA_KEY"
No dashcam yet? The public test key above returns a 12-vehicle demo fleet from the same endpoints, in the same shapes. Live keys start with flt_live_ and carry their own scopes — swap that one string when your cameras arrive.
Register it with an AI client
bash
claude mcp add --transport http fleeta \
  https://mcp.fleeta.io/

OAuth or a bearer header — your key stays out of the client with OAuth.

Same server, four clients

One address for every client — https://mcp.fleeta.io/. Sign in with your key once; with OAuth the key never reaches the client. The public test key works here too.

All 27 tools

20 read, 6 write behind a confirmation step. Each row names the scope it needs, so your developer can tell before writing anything which of these your tier already grants.

Read Write · gated Confirm step
Tool What it does Required scope Access
list_devicesList dashcams, with status filtersdevices:readRead
get_deviceSingle device detaildevices:readRead
list_eventsQuery the 17 safety event typesevents:readRead
safety_event_statsSafety event statisticsevents:readRead
get_event_videoIssue a presigned event video URLvideo:readRead
fleet_locationsReal-time locations of all vehiclesgps:readRead
list_tripsPer-vehicle trip historygps:readRead
trip_trackGPS track of a trip (sampled)gps:readRead
list_gps_export_jobsGPS Export job list / statusgps:exportRead
list_geofencesGeofence listgeofences:readRead
get_geofenceSingle geofence detailgeofences:readRead
geofence_alertsGeofence enter/exit alert historygeofences:readRead
fleet_summaryFleet summary (utilization, aggregates)insights:readRead
driving_reportDriving report, fleet-wide or per vehicleinsights:readRead
api_usageAPI usage / quota lookupusage:readRead
audit_logsAudit log queryaudit:readRead
list_webhooksWebhook subscription list / statuswebhooks:manageRead
list_sd_recordingsRecordings on a dashcam's SD card — asks the devicemedia:readRead
get_sd_recording_metadataThumbnail / GPS track / G-sensor for one recordingmedia:readRead
get_recall_jobProgress of a recall — how much of the upload has arrivedmedia:readRead
reboot_deviceReboot a dashcamdevices:writeWrite · gated
recall_sd_recordingUpload a recording off the SD card — uses the vehicle's mobile datamedia:recallWrite · gated
cancel_recall_jobStop an in-flight recall before it finishes uploadingmedia:recallWrite · gated
delete_sd_recordingDelete one recording from the SD card, permanentlymedia:writeWrite · gated
create_geofenceCreate a circular geofencegeofences:writeWrite · gated
delete_geofenceDelete a geofencegeofences:writeWrite · gated
confirm_actionExecute a previously approved write (step 2 of the gate)scope of the confirmed actionConfirm step
Getting started guide API reference

Both open the developer portal — safe to forward on its own.

Frequently asked questions

Which AI assistants work with FLEETA?

Any assistant that supports MCP — ChatGPT (custom connector), Claude (claude.ai, Claude Desktop, Claude Code), Cursor, and others. You register one address, https://mcp.fleeta.io/, and sign in with your API key once.

Can the AI see more than I can?

No. An assistant works through your API key, and a key reaches exactly the vehicles and data your account and plan already allow — the same permissions the web viewer uses. Nothing is shared across accounts.

Can an AI change something on a vehicle?

Not on its own. Most tools only read. The ones that can change something — reboot a dashcam, recall or delete an SD recording, create or delete a geofence — stop and wait for a named person to approve, and only then run through a separate confirmation step.

Is my fleet data used to train AI models?

FLEETA does not use your data to train any model, and the MCP server keeps no copy of what an assistant asks. What the assistant itself does with an answer is governed by that product’s own data policy — check the settings of the client you use.

Does AI access cost extra?

No. It is included in every plan. What the assistant can answer follows your plan’s permissions: vehicle status from the free plan, safety events and trips from Starter, video and reports from Standard, geofences and SD recordings from Pro.

Do I need a developer to set it up?

No. Registering the address in ChatGPT or Claude takes about two minutes and no code. A developer only enters the picture if you want events pushed into your own systems — webhooks or the REST API — and the setup guide for that is on the developer portal.

What changes once it's connected

  • Anyone can ask about a vehicle in plain language and get an answer back.
  • An assistant reaches exactly what the person asking already reaches — never wider.
  • Incidents reach Slack, email or your on-call system seconds after they happen.
  • Monthly numbers land in your own reporting instead of a spreadsheet.
  • Nothing on a vehicle changes unless a person approves it first.