Timeline
| Date | Milestone |
|---|---|
| May 1, 2026 | V3 GA — production-ready for all customers |
| May 8, 2026 | Migration announcement sent to all V2 customers |
| June 1, 2026 | Migration reminder — 60 days until V2 shutdown |
| July 1, 2026 | Final warning — 30 days until V2 shutdown |
| July 15, 2026 | V2 responses include deprecation headers |
| August 1, 2026 | V2 service scaled to zero (still accessible via cold start as a grace period for stragglers) |
| August 15, 2026 | V2 infrastructure fully deleted |
Current State
| Aspect | V2 | V3 |
|---|---|---|
| Endpoint | /eu/predict | /v3/predict |
| Regions | EU | US + EU |
| Model | Single model with test-time augmentation | 5-fold deep learning ensemble |
| Features | Single-image prediction, server-side render | Single + batch, streaming, PoP sessions, rectify, preprocess |
API Differences
Authentication
Authentication is unchanged. Use the same x-api-key header with your existing API key. No new keys are required.
Single Image Prediction
V2 Request:
POST /eu/predict HTTP/1.1
Host: api.radanalyzer.com
Content-Type: application/json
x-api-key: YOUR_API_KEY
{
"image": "base64_encoded_image_data...",
"uuid": "patient-123",
"include_render": true
}V3 Request:
POST /v3/predict HTTP/1.1
Host: api.radanalyzer.com
Content-Type: application/json
x-api-key: YOUR_API_KEY
{
"image": "base64_encoded_image_data...",
"uuid": "patient-123",
"render": true
}V2 Response:
{
"vhs": 10.2,
"vlas": 2.8,
"vhs_confidence": "HIGH",
"vlas_confidence": "HIGH",
"scores": [0.95, 0.92, 0.88, 0.91, 0.85, 0.90, 0.87, 0.83, 0.89, 0.86, 0.84],
"landmarks": [ ... ],
"render": "base64_rendered_image..."
}V3 Response:
{
"vhs": 10.2,
"vlas": 2.8,
"model_confidence": "optimal",
"spread": 0.003,
"pop_detected": false,
"model_version": "v3.3.0",
"result_code": 1,
"result_description": "VHS and VLAS predicted successfully with high confidence.",
"landmarks": [
{ "x": 0.42, "y": 0.15, "class": "heart_top" },
{ "x": 0.41, "y": 0.44, "class": "heart_bottom" },
{ "x": 0.25, "y": 0.30, "class": "heart_right" },
{ "x": 0.57, "y": 0.29, "class": "heart_left" },
{ "x": 0.49, "y": 0.40, "class": "VLAS" },
{ "x": 0.36, "y": 0.12, "class": "Vertebra A" },
{ "x": 0.55, "y": 0.12, "class": "Vertebra B" }
],
"rendered_image": "base64_rendered_image..."
}New V3-Only Features
| Feature | Parameter / Endpoint | Description |
|---|---|---|
| Batch | POST /v3/predict with {"images": [...]} | Send up to 10 images in a single request |
| Streaming | POST /v3/predict/stream | Stream results as server-sent events |
| PoP Session | POST /v3/pop-session/start + POST /v3/pop-session | Picture-of-Picture capture session |
| Corners | POST /v3/corners | Detect screen corners in phone photos |
| Rectify | POST /v3/rectify | Perspective correction with known corners |
| Preprocess | POST /v3/preprocess | Corner detection + perspective rectification combined |
Migration Steps for B2B Customers
Minimal Migration (5 minutes)
- Update the endpoint URL from
/eu/predictto/v3/predict. The request body format is identical —imageanduuidwork as before. - Remove any unsupported parameters (
extended_run,enhancement_iterations) and custom headers (X-Include-Confidence,X-Include-Bounding-Boxes,X-Enable-CLAHE,X-Disable-Rescue).
Recommended Migration
- Complete the minimal migration above.
- Replace
vhs_confidence/vlas_confidenceparsing withmodel_confidence(optimal / good / review). - Update landmark handling to expect 7 landmarks (indices 0–6) instead of 11.
- Map your error handling to the new
result_codevalues (0–7) and useresult_descriptionfor user-facing messages.
Advanced Migration (PoP Session Flow)
- Create a PoP session via
POST /v3/pop-session/startbefore sending images. This enables the full Picture-of-Picture pipeline. - Send frames to
POST /v3/pop-sessionwith the session ID. Continue sending untilsession_statusreturns"complete"or"failed". - Sessions auto-expire after 5 minutes of inactivity or 20 frames.
See the V3 API Reference for complete PoP session documentation including request/response schemas.
Communication Plan
- May 8, 2026 — Migration Announcement: Email to all V2 API key holders announcing V3 availability and the V2 deprecation timeline.
- June 1, 2026 — Reminder: Follow-up email with migration progress check and a link to this guide.
- July 1, 2026 — Final Warning: Urgent notice that V2 will shut down in 30 days. Direct support offered for any remaining migrations.
- July 15, 2026 — Deprecation Headers: V2 responses will include HTTP deprecation headers to alert automated systems:
Sunset: Sat, 01 Aug 2026 00:00:00 GMT
Deprecation: true
Link: <https://radanalyzer.com/developers/migration-guide/>; rel="deprecation"What Happens After V2 Sunset (August 1)
- August 1: V2 service scaled to zero (still accessible via cold start as a grace period for stragglers).
- August 1–15: Grace period — any remaining V2 traffic triggers cold starts. Direct outreach to affected customers.
- August 15: V2 infrastructure fully deleted. All requests must use
/v3/*endpoints.
Risks & Mitigations
| Risk | Likelihood | Mitigation |
|---|---|---|
| Customer misses migration deadline | Medium | Three-stage email campaign (May, June, July) plus deprecation headers. Direct outreach for high-volume customers. |
| V3 cold-start latency on scale-to-zero | Low | Cold start is approximately 6-7 seconds. Warm inference is approximately 1.5 seconds per image. Contact us about dedicated capacity for latency-sensitive integrations. |
| Measurement discrepancy between V2 and V3 | Low | V3 ensemble has lower variance. Validation dataset shows <0.3 VHS unit mean difference. Dual-run testing available during migration window. |
| Customer relies on removed landmarks | Low | Removed landmarks were auxiliary. Core measurement landmarks are preserved. |
| Integration breaks on new result codes | Medium | Result code 1 (success) is unchanged. New codes only appear for edge cases. Breaking changes doc provides full mapping. |
Ready to migrate?
Check the full V3 API Reference for complete endpoint documentation, or reach out to our team for migration support.