v1.2.0 - 9 June 2026
New - Offline-First Device Sync (Passo 6)
POST /v1/devices/register— register a device for offline-first operation with permanent device IDPOST /v1/devices/sync— sync offline dispatch queue; idempotent at(device_id, sequence_number)levelGET /v1/devices/:id/queue— get pending (unsynced) queue for a device- Offline queue: immutable until server confirms, monotonic sequence numbers, survives app restarts
New - Dispatch Settings
PATCH /v1/tenant/dispatch-settings— configure auto-dispatch, threshold, and reinforcement timeoutdispatch_mode— enable/disable auto-dispatchdispatch_threshold— minimum score for auto-dispatch (0–1)reinforcement_timeout_min— minutes before backup auto-dispatch if team doesn’t ACK (0 = disabled)
Updated - Missions
- Mission status lifecycle corrected:
CREATED → SENT → ACK → ON_ROUTE → ON_SITE → COMPLETED | FAILED COMPLETEDandFAILEDnow automatically close the originating event and return team toavailablemissions:receivepermission allows field operators to update status (previously onlymissions:manage)- Backup dispatch: send a second team to an active mission using
POST /v1/teams/dispatchwith the sameevent_id
Updated - Dispatch
event_latandevent_lngnow optional (undefined when GPS not available, previously NaN)requires_manual: truereturned when no team meets auto-dispatch threshold- Auto-reinforcement: scheduler job checks every minute for missions without ACK beyond timeout
SDKs - v1.2
All five SDKs updated (JS, React Native, Android/Kotlin, Swift, Python):requestBackup(missionId, eventId, eventLat?, eventLng?)— request backup team for active missionupdateDispatchSettings(dispatchMode?, dispatchThreshold?, reinforcementTimeoutMin?)— configure dispatch settings- Offline components:
ScoreEngine,WedeCache,WedeOfflineDispatch,WedeDeviceId— full offline-first capability - New SDK:
Wedeadmin/wede-sdk-android(Kotlin) — paridade com JS/RN/Swift/Python
v1.1.0 - 27 May 2026
New - Teams and Dispatch
GET /v1/teams- list teams with members and GPS coordinatesGET /v1/teams/:id- get team detailPATCH /v1/teams/:id/members/:memberId/location- update member GPS locationPOST /v1/teams/dispatch/score- proximity score engine - ranks teams by distance, equipment, availability and vertical capabilityPOST /v1/teams/dispatch- dispatch a team to an event - storesevent_lat/event_lngfor route mapping
New - Missions
GET /v1/missions- list missions with filters by team, status and limitGET /v1/missions/:id- get mission detailPATCH /v1/missions/:id/status- update mission lifecycle status with optional feedback payload
New - Billing
GET /v1/tenant/billing- current plan, annual usage counters, channel costs and available plans by country
New - API Key Management
GET /v1/tenant/api-keys- list active API keys (prefix only)POST /v1/tenant/api-keys/rotate- rotate API key with configurable grace period - previous key remains valid during transition
Security
- Brute force protection - account locked for 15 minutes after 5 consecutive failed login attempts - self-unlock via password reset
- JWT token versioning - tokens immediately invalidated when user is suspended or reactivated
/metricsendpoint protected - requiresx-wede-internalheader with secret stored in GCP Secret Manager- CORS restricted to production origins only
SDKs - v1.1
All four SDKs updated with Teams, Dispatch, Missions and Billing methods:@wede/sdk(TypeScript/JavaScript)wede-sdk(Python)@wede/react-native-sdk(React Native)WedeSDK(Swift)
v1.0.0 - May 2026
Core Platform
POST /v1/events- submit events with automatic channel selectionGET /v1/events- list events by zone and verticalPOST /v1/sync/batch- sync offline event batchesGET /v1/sync/status- check sync batch statusGET /v1/connectivity/status- zone connectivity statePOST /v1/connectivity/report- report connectivity from field deviceGET /v1/zones- list zones with geofence boundariesGET /v1/parsers- list event parsers by verticalGET /v1/tenant/me- tenant info and feature flagsGET /v1/tenant/usage- usage stats by periodPOST /v1/webhooks- create webhookGET /v1/webhooks- list webhooksDELETE /v1/webhooks/:id- delete webhook
Auth
POST /v1/auth/login- email and password login - returns JWTPOST /v1/auth/forgot-password- request password resetPOST /v1/auth/reset-password- reset password with tokenPOST /v1/auth/change-password- change password (authenticated)POST /v1/auth/verify- verify account activation token
Infrastructure
- PostgreSQL 16 on GCP Cloud SQL europe-west1
- GCP Cloud Run with graceful shutdown
- GitHub Actions CI/CD
- Cloudflare DNS and CDN
- All secrets in GCP Secret Manager
- Helmet, CORS, rate limiting per tenant
SDKs - v1.0
@wede/sdk(TypeScript/JavaScript)wede-sdk(Python)@wede/react-native-sdk(React Native) - with offline queue via AsyncStorageWedeSDK(Swift) - iOS 15+ / macOS 12+

