Docs/API Reference

API Reference

Base URL: https://driftrail.com/nerox/api

Authentication

All requests require a Bearer token in the Authorization header:

Authorization: Bearer nrx_sk_...
POST/v1/jobs

Submit an optimization job. Returns a job_id immediately. Supports TSP, CVRP, portfolio, scheduling, MaxCut, bin packing, and raw QUBO.

Request body

{ problem_type, payload, solver, config }

Returns

{ job_id, status, queued_at }
GET/v1/jobs/{job_id}

Fetch job status and result. Poll until status is "completed" or "failed".

Request body

Returns

{ job_id, status, result, runtime_s, gpu_seconds }
GET/v1/jobs/{job_id}/stream

Open a WebSocket connection to stream real-time solver progress events.

Request body

Returns

WebSocket stream of { iteration, energy, best_energy, timestamp }
GET/v1/jobs

List jobs with pagination. Filter by status, solver, or problem type.

Request body

Returns

Paginated list of job summaries
DELETE/v1/jobs/{job_id}

Cancel a running job. Billed GPU-seconds up to cancellation time.

Request body

Returns

{ cancelled: true }
POST/v1/datasets

Upload a problem instance to the Dataset Hub for reuse or benchmarking.

Request body

Multipart: file + metadata

Returns

{ dataset_id, name, size }
GET/v1/datasets

List available datasets including community benchmarks and your uploads.

Request body

Returns

Paginated list of dataset metadata
GET/v1/usage

Fetch GPU-second usage for the current billing period with per-solver breakdown.

Request body

Returns

{ included, used, overage, by_solver }

Rate limits

Starter

20 jobs/mo, 10 req/min

Pro

2,000 jobs/mo, 60 req/min

Business

Unlimited, 300 req/min