Solving
Send the encoded model to the Quicopt service and read back the result.
QuicoptClient.solve — Function
solve(model::JuMP.Model; kwargs...) -> JSON3.ObjectRead model, encode it, and solve it on the Quicopt service. Tags the call with source_language = "jump" (the modeling library it was written in) unless overridden. See the byte method below for the keyword arguments (incl. project).
solve(bytes; base_url, key, source_language, project, key_path, async, poll, timeout, silent, transport) -> JSON3.ObjectPOST an already-encoded model and return the parsed JSON result (status, objective, feasible, solution, display, …). async=true submits to /v1/jobs and polls to completion (use it for the first call against a cold server — the worker warmup can 504 a sync call); otherwise it is one /v1/solve. Pass key to authenticate with a specific key you already hold (e.g. a distributed internal/test key) — it is used as-is and never written to disk. Otherwise, on the first keyless call the server mints a free key, cached at key_path (0o600, see KEY_PATH_ENV) and replayed as a Bearer token thereafter — including by later runs, so one caller keeps one key. A cached key the server rejects is discarded and re-minted once. source_language and project tag the call (which modeling library wrote it; a project label for per-project invoicing) — sent as query params, not baked into the model. A non-2xx response throws QuicoptError. silent=true suppresses printing the result banner.
QuicoptClient.QuicoptError — Type
QuicoptError(status, reason, message, display)A non-2xx response from the service. reason is the stable machine code (e.g. "unsupported_model", "quota_exhausted"); display is the server's ready-to-print framed message, shown by showerror when present.
Where it sends, and where the key lives
QuicoptClient.DEFAULT_BASE_URL — Constant
DEFAULT_BASE_URLThe public Quicopt service endpoint solve targets unless a base_url is given.
QuicoptClient.KEY_PATH_ENV — Constant
KEY_PATH_ENVEnvironment variable overriding where the free key is cached. Point it at durable storage in an environment whose home directory does not survive the run (CI, containers), where the default location is wiped between sessions and every run would otherwise mint a fresh key.