Onfleet website screenshot

Onfleet

Onfleet is an AI-powered last-mile delivery management platform that orchestrates fleet operations, dispatch, route optimization, and customer experience across internal and outsourced delivery fleets. The platform powers 400M+ deliveries for brands including Eaze, Total Wine & More, Pizza Hut, Kroger, and Urbanstems across industries from prepared meals and grocery to cannabis, pharmacy, and furniture. Onfleet exposes a comprehensive REST API v2.7 for tasks, workers, route plans, route optimization, orders, recipients, destinations, organizations/teams, and webhooks — backed by official SDKs in Python, Node.js, PHP, Java, and Go, plus the 150+ courier Onfleet Connect network.

8 APIs 19 Features
Last Mile DeliveryLogisticsFleet ManagementDispatchRoute OptimizationCourierDriversTrackingGeocodingWebhooksAISaaS

APIs

Onfleet Tasks API

Create, list, fetch, update, clone, force-complete, and delete pickup/dropoff tasks. Tasks are the atomic unit of work in Onfleet — each has a destination, recipient, completion...

Onfleet Workers API

Manage drivers — create, list, update, delete, fetch a worker's assigned tasks, and pull a delivery manifest for compliance reporting. Workers are bound to teams, have vehicle m...

Onfleet Route Plans API

Create and manage route plans — ordered sequences of tasks assigned to a worker for a time window — and kick off asynchronous route optimization jobs (task-based, vehicle-based,...

Onfleet Orders API

Orders represent a pickup-dropoff task pair shared between a courier organization and its clients on the Onfleet Connect network. Clients can quote, create, update, clone, cance...

Onfleet Organizations & Teams API

Look up your own organization and connected delegatee organizations on Onfleet Connect, manage administrators (Super and Standard, optionally read-only), create and list teams, ...

Onfleet Recipients API

Create and look up end customers (recipients) by ID, name, or E.164 phone number. Recipients carry SMS notification preferences and metadata, and can be reused across tasks.

Onfleet Destinations API

Manage geocoded physical addresses used as task pickup/dropoff locations. Accepts a parsed address structure or a single `unparsed` field; coordinates are returned as GeoJSON [l...

Onfleet Webhooks API

Register HTTPS callbacks against 27 trigger types covering task lifecycle, worker duty/CRUD, route plan state changes, SMS recipient events, and async job completions (auto-disp...

Collections

Arazzo Workflows

Onfleet Assign Task to Worker

Create a task and explicitly assign it to a worker's container, then verify.

ARAZZO

Onfleet Auto-Assign Task

Create a task with auto-assignment to a team, then confirm a worker was assigned.

ARAZZO

Onfleet Batch Create and List Tasks

Submit a batch of tasks asynchronously, then list tasks to verify the load.

ARAZZO

Onfleet Build Route Plan

Create a route plan for a worker, append tasks to it, then read it back.

ARAZZO

Onfleet Clone and Force-Complete Task

Read a task, clone it for a redelivery, then force-complete the original.

ARAZZO

Onfleet Dispatch Team Tasks

Survey unassigned tasks, trigger team auto-dispatch, then re-check what remains.

ARAZZO

Onfleet Fulfill Courier Order

Quote a pickup-and-dropoff order, create it, then read back its status.

ARAZZO

Onfleet Onboard Worker to Team

Create a team, add a new worker to it, then confirm the worker's membership.

ARAZZO

Onfleet Optimize Team Routes

Initialize and start a route optimization, poll its status, then apply the result.

ARAZZO

Onfleet Provision Administrator and Team

Create an administrator, create a team they manage, then confirm the team list.

ARAZZO

Onfleet Provision Delivery Task

Create a recipient and destination, then create a delivery task and confirm it.

ARAZZO

Onfleet Register Task Webhook

Register a webhook, fetch the signing secret, then confirm it is listed.

ARAZZO

Onfleet Upsert Recipient and Create Task

Look up a recipient by phone, create one if missing, then create a task for them.

ARAZZO

GraphQL

Onfleet GraphQL Schema

Conceptual GraphQL schema for the [Onfleet](https://onfleet.com) last-mile delivery management platform. Derived from the [Onfleet REST API v2.7](https://docs.onfleet.com/refere...

GRAPHQL

Pricing Plans

Onfleet Plans Pricing

3 plans

PLANS

Rate Limits

Onfleet Rate Limits

0 limits

RATE LIMITS

FinOps

Features

REST API v2.7 over HTTPS with Basic Auth using the API key as the username and an empty password
Base URL https://onfleet.com/api/v2; JSON-only request and response bodies
24-character URL-safe resource IDs; GeoJSON [longitude, latitude] coordinates; Unix-millisecond timestamps; E.164 phone numbers
Tasks API with create, batch create (100 per request), clone, force-complete, dependencies, custom fields, and metadata search
Workers API with vehicle metadata (CAR / MOTORCYCLE / BICYCLE / TRUCK), capacity, additionalCapacities, and route delivery manifest
Route Plans API for hub-to-hub routes plus asynchronous Route Optimization (task-based, vehicle-based, auto-dispatch) — Enterprise plan endpoints
Orders API for pickup-dropoff pair workflows on the Onfleet Connect courier network (quote, create, update, clone, cancel, reject)
Recipients and Destinations APIs with geocoding and reusable resource lookup by name/phone
Team Auto-Dispatch (Beta) for batched assignment of unassigned tasks to a team
Webhooks API with 27 trigger types — full task lifecycle, worker duty/CRUD, route plan events, SMS opt-out, predictive delay, and async job completions
HMAC-SHA256 webhook signing via /webhooks/secret with X-Onfleet-Signature header
lastId-based pagination on List Tasks (up to 64 per page); 70-second server timeout on long-running queries
Official SDKs for Python, Node.js, PHP, Java, and Go; archived Ruby SDK; Postman collection
AI-powered route optimization trained on 400M+ deliveries; predictive ETA and delay alerts
Proof of delivery with photos, signatures, timestamps, barcode scanning, and ID verification (Scale+)
Branded customer tracking pages and two-way driver-customer chat
Driver mobile apps (iOS and Android) rated 4.7 stars on both stores
150+ courier partners via Onfleet Connect
Native integrations with Shopify, Zapier, GigSmart, Dutchie, Zendrive

Integrations

Shopify
Zapier
Dutchie
GigSmart
Zendrive
Onfleet Connect (150+ courier partners)

Event Specifications

Onfleet Webhooks

Real-time event stream delivered as HTTPS POST callbacks from Onfleet to a URL you register via the Webhooks API. Each webhook is bound to a single triggerId; payloads share a c...

ASYNCAPI

Semantic Vocabularies

Onfleet Context

28 classes · 18 properties

JSON-LD

API Governance Rules

Onfleet API Rules

8 rules · 3 errors 5 warnings

SPECTRAL

JSON Structure

Onfleet Task Structure

0 properties

JSON STRUCTURE

Example Payloads

Onfleet Create Task Example

3 fields

EXAMPLE

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
🔗
Documentation
Documentation
🔗
Documentation
Documentation
📄
ChangeLog
ChangeLog
📄
ChangeLog
ChangeLog
📄
ChangeLog
ChangeLog
🟢
StatusPage
StatusPage
📰
Blog
Blog
📝
Signup
Signup
💰
Pricing
Pricing
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
💬
Support
Support
👥
GitHubOrganization
GitHubOrganization
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
📦
SDKs
SDKs
💻
CodeExamples
CodeExamples
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
🔗
JSONLD
JSONLD
🔗
Vocabulary
Vocabulary
🔗
Rules
Rules

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Onfleet Workers API
  version: '2.7'
request:
  auth:
    type: basic
    username: '{{username}}'
    password: '{{password}}'
items:
- info:
    name: Workers
    type: folder
  items:
  - info:
      name: List Workers
      type: http
    http:
      method: GET
      url: https://onfleet.com/api/v2/workers
      params:
      - name: filter
        value: ''
        type: query
        description: Comma-separated list of fields to return.
      - name: teams
        value: ''
        type: query
        description: Comma-separated list of team IDs.
      - name: states
        value: ''
        type: query
        description: Comma-separated list of worker states (0=Offline, 1=On-duty Idle, 2=On-duty Active).
      - name: phones
        value: ''
        type: query
    docs: List Workers
  - info:
      name: Create Worker
      type: http
    http:
      method: POST
      url: https://onfleet.com/api/v2/workers
      body:
        type: json
        data: '{}'
    docs: Create Worker
  - info:
      name: Get Single Worker
      type: http
    http:
      method: GET
      url: https://onfleet.com/api/v2/workers/:workerId
      params:
      - name: workerId
        value: ''
        type: path
      - name: filter
        value: ''
        type: query
      - name: analytics
        value: ''
        type: query
    docs: Get Single Worker
  - info:
      name: Update Worker
      type: http
    http:
      method: PUT
      url: https://onfleet.com/api/v2/workers/:workerId
      params:
      - name: workerId
        value: ''
        type: path
      body:
        type: json
        data: '{}'
    docs: Update Worker
  - info:
      name: Delete Worker
      type: http
    http:
      method: DELETE
      url: https://onfleet.com/api/v2/workers/:workerId
      params:
      - name: workerId
        value: ''
        type: path
    docs: Delete Worker
  - info:
      name: List Worker's Assigned Tasks
      type: http
    http:
      method: GET
      url: https://onfleet.com/api/v2/workers/:workerId/tasks
      params:
      - name: workerId
        value: ''
        type: path
    docs: List Worker's Assigned Tasks
  - info:
      name: Get Worker's Route Delivery Manifest
      type: http
    http:
      method: GET
      url: https://onfleet.com/api/v2/workers/:workerId/deliveryManifest
      params:
      - name: workerId
        value: ''
        type: path
      - name: googleApiKey
        value: ''
        type: query
    docs: Get Worker's Route Delivery Manifest
bundled: true