https://api.quantfenix.com/v1All API requests require authentication using your API key. Include it in the Authorization header:
Authorization: Bearer YOUR_API_KEY100 requests/hour
1,000 requests/hour
Upload an optimization problem for cost analysis and backend selection
{
"problem_type": "vrp|scheduling|portfolio",
"data": "base64_encoded_csv_or_parquet",
"constraints": {
"max_cost": 100.0,
"max_runtime": 3600,
"quality_threshold": 0.95
},
"backends": ["aws_braket", "ibm_quantum", "rigetti"]
}{
"job_id": "job_123456789",
"status": "queued",
"estimated_cost": 45.20,
"recommended_backend": "aws_braket",
"estimated_runtime": 1800
}Get the current status and results of an optimization job
{
"job_id": "job_123456789",
"status": "completed",
"results": {
"optimal_solution": {...},
"cost_breakdown": {
"compute": 32.50,
"data_transfer": 8.20,
"storage": 4.50,
"total": 45.20
},
"performance_metrics": {
"runtime": 1650,
"quality_score": 0.97,
"backend_used": "aws_braket"
}
},
"audit_manifest": {
"hash": "sha256:abc123...",
"timestamp": "2024-12-15T10:30:00Z",
"reproducibility_data": {...}
}
}Download the audit-ready cost report and manifest for a completed job
{
"report_url": "https://reports.quantfenix.com/job_123456789.pdf",
"manifest_url": "https://reports.quantfenix.com/job_123456789.json",
"expires_at": "2024-12-22T10:30:00Z",
"checksum": "sha256:def456..."
}Get available quantum computing backends and their current status
{
"backends": [
{
"id": "aws_braket",
"name": "AWS Braket",
"status": "available",
"queue_length": 5,
"estimated_wait": 300,
"cost_per_minute": 0.35
},
{
"id": "ibm_quantum",
"name": "IBM Quantum",
"status": "available",
"queue_length": 12,
"estimated_wait": 720,
"cost_per_minute": 0.28
}
]
}Invalid request parameters or malformed data. Check your request body and parameters.
Invalid or missing API key. Ensure your Authorization header is correct.
Rate limit exceeded. Wait before making additional requests or upgrade your plan.
Server error. Please try again later or contact support if the issue persists.
Upload and optimize a vehicle routing problem
import quantfenix
# Initialize client
client = quantfenix.Client(api_key="your_api_key")
# Upload problem
job = client.optimize.upload(
problem_type="vrp",
data="path/to/your/data.csv",
constraints={
"max_cost": 100.0,
"max_runtime": 3600
}
)
# Check status
status = client.optimize.status(job.job_id)
print(f"Status: {status.status}")
# Get results when complete
if status.status == "completed":
results = status.results
print(f"Optimal cost: {results.cost_breakdown.total}")
print(f"Backend used: {results.performance_metrics.backend_used}")
# Download audit report
report = client.reports.cost(job.job_id)
print(f"Report URL: {report.report_url}")Upload and optimize a portfolio optimization problem
import { QuantFenix } from '@quantfenix/sdk';
// Initialize client
const client = new QuantFenix({
apiKey: 'your_api_key'
});
// Upload problem
const job = await client.optimize.upload({
problemType: 'portfolio',
data: fs.readFileSync('portfolio_data.csv'),
constraints: {
maxCost: 50.0,
maxRuntime: 1800,
qualityThreshold: 0.95
}
});
// Poll for completion
const results = await client.optimize.waitForCompletion(job.jobId);
console.log('Optimization complete:', {
cost: results.costBreakdown.total,
backend: results.performanceMetrics.backendUsed,
quality: results.performanceMetrics.qualityScore
});
// Download audit report
const report = await client.reports.cost(job.jobId);
console.log('Audit report:', report.reportUrl);