Onfleet · Arazzo Workflow

Onfleet Optimize Team Routes

Version 1.0.0

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

1 workflow 1 source API 1 provider
View Spec View on GitHub Last Mile DeliveryLogisticsFleet ManagementDispatchRoute OptimizationCouriersDriversTrackingGeocodingWebhookArtificial IntelligenceSoftware-as-a-ServiceArazzoWorkflows

Provider

onfleet

Workflows

optimize-team-routes
Initialize, start, poll, and apply (or abort) a route optimization job.
Initializes a route optimization for a team, starts and polls it, then applies the result when complete or aborts it when it failed.
5 steps inputs: endTime, startTime, tasks, team outputs: optimizationId, status
1
initializeOptimization
Queue an asynchronous route optimization job for the team.
2
startOptimization
Start the queued optimization job.
3
checkStatus
Poll the optimization job status and branch on the result.
4
applyOptimization
Apply the optimized routes when the job completed successfully.
5
abortOptimization
Abort the optimization job when it failed to release resources.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Onfleet Optimize Team Routes
  summary: Initialize and start a route optimization, poll its status, then apply the result.
  description: >-
    Runs Onfleet's asynchronous route optimization end to end. The workflow
    initializes an optimization job for a team, starts it, polls the
    optimization status, and then branches: when the job has completed it applies
    the optimized routes, and when the job failed it aborts to release the
    resources. Every step spells out its request inline so the flow can be read
    and executed without opening the underlying OpenAPI descriptions.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-2420.40
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-2420.40
      capability_name: Last-Mile Delivery Operations Management
      spec: onfleet-route-optimization-api-openapi.yml
      confidence: 0.8
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: routeOptimizationApi
  url: ../openapi/onfleet-route-optimization-api-openapi.yml
  type: openapi
workflows:
- workflowId: optimize-team-routes
  summary: Initialize, start, poll, and apply (or abort) a route optimization job.
  description: >-
    Initializes a route optimization for a team, starts and polls it, then
    applies the result when complete or aborts it when it failed.
  inputs:
    type: object
    required:
    - team
    - startTime
    properties:
      team:
        type: string
        description: The team id to optimize routes for.
      startTime:
        type: integer
        description: The optimization window start in Unix milliseconds.
      endTime:
        type: integer
        description: The optimization window end in Unix milliseconds.
      tasks:
        type: array
        description: Optional explicit list of task ids to include.
        items:
          type: string
  steps:
  - stepId: initializeOptimization
    description: Queue an asynchronous route optimization job for the team.
    operationId: initializeOptimization
    requestBody:
      contentType: application/json
      payload:
        type: AUTO_DISPATCH
        team: $inputs.team
        startTime: $inputs.startTime
        endTime: $inputs.endTime
        tasks: $inputs.tasks
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      optimizationId: $response.body#/optimizationId
  - stepId: startOptimization
    description: Start the queued optimization job.
    operationId: startOptimization
    parameters:
    - name: optimizationId
      in: path
      value: $steps.initializeOptimization.outputs.optimizationId
    successCriteria:
    - condition: $statusCode == 200
  - stepId: checkStatus
    description: Poll the optimization job status and branch on the result.
    operationId: getOptimizationStatus
    parameters:
    - name: optimizationId
      in: path
      value: $steps.initializeOptimization.outputs.optimizationId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
      progress: $response.body#/progress
    onSuccess:
    - name: completed
      type: goto
      stepId: applyOptimization
      criteria:
      - context: $response.body
        condition: $.status == "COMPLETED"
        type: jsonpath
    - name: failed
      type: goto
      stepId: abortOptimization
      criteria:
      - context: $response.body
        condition: $.status == "FAILED"
        type: jsonpath
  - stepId: applyOptimization
    description: Apply the optimized routes when the job completed successfully.
    operationId: applyOptimization
    parameters:
    - name: optimizationId
      in: path
      value: $steps.initializeOptimization.outputs.optimizationId
    successCriteria:
    - condition: $statusCode == 200
    onSuccess:
    - name: done
      type: end
  - stepId: abortOptimization
    description: Abort the optimization job when it failed to release resources.
    operationId: abortOptimization
    parameters:
    - name: optimizationId
      in: path
      value: $steps.initializeOptimization.outputs.optimizationId
    successCriteria:
    - condition: $statusCode == 200
  outputs:
    optimizationId: $steps.initializeOptimization.outputs.optimizationId
    status: $steps.checkStatus.outputs.status

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/onfleet-optimize-team-routes-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.