Install any skill in seconds. Free to start, no credit card required.
Get Started Free →cuOpt REST server — start server, endpoints, Python/curl client examples. Use when the user is deploying or calling the REST API.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -3% | 0% |
| case-02 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -1% | 0% |
| case-04 | ✗→✓ | ▲ Improved | -42% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -5% | 0% |
This skill covers starting the server and client examples (curl, Python). Server has no separate C API (clients can be any language).
| Problem type | Supported | |--------------|:---------:| | Routing | ✓ | | LP | ✓ | | MILP | ✓ | | QP | ✗ |
Ask these if not already clear:
bash# Development python -m cuopt_server.cuopt_service --ip 0.0.0.0 --port 8000 # Docker docker run --gpus all -d -p 8000:8000 -e CUOPT_SERVER_PORT=8000 \ nvidia/cuopt:latest-cuda12.9-py3.13
bashcurl http://localhost:8000/cuopt/health
/cuopt/request → get reqId/cuopt/solution/{reqId} until solution readypythonimport requests, time SERVER = "http://localhost:8000" HEADERS = {"Content-Type": "application/json", "CLIENT-VERSION": "custom"} payload = { "cost_matrix_data": {"data": {"0": [[0,10,15],[10,0,12],[15,12,0]]}}, "travel_time_matrix_data": {"data": {"0": [[0,10,15],[10,0,12],[15,12,0]]}}, "task_data": {"task_locations": [1, 2], "demand": [[10, 20]], "task_time_windows": [[0,100],[0,100]], "service_times": [5, 5]}, "fleet_data": {"vehicle_locations": [[0, 0]], "capacities": [[50]], "vehicle_time_windows": [[0, 200]]}, "solver_config": {"time_limit": 5} } r = requests.post(f"{SERVER}/cuopt/request", json=payload, headers=HEADERS) req_id = r.json()["reqId"] # Poll: GET /cuopt/solution/{req_id}
| Python API | REST | |------------|------| | order_locations | task_locations | | set_order_time_windows() | task_time_windows | | service_times | service_times |
Use travel_time_matrix_data (not transit_time_matrix_data). Capacities: [[50, 50]] not [[50], [50]].
Validation errors: Check field names against OpenAPI (/cuopt.yaml). Common mistakes: transit_time_matrix_data → travel_time_matrix_data; capacities per dimension [[50, 50]] not per vehicle [[50], [50]]. Capture reqId and response body for failed requests.
Run from each asset directory (server must be running; scripts exit 0 if server unreachable). All use Python requests:
See assets/README.md for overview.
For contribution or build-from-source, see the developer skill.
Other measured skills in the registry, with their headline benchmark lift.