NAQTL REST API

09/05/2026
NAQTL API — Developer Documentation

NAQTL REST API

The official developer API for Noah's Ark Quantum Tech Lab — a unified platform to manage quantum procedures, live telemetry, hardware builds, post-quantum cryptography, and the LUMEN digital solidarity programme.

Base URL
https://api.noahsarkquantumtechlab.com/v1
⚛️

Quantum Procedures

Real-time step-by-step execution of quantum hardware operations with role-based sign-offs and full audit trails.

📡

Live Telemetry

Streaming sensor data from the Ark-Q1 processor — temperature, gate fidelity, coherence time, error rate.

🔐

PQC Security

All endpoints secured by API key + optional JWT. Data encrypted via PQC Shield v2 (Kyber-1024 / Dilithium5).

🏗️

Build & Inventory

Track component genealogy, serial numbers, and assembly status from engineering to orbit.

⚠️

Anomaly Tracking

Report, query, and resolve system anomalies with severity levels and timestamped operator accountability.

🌍

LUMEN Programme

Access real-time stats on the digital solidarity programme — 12,247+ learners across francophone Africa.

Quick Start

# 1. Make your first authenticated request curl -X GET https://api.noahsarkquantumtechlab.com/v1/status \ -H "x-api-key: naqtl-test-key-2026" # 2. Get live Ark-Q1 telemetry curl https://api.noahsarkquantumtechlab.com/v1/telemetry/ark-q1 \ -H "x-api-key: naqtl-test-key-2026" # 3. List active procedures curl "https://api.noahsarkquantumtechlab.com/v1/procedures?status=active" \ -H "x-api-key: naqtl-test-key-2026"

Authentication

// x-api-key Header Required

Every protected endpoint requires your API key passed as the x-api-key header or ?api_key= query parameter.

Demo Keys

KeyRolePermissions
naqtl-test-key-2026operatorRead + write all resources
naqtl-admin-2026adminAll permissions + key management

Generate JWT Token

POST /v1/auth/token Exchange API key for JWT Bearer token
Body
Response
Try it
{ "api_key": "naqtl-test-key-2026" }
{ "object": "response", "api_version": "v1", "data": { "access_token": "eyJhbGciOiJIUzI1NiJ9...", "token_type": "Bearer", "expires_in": 86400, "operator": { "name": "Demo Operator", "role": "operator" } } }
POST
Response
// Response will appear here

System Status

GET /v1/status

Returns the operational health of all NAQTL services. No authentication required.

GET /v1/status Check all service health
Response
Try it
{ "object": "response", "data": { "system": "NAQTL Operations Platform", "status": "operational", "services": { "api": { "status": "operational", "latency_ms": 3 }, "ark_q1": { "status": "nominal", "temperature_mk": 15.2 }, "prometheus_1":{ "status": "development", "completion_pct": 34 }, "lumen": { "status": "operational", "learners": 12247 }, "pqc_shield": { "status": "operational", "suite": "v2" } } } }
GET
Response
// Click Send to test

List Procedures

GET /v1/procedures

Returns all operational procedures. Filter by category, status, or tag. Supports pagination.

Query Parameters

ParameterTypeDescription
categoryoptionalstringFilter by category: quantum_hardware, cryptography, zpe_hardware
statusoptionalstringactive, draft, completed
tagoptionalstringFilter by tag e.g. cryogenic, pqc, arkcore
limitoptionalintegerResults per page (default: 20)
offsetoptionalintegerPagination offset (default: 0)
GET /v1/procedures List all procedures
Try it
Code
GET
URL (edit to add filters)
Try: ?status=active  |  ?category=cryptography  |  ?tag=cryogenic
Response
// Click Send to test
# JavaScript (fetch) const res = await fetch( 'https://api.noahsarkquantumtechlab.com/v1/procedures?status=active', { headers: { 'x-api-key': 'naqtl-test-key-2026' } } ); const { data } = await res.json(); console.log(data); // Array of procedures # Python (requests) import requests r = requests.get( "https://api.noahsarkquantumtechlab.com/v1/procedures", headers={"x-api-key": "naqtl-test-key-2026"}, params={"status": "active"} ) print(r.json())

Live Telemetry

GET /v1/telemetry/:processor_id

Returns live sensor data from a quantum processor. Each call returns slightly varied values to simulate real-time streaming noise from the Ark-Q1 cryogenic system.

Path Parameters

ParameterTypeDescription
processor_idrequiredstringProcessor identifier. Currently: ark-q1
GET /v1/telemetry/ark-q1 Ark-Q1 live sensor data
Try it
Schema
GET
Live Response (values vary each call)
// Click Send for live telemetry
processor_id: string — Processor identifier temperature_mk: float — Cryostat temp in millikelvin (≈15 mK) gate_fidelity_pct: float — Gate operation fidelity % (≈99.97) coherence_t2_ms: float — T₂ coherence time in milliseconds qubit_count: integer — Number of logical qubits (1024) error_rate: float — Average gate error rate repetition_rate_mhz:float — Operation repetition rate in MHz topology: string — Qubit topology (Heavy-Hex) status: string — NOMINAL | DEGRADED | OFFLINE alerts: array — Active alert objects timestamp: string — ISO 8601 timestamp of reading

List Builds

GET /v1/builds

Returns hardware build records including the PROMETHEUS-1 prototype and Ark-Q1 assembly. Includes full component genealogy.

GET /v1/builds All hardware builds
Try it
GET
Response
// Click Send to test

Create Build

POST /v1/builds

Register a new hardware build entry with component tracking.

FieldTypeDescription
namerequiredstringBuild name
projectrequiredstringProject name
serial_numberoptionalstringAuto-generated if omitted
componentsoptionalarrayArray of component objects
POST /v1/builds Create a hardware build
Try it
POST
Request Body
Response
// Response here

Create Procedure

POST /v1/procedures

Create a new operational procedure with named steps and required operator roles.

POST /v1/procedures Create new procedure
Try it
POST
Request Body
Response
// Response here

Complete a Step

POST /v1/procedures/:id/steps/:step_id/complete

Mark a specific step as completed. Automatically closes the procedure when all steps are done.

POST /v1/procedures/proc-001/steps/1/complete Complete step 1 of Ark-Q1 Cooldown
Try it
POST
Body
Response
// Response here

LUMEN Programme Stats

GET /v1/lumen/stats

Returns real-time statistics for the LUMEN Digital Solidarity programme — learner counts by region, course enrollment, and progress toward the 20,000-learner target.

GET /v1/lumen/stats Programme statistics
Try it
GET
Response
// Click Send to test

List Anomalies

GET /v1/anomalies

Returns reported system anomalies. Filter by status, severity, or system name.

GET /v1/anomalies All anomalies
Try it
GET
Response
// Create an anomaly first using POST /v1/anomalies

Report Anomaly

POST /v1/anomalies

Report a new system anomaly. Severity levels: low, medium, high, critical.

POST /v1/anomalies Report a new anomaly
Try it
POST
Request Body
Response
// Response here

Admin — Generate API Key

POST /v1/admin/keys

// Admin role required

Use the admin key: naqtl-admin-2026 in the sidebar to access this endpoint.

POST /v1/admin/keys Create new API key
Try it
POST
Body
Response
// Admin key auto-generated

Error Codes

All errors follow a consistent structure with HTTP status, human message, and machine-readable code.

{ "error": { "status": 404, "message": "Procedure not found.", "code": "NOT_FOUND" } }
HTTP StatusCodeDescription
200Success
201Resource created
400MISSING_FIELDSRequired body fields missing
401UNAUTHORIZEDMissing or invalid x-api-key
401INVALID_KEYAPI key not recognized
403FORBIDDENInsufficient role permissions
404NOT_FOUNDResource does not exist
429RATE_LIMIT120 requests/minute exceeded
404ROUTE_NOT_FOUNDEndpoint path does not exist

📡 Live Dashboard

Real-time snapshot of all NAQTL systems. Data refreshes every 3 seconds when the panel is open.

Gate Fidelity %
Temperature (mK)
Coherence T₂ (ms)
1024 Logical Qubits
12,247 LUMEN Learners
34% PROMETHEUS-1 Progress
Inactive
Raw Telemetry Stream
// Start the live feed to see raw data...
Share