User Guide

TL;DR

This section explains how to think about an FG-API request and response — what a job actually is, what comes back, what constraints you can apply, and how to run solves asynchronously. It's conceptual; for exhaustive field-by-field documentation, see the API Reference.

The request/response cycle

Every interaction with FG-API follows the same shape: you describe a problem, the API solves it, and you get routes back.

  • You describe the world. Resources (vehicles or crews) that can do work, jobs (and/or shipments) that need to be done, and the travel times/distances between locations. Everything else — time windows, capacities, skills, zones, breaks — is a constraint layered on top of that core triangle.
  • FG-API normalizes and solves. Symbolic IDs become integer indices, missing matrices get computed automatically, and the solver searches for the lowest-cost feasible assignment of jobs to vehicle routes.
  • You get routes, or reasons why not. The response always has a status. Served jobs appear inside routes[].activities with full timing and load detail. Anything the solver couldn't fit appears in unserved with a specific reason code — never silently dropped.

The pages in this section walk through each side of that cycle: building a correct job, reading everything the response gives you, applying constraints deliberately, running the cycle asynchronously, and avoiding the most common mistakes.

In this section

Next steps

FieldGenius VRP API documentation. Generated from the engineering source of truth (.tex docs and app/ source).