API Reference

Integrate QuantFenix into your quantum computing workflows with our REST API. Optimize costs automatically with intelligent backend selection.

API Overview

Base URL

https://api.quantfenix.com/v1

Authentication

All API requests require authentication using your API key. Include it in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Rate Limits

Free Tier

100 requests/hour

Pro Tier

1,000 requests/hour

Quick Start

Get your API key
Upload your problem
Get optimization results

SDKs & Libraries

Python
Available
JavaScript
Available
Go
Coming Soon
Rust
Coming Soon

API Endpoints

POST
/optimize/upload

Upload an optimization problem for cost analysis and backend selection

Request Body

{
  "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"]
}

Response

{
  "job_id": "job_123456789",
  "status": "queued",
  "estimated_cost": 45.20,
  "recommended_backend": "aws_braket",
  "estimated_runtime": 1800
}

GET
/optimize/status/{job_id}

Get the current status and results of an optimization job

Response

{
  "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": {...}
  }
}

GET
/reports/cost/{job_id}

Download the audit-ready cost report and manifest for a completed job

Response

{
  "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
/backends

Get available quantum computing backends and their current status

Response

{
  "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
    }
  ]
}

Error Codes

400 Bad Request

Invalid request parameters or malformed data. Check your request body and parameters.

401 Unauthorized

Invalid or missing API key. Ensure your Authorization header is correct.

429 Too Many Requests

Rate limit exceeded. Wait before making additional requests or upgrade your plan.

500 Internal Server Error

Server error. Please try again later or contact support if the issue persists.

SDK Examples

Python SDK

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}")

JavaScript SDK

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);