Skip to content

Changelog

  • Records saved without a currency (from the app, imports or the API) now take their vehicle’s branch currency, else their own branch’s, else the organization’s. They used to default to USD.
  • Fuel logs and EV charging sessions stored as USD by that default were corrected to the right currency. Their cost entries moved to a new revision, so any you had already exported show as pending_update in GET /v1/cost_exports. No webhooks were sent for the correction.
  • Files: attach receipts, invoices and photos to fuel logs, expenses, work orders, vehicle renewals and vehicles with one multipart request (POST …/{id}/attachments); list and delete them.
  • Your ids in paths: GET /v1/vehicles/odoo:77 works wherever a Fleet id does, on every resource with external_ids.
  • GET /v1/me: check a key’s organization, environment, scopes and version.
  • Parts and inventory: /v1/parts, /v1/part_locations, /v1/inventory_levels, /v1/inventory_transactions.
  • Purchase orders: /v1/purchase_orders with line items; create drafts and record the accounting status.
  • Work order costs: costs gives parts, labor, service and other subtotals.
  • Record events: created, updated, deleted and status_changed for vehicles, fuel logs, EV charging, expenses, work orders (plus work_order.completed), renewals, issues, purchase orders, parts and vendors; inspection.submitted. See Event types.
  • Docs: Coming from Fleetio, Odoo Enterprise and JSON-2 in the Odoo recipe, and code in three languages for your own ids and files.

Everything an ERP integration needs to get fleet costs into the books once, coded and reconciled. See Costs and your ERP.

  • Cost ledger: /v1/cost_entries (every cost as ERP-ready lines with tax, references, dimensions and settlement), /v1/cost_exports (an exactly-once export queue per ERP, with stale-safe acknowledgements), /v1/cost_summaries (totals that never guess an exchange rate) and receipts as signed links.
  • Fleet requests: /v1/fleet_requests with lines, lifecycle actions, ERP financial write-back (financial_events:write) and a readiness check.
  • More costs: /v1/expenses, /v1/expense_types, /v1/vehicle_renewals, /v1/ev_charging_sessions, /v1/tire_replacements; VAT / eTIMS, payment method and dimensions on fuel logs, work orders and vehicles.
  • Mapping: accounting dimensions with bulk value sync, external references (external_ids on objects, external_id=system:id filters, dedupe on create), branch default dimensions, accounting settings and soft period close.
  • Webhooks signed per Standard Webhooks, with retries, delivery logs, secret rotation and an event feed.
  • Change: new cost records without a currency take their branch’s currency (or the vehicle’s branch’s), then the organization’s.

The first public version of the Fleet REST API.

  • Resources: branches, vehicles, users, contacts, vendors, vehicle assignments, meter entries, fuel logs, work orders and line items, issues, inspection templates, inspections, service reminders, vehicle positions.
  • Keys: scoped API keys with IP allowlists, expiry and zero-downtime rolling, managed in Settings → Developers.
  • Conventions: cursor pagination, updated_since on every list, expand, Idempotency-Key on every write, ETag/If-Match, RFC 9457 errors, IETF RateLimit headers.
  • Request log in Settings → Developers, kept for 30 days.
  • Docs: this site, the interactive reference, llms.txt and the OpenAPI 3.1 document.
  • Self-serve sandboxes with sample data, reset and event simulators.
  • SDKs for TypeScript and Python, and a Postman collection.
  • More resources: claims, transport bookings, comments, contact renewals.
  • OAuth apps, for products that connect many Fleet organizations.