# Fleetio — how to use (mcp.ai)

Connect your Fleetio account and use 34 tools for productivity straight from your AI agent. Connect with your own API key. Fleetio is a fleet management platform for managing vehicles, equipment, maintenance, inspections, fuel, parts, purchasing, and operational workflows.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_fleetio?ms=1787291520000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `fleetio_archive_contact`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/fleetio`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/fleetio/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/fleetio/archive/contact` — Archive one Fleetio contact by ID. This reversible action is preferred over permanent deletion.
  - body: { contact_id: integer }
- `POST https://api.mcp.ai/api/fleetio/archive/vehicle` — Archive one Fleetio vehicle by ID. This is reversible with Restore Vehicle and is preferred over permanent deletion.
  - body: { vehicle_id: integer }
- `POST https://api.mcp.ai/api/fleetio/change/issue/state` — Close, resolve, or reopen one Fleetio issue using the dedicated lifecycle endpoint for that transition. Closing and resolving require a note; reopening does not accept one.
  - body: { note?: string, issue_id: integer, transition: string }
- `POST https://api.mcp.ai/api/fleetio/create/contact` — Create a Fleetio contact with a required first name and optional common business identity fields.
  - body: { email?: string, employee?: boolean, group_id?: integer, job_title?: string, last_name?: string, first_name: string, mobile_phone_number?: string }
- `POST https://api.mcp.ai/api/fleetio/create/fuel/entry` — Create a Fleetio fuel entry and its required meter reading for a vehicle. Supply volume in the vehicle's configured unit.
  - body: { date: string, liters?: number, partial?: boolean, personal?: boolean, reference?: string, vendor_id?: integer, meter_void?: boolean, uk_gallons?: number, us_gallons: number, vehicle_id: integer, meter_value: number, fuel_type_id?: integer, price_per_volume_unit?: number }
- `POST https://api.mcp.ai/api/fleetio/create/issue` — Report a Fleetio issue for a vehicle or equipment asset with required timing and summary plus optional priority, assignment, and labels.
  - body: { summary: string, asset_id: integer, due_date?: string, label_ids?: integer[], asset_type: string, description?: string, reported_at: string, reported_by_id?: integer, issue_priority_id?: integer, assigned_contact_ids?: integer[] }
- `POST https://api.mcp.ai/api/fleetio/create/meter/entry` — Record a primary or secondary Fleetio meter reading for a vehicle. Inspect the vehicle's existing meter history first because Fleetio requires values to increase in chronological order and checks read
  - body: { date: string, void?: boolean, value: number, meter_type?: string, vehicle_id: integer }
- `POST https://api.mcp.ai/api/fleetio/create/vehicle` — Create a Fleetio vehicle with its required name, primary meter unit, status, and type, plus optional common identity and assignment fields.
  - body: { vin?: string, make?: string, name: string, year?: integer, model?: string, group_id?: integer, fuel_type_id?: integer, license_plate?: string, vehicle_type_id: integer, vehicle_status_id: integer, primary_meter_unit: string }
- `POST https://api.mcp.ai/api/fleetio/delete/fuel/entry` — Permanently delete one Fleetio fuel entry and its associated meter entry by exact fuel-entry ID. Both deletions are irreversible and can affect meter history, so use this only for a verified erroneous
  - body: { fuel_entry_id: integer }
- `POST https://api.mcp.ai/api/fleetio/delete/issue` — Permanently delete one Fleetio issue by exact ID. This action is irreversible: use it only for a known disposable or erroneous issue after verifying the ID. Prefer issue state transitions for normal l
  - body: { issue_id: integer }
- `POST https://api.mcp.ai/api/fleetio/delete/meter/entry` — Permanently delete one Fleetio meter entry by exact ID. This action is irreversible: use it only for a known erroneous or disposable reading after verifying the ID.
  - body: { meter_entry_id: integer }
- `POST https://api.mcp.ai/api/fleetio/get/contact` — Retrieve one Fleetio contact by ID for assignment, issue, or maintenance workflows. Returns purposeful business and employment details while omitting residential, license, user-access, and account-mem
  - body: { contact_id: integer }
- `POST https://api.mcp.ai/api/fleetio/get/issue` — Retrieve full details for one Fleetio issue by ID.
  - body: { issue_id: integer }
- `POST https://api.mcp.ai/api/fleetio/get/service/entry` — Retrieve one Fleetio service entry by ID, including its status, maintenance tasks, issues, meter data, and costs.
  - body: { service_entry_id: integer }
- `POST https://api.mcp.ai/api/fleetio/get/vehicle` — Retrieve full current details for one Fleetio vehicle by ID.
  - body: { vehicle_id: integer }
- `POST https://api.mcp.ai/api/fleetio/get/work/order` — Retrieve full details for one Fleetio work order by ID.
  - body: { work_order_id: integer }
- `POST https://api.mcp.ai/api/fleetio/list/accounts` — Return Fleetio account identity, plan, state, and permission or feature context for the connected API key. Credential-like account tokens are always removed.
  - body: { per_page?: integer, next_cursor?: string, filter_account_name_like?: string }
- `POST https://api.mcp.ai/api/fleetio/list/contacts` — Find Fleetio contacts using bounded cursor pagination and common identity or employment filters.
  - body: { sort_by?: string, per_page?: integer, next_cursor?: string, sort_direction?: string, filter_email_eq?: string, filter_email_like?: string, filter_group_id_eq?: integer, filter_last_name_like?: string, filter_employee_number_eq?: string }
- `POST https://api.mcp.ai/api/fleetio/list/fuel/entries` — Find Fleetio fuel entries by vehicle, vendor, external ID, or date range using bounded cursor pagination.
  - body: { sort_by?: string, per_page?: integer, next_cursor?: string, sort_direction?: string, filter_date_gte?: string, filter_date_lte?: string, filter_vendor_id_eq?: integer, filter_vehicle_id_eq?: integer, filter_external_id_eq?: string }
- `POST https://api.mcp.ai/api/fleetio/list/issues` — Find Fleetio issues by vehicle, state, issue number, assigned contact, due date, or reported date.
  - body: { state?: string, sort_by?: string, per_page?: integer, next_cursor?: string, sort_direction?: string, filter_number_eq?: string, assigned_contact_id?: integer, filter_due_date_lte?: string, filter_vehicle_id_eq?: integer, filter_reported_at_gte?: string }
- `POST https://api.mcp.ai/api/fleetio/list/meter/entries` — Find Fleetio primary or secondary meter readings by vehicle, meterable asset, category, or date range, ordered for chronology checks.
  - body: { sort_by?: string, category?: string, per_page?: integer, next_cursor?: string, sort_direction?: string, filter_date_gte?: string, filter_date_lte?: string, filter_vehicle_id_eq?: integer, associated_resource_id?: integer, associated_resource_type?: string }
- `POST https://api.mcp.ai/api/fleetio/list/reference/data` — List one Fleetio reference collection used by vehicle, issue, work-order, service, fuel, vendor, grouping, and inspection workflows.
  - body: { per_page?: integer, resource: string, next_cursor?: string }
- `POST https://api.mcp.ai/api/fleetio/list/service/entries` — List Fleetio service entries by reference, status, or completion-date range, with sorting and cursor pagination.
  - body: { status?: string, sort_by?: string, per_page?: integer, next_cursor?: string, sort_direction?: string, filter_reference_eq?: string, filter_reference_like?: string, filter_completed_at_gte?: string, filter_completed_at_lte?: string }
- `POST https://api.mcp.ai/api/fleetio/list/service/reminders` — Find due, overdue, snoozed, or upcoming Fleetio service reminders by vehicle or service task.
  - body: { sort_by?: string, per_page?: integer, next_cursor?: string, sort_direction?: string, filter_status_eq?: string, filter_vehicle_id_eq?: integer, filter_service_task_id_eq?: integer }
- `POST https://api.mcp.ai/api/fleetio/list/vehicles` — Find active Fleetio vehicles by name, VIN, license plate, group, status, or type, with cursor pagination and configurable sorting.
  - body: { sort_by?: string, per_page?: integer, next_cursor?: string, filter_vin_eq?: string, filter_name_eq?: string, sort_direction?: string, filter_name_like?: string, filter_group_id_eq?: integer, filter_license_plate_eq?: string, filter_vehicle_type_id_eq?: integer, filter_vehicle_status_id_eq?: integer }
- `POST https://api.mcp.ai/api/fleetio/list/work/orders` — Find Fleetio work orders by vehicle, vendor, contact, number, status, or purchase order reference.
  - body: { sort_by?: string, per_page?: integer, next_cursor?: string, status_name?: string, sort_direction?: string, filter_number_eq?: string, filter_vendor_id_eq?: integer, filter_contact_id_eq?: integer, filter_vehicle_id_eq?: integer, filter_purchase_order_number_like?: string }
- `POST https://api.mcp.ai/api/fleetio/restore/contact` — Restore one archived Fleetio contact by ID.
  - body: { contact_id: integer }
- `POST https://api.mcp.ai/api/fleetio/restore/vehicle` — Restore one archived Fleetio vehicle by ID.
  - body: { vehicle_id: integer }
- `POST https://api.mcp.ai/api/fleetio/update/contact` — Update selected business identity, communication, employment, or group fields on one Fleetio contact; omitted fields remain unchanged.
  - body: { email?: string, employee?: boolean, group_id?: integer, job_title?: string, last_name?: string, contact_id: integer, first_name?: string, mobile_phone_number?: string }
- `POST https://api.mcp.ai/api/fleetio/update/fuel/entry` — Correct selected timestamp, volume, meter, vendor, fuel type, price, flag, or reference fields on one Fleetio fuel entry; omitted fields remain unchanged.
  - body: { date?: string, liters?: number, partial?: boolean, personal?: boolean, reference?: string, vendor_id?: integer, meter_void?: boolean, uk_gallons?: number, us_gallons?: number, meter_value?: number, fuel_type_id?: integer, fuel_entry_id: integer, price_per_volume_unit?: number }
- `POST https://api.mcp.ai/api/fleetio/update/issue` — Update issue content, priority, due date, or assignments without changing the issue lifecycle state; omitted fields remain unchanged.
  - body: { summary?: string, due_date?: string, issue_id: integer, label_ids?: integer[], description?: string, reported_by_id?: integer, issue_priority_id?: integer, assigned_contact_ids?: integer[] }
- `POST https://api.mcp.ai/api/fleetio/update/meter/entry` — Correct the timestamp, value, or void state of one Fleetio meter entry, or change its meter type from primary to secondary. This tool cannot change a secondary entry back to primary. Omitted fields re
  - body: { date?: string, void?: boolean, value?: number, meter_type?: string, meter_entry_id: integer }
- `POST https://api.mcp.ai/api/fleetio/update/vehicle` — Update selected identity, classification, or assignment fields on one Fleetio vehicle; omitted fields remain unchanged.
  - body: { vin?: string, make?: string, name?: string, year?: integer, model?: string, group_id?: integer, vehicle_id: integer, fuel_type_id?: integer, license_plate?: string, vehicle_type_id?: integer, vehicle_status_id?: integer }
- `POST https://api.mcp.ai/api/fleetio/update/work/order` — Update selected status, scheduling, assignment, reference, description, or issue fields on an existing Fleetio work order; omitted fields remain unchanged.
  - body: { issue_ids?: integer[], vendor_id?: integer, contact_id?: integer, started_at?: string, description?: string, completed_at?: string, scheduled_at?: string, work_order_id: integer, invoice_number?: string, work_order_status_id?: integer, expected_completed_at?: string, purchase_order_number?: string }

## Example prompts
- "What can I do in Fleetio?"
- "Show me a summary of my Fleetio account"

## More
- Page: https://mcp.ai/fleetio
- Agent spec (llms.txt): https://mcp.ai/fleetio/llms.txt
- Postman collection: https://mcp.ai/fleetio/postman.json
