Summary
StorageAPIWrapper supports two URL layouts via api_version, selected in _get_url() (src/api/StorageAPI.py):
api_version |
Packet ingest |
Node upsert |
| 1 (legacy) |
POST /api/raw-packet/ |
POST /api/nodes/ |
| 2 (current) |
POST /api/packets/{nodenum}/ingest/ |
POST /api/packets/{nodenum}/nodes/ |
v1 is the only use of the legacy paths in this repo. MeshCore upload already hard-codes api_version=2 in src/main.py.
Defaults today:
STORAGE_API_VERSION env default 1 in main.py (.env.example already documents 2)
StorageAPIWrapper(..., api_version: int = 1) constructor default
Goal
Remove v1 support so all Meshtastic feeders use v2 ingest URLs aligned with meshflow-api.
Scope (bot)
Coordination (API)
Acceptance
- Meshtastic bot with default config talks only to
/api/packets/{nodenum}/ingest/ and /api/packets/{nodenum}/nodes/
- No code path references
/api/raw-packet/ or v1 node upsert URL
Summary
StorageAPIWrappersupports two URL layouts viaapi_version, selected in_get_url()(src/api/StorageAPI.py):api_versionPOST /api/raw-packet/POST /api/nodes/POST /api/packets/{nodenum}/ingest/POST /api/packets/{nodenum}/nodes/v1 is the only use of the legacy paths in this repo. MeshCore upload already hard-codes
api_version=2insrc/main.py.Defaults today:
STORAGE_API_VERSIONenv default 1 inmain.py(.env.examplealready documents 2)StorageAPIWrapper(..., api_version: int = 1)constructor defaultGoal
Remove v1 support so all Meshtastic feeders use v2 ingest URLs aligned with meshflow-api.
Scope (bot)
api_version == 1branch inStorageAPIWrapper._get_url()api_versionparameter (or fix at 2 with a deprecation warning period if needed)STORAGE_API_VERSIONdefault to 2 inmain.py; remove env var if no longer neededSTORAGE_API_2_VERSIONif redundant after cleanupdocs/MESHTASTIC.md, and any deploy snippetsapi_version,STORAGE_API_VERSION,raw-packetCoordination (API)
Acceptance
/api/packets/{nodenum}/ingest/and/api/packets/{nodenum}/nodes//api/raw-packet/or v1 node upsert URL