NavCore API Endpoints
Positioning
POST /position
Get authenticated quantum-secured position.
Request:
{
"authenticate": true,
"spoofing_check": true,
"generate_evidence": true,
"pqc_algorithm": "ML-DSA-65",
"require_multi_constellation": true
}
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| authenticate | boolean | - | true | Include PQC signature |
| spoofing_check | boolean | - | true | Run spoofing detection |
| generate_evidence | boolean | - | false | Create evidence bundle |
| pqc_algorithm | string | - | ML-DSA-65 | Signature algorithm |
| require_multi_constellation | boolean | - | false | Require 2+ constellations |
Response:
{
"success": true,
"data": {
"position": {
"latitude": 59.436962,
"longitude": 24.753574,
"altitude": 45.2,
"accuracy_m": 0.8,
"horizontal_accuracy_m": 0.6,
"vertical_accuracy_m": 1.2,
"speed_mps": 0.0,
"heading_deg": null,
"timestamp": "2026-02-06T12:00:00.000000Z"
},
"integrity": {
"score": 0.985,
"spoofing_detected": false,
"holdover_active": false,
"satellites_used": 12,
"constellations": ["GPS", "Galileo"]
},
"evidence_bundle_id": "nav_ev_abc123",
"signature": {
"algorithm": "ML-DSA-65",
"public_key_id": "pk_xyz789",
"value": "base64:..."
}
}
}
GET /position/latest
Get cached latest position (faster, for high-frequency apps).
Response:
{
"success": true,
"data": {
"position": {
"latitude": 59.436962,
"longitude": 24.753574,
"altitude": 45.2,
"timestamp": "2026-02-06T12:00:00.000000Z"
},
"age_ms": 150
}
}
Timing
POST /timing
Get quantum-authenticated precise time.
Request:
{
"fallback_to_holdover": true,
"include_bounds": true
}
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| fallback_to_holdover | boolean | - | true | Use holdover if GPS unavailable |
| include_bounds | boolean | - | false | Include accuracy bounds |
Response:
{
"success": true,
"data": {
"utc": "2026-02-06T12:00:00.000000000Z",
"tai": "2026-02-06T12:00:37.000000000Z",
"gps_week": 2352,
"gps_tow": 388800.000000,
"source": "gps",
"accuracy_ns": 50,
"leap_seconds": 37,
"bounds": {
"lower_ns": -50,
"upper_ns": 50,
"confidence": 0.99
}
}
}
GET /timing/status
Get timing system status.
Response:
{
"success": true,
"data": {
"status": "operational",
"source": "gps",
"last_sync": "2026-02-06T12:00:00Z",
"accuracy_ns": 50,
"holdover_ready": true,
"holdover_calibration_age_h": 12
}
}
POST /timing/sync
Force timing resynchronization.
Response:
{
"success": true,
"data": {
"sync_status": "completed",
"sync_time_ms": 250,
"new_accuracy_ns": 25
}
}
Spoofing Detection
GET /spoofing/status
Get current spoofing detection status.
Response:
{
"success": true,
"data": {
"status": "clear",
"confidence": 0.99,
"last_check": "2026-02-06T12:00:00Z",
"checks_performed": [
{"type": "doppler_consistency", "result": "pass", "score": 0.99},
{"type": "multi_constellation", "result": "pass", "score": 0.98},
{"type": "carrier_phase", "result": "pass", "score": 0.99},
{"type": "clock_consistency", "result": "pass", "score": 1.0},
{"type": "ml_anomaly", "result": "pass", "score": 0.97}
],
"detection_latency_ms": 45
}
}
POST /spoofing/analyze
Deep analysis of current GNSS signals.
Request:
{
"depth": "full",
"include_raw_metrics": true
}
Response:
{
"success": true,
"data": {
"status": "warning",
"confidence": 0.85,
"threat_type": "potential_meaconing",
"analysis": {
"doppler_residuals": {
"status": "warning",
"mean_residual_hz": 0.15,
"threshold_hz": 0.1
},
"constellation_agreement": {
"status": "pass",
"gps_galileo_delta_m": 0.5
},
"signal_power": {
"status": "pass",
"measured_dbm": -128,
"expected_dbm": -130
}
},
"recommended_action": "increase_monitoring",
"raw_metrics": { ... }
}
}
GET /spoofing/history
Get spoofing detection history.
Query Parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
| from | ISO datetime | -24h | Start time |
| to | ISO datetime | now | End time |
| limit | integer | 100 | Max results |
Response:
{
"success": true,
"data": {
"events": [
{
"timestamp": "2026-02-06T08:30:00Z",
"status": "alert",
"threat_type": "gradual_offset",
"duration_s": 120,
"resolved": true
}
],
"summary": {
"total_alerts": 1,
"total_warnings": 3,
"uptime_percent": 99.99
}
}
}
Holdover
GET /holdover/status
Get QRNG holdover status.
Response:
{
"success": true,
"data": {
"active": false,
"ready": true,
"last_calibration": "2026-02-06T00:00:00Z",
"estimated_drift_ns_per_hour": 45,
"max_holdover_duration_h": 24,
"current_holdover_age_s": 0
}
}
POST /holdover/calibrate
Calibrate holdover system.
Response:
{
"success": true,
"data": {
"calibration_status": "completed",
"calibration_time_s": 60,
"new_drift_estimate_ns_per_hour": 42,
"improvement_percent": 6.7
}
}
GET /holdover/metrics
Get holdover performance metrics.
Response:
{
"success": true,
"data": {
"qrng_entropy_quality": 0.998,
"drift_model_accuracy": 0.95,
"last_24h_holdover_events": 2,
"total_holdover_time_s": 180,
"max_drift_observed_ns": 85
}
}
Evidence
POST /evidence
Generate position evidence bundle.
Request:
{
"position_id": "pos_xyz789",
"include_timing": true,
"include_integrity": true,
"format": "json"
}
Response:
{
"success": true,
"data": {
"bundle_id": "nav_ev_abc123",
"version": "3.0",
"position": { ... },
"timing": { ... },
"integrity": { ... },
"signature": {
"algorithm": "ML-DSA-65",
"value": "base64:..."
}
}
}
GET /evidence/{bundle_id}
Retrieve evidence bundle.
POST /evidence/verify
Verify evidence bundle integrity.
Request:
{
"bundle": { ... }
}
Response:
{
"success": true,
"data": {
"valid": true,
"checks": {
"signature": "valid",
"timestamp": "valid",
"position_hash": "valid",
"timing_hash": "valid"
}
}
}
Integrity
GET /integrity
Get current integrity metrics.
Response:
{
"success": true,
"data": {
"overall_score": 0.985,
"position_integrity": 0.99,
"timing_integrity": 0.98,
"spoofing_integrity": 0.99,
"satellites_visible": 18,
"satellites_used": 12,
"pdop": 1.2,
"hdop": 0.8,
"vdop": 1.0
}
}
GET /integrity/constellation
Get per-constellation integrity.
Response:
{
"success": true,
"data": {
"constellations": {
"GPS": {
"satellites_visible": 8,
"satellites_used": 6,
"integrity": 0.99,
"cn0_avg": 42.5
},
"Galileo": {
"satellites_visible": 6,
"satellites_used": 4,
"integrity": 0.98,
"cn0_avg": 41.2
},
"GLONASS": {
"satellites_visible": 4,
"satellites_used": 2,
"integrity": 0.97,
"cn0_avg": 40.0
}
}
}
}
© 2024-2026 SoftQuantus Innovative OÜ