API sandbox
Test /optimize in the browser.
Send a real /optimize request and get back the same ranked JSON your app will receive.
Step 1
Pick a planning shape
Choose construction schedule, delivery routing, or shift staffing — each maps to a real /optimize request body.
Step 2
Send to the live pilot
Press Send to call POST /optimize on the pilot endpoint. If it is offline, you still see a representative fallback response.
Step 3
Copy and integrate
Review the ranked plan, metrics, and JSON. Copy the response or cURL, then wire the same call into your app.
If the live pilot endpoint is offline, you will still see a representative sandbox response so you can explore the response shape.
Amplitude
Pick a planning shape.
Choose a scenario, review the request shape, then call the live pilot endpoint.
Resequence after a crew delay.
Keep the inspection window without manual reshuffle.
Example constraints (illustrative). The live request uses the scenario template below.
Tip: press Ctrl+Enter or ⌘+Enter to send.
Sandbox response
Sample response — press Send to /optimize to call the live API
All tasks fit with no crew conflicts. The inspection stays after framing and the hand-off still lands this week.
Visual plan
Visual plan
Ranked plan
Project days
All tasks fit with no crew conflicts. The inspection stays after framing and the hand-off still lands this week.
Foundation
Foundation
Framing
Framing
Inspection
Inspection
Handoff
Handoff
- Total Duration Days
- 9
- Constraint Violations
- 0
- Savings Estimate
- Approx. 6 idle crew hours avoided
{
"status": "success",
"summary": "All tasks fit with no crew conflicts. The inspection stays after framing and the hand-off still lands this week.",
"solution": [
{
"task": "foundation",
"startDay": 1,
"endDay": 4
},
{
"task": "framing",
"startDay": 4,
"endDay": 8
},
{
"task": "inspection",
"startDay": 8,
"endDay": 9
},
{
"task": "handoff",
"startDay": 9,
"endDay": 10
}
],
"metrics": {
"totalDurationDays": 9,
"constraintViolations": 0,
"savingsEstimate": "Approx. 6 idle crew hours avoided"
},
"method": "hybrid",
"details": {
"solver": "cp-sat",
"backend": "simulator"
}
}This is the JSON body sent on Send. Field edits above are illustrative for now.
{
"type": "schedule",
"tasks": [
{
"id": "foundation",
"duration": 3,
"crew": "Crew A"
},
{
"id": "framing",
"duration": 4,
"crew": "Crew B"
},
{
"id": "inspection",
"duration": 1,
"crew": "Inspector"
},
{
"id": "handoff",
"duration": 1,
"crew": "Crew A"
}
],
"constraints": [
"foundation must finish before framing",
"inspection must happen after framing",
"handoff must happen after inspection",
"Crew B unavailable on day 2"
]
}Go deeper
Wire it into your stack
Quickstart
First authenticated call with curl and response expectations.
Start integrating →
API reference
Endpoints, auth headers, and response fields for /optimize.
Read API docs →
Data formats
How to structure schedule, routing, and staffing inputs.
View formats →
Access
Request a pilot API key for your own environment.
Get API key →