What this audit checks
Authentication & access
- Dual-header auth still valid: X-MyBring-API-Uid + X-MyBring-API-Key issue 200s (no 401)
- Customer Number (Kundenummer) maps to an active Bring contract (no ‘unknown customer’)
- Per-Uid+Key rate limit (600/min) not exhausted - throttle 429 rate < 1%
- validate_on_save probe against /booking/api/booking returns success
On-time delivery & transit
- Norway-domestic OTD (NO->NO) < 95% rolling 30D (Bring home turf)
- Nordic-export OTD (NO->SE/DK/FI) < 90% rolling 30D
- Avg transit days exceed product-code target (SERVICEPAKKE, EXPRESS_NORDIC_SAME_DAY)
- First-attempt delivery success rate < 88% on Hjemlevering home delivery
Exceptions & failed deliveries
- Exception rate > 3% rolling 30D (status Exception across shipments)
- Mypack pickup expiry rate > 3% (PickupExpired before customer collection)
- ReturnedToSender volume up >10% vs prior period (RTS spike signal)
- NO->EU export customs clearance rate < 85% within 3 days (tolldokument generation failing)
Damaged / lost parcels
- Lost-parcel rate (status Lost) > 0.3% rolling 90D
- Damaged-parcel claim rate > 0.5%
- Return-label refund cycle (ReturnLabel status stuck pre-Refunded) > 14 days
Tracking data completeness
- Tracking-event gap > 24h domestic OR > 3d cross-border on in-transit shipments
- Shipments with zero tracking events after HandedOver > 1% (tracking_gap_pct)
- Tracking API /tracking/api/v2/tracking.json 5xx error rate > 5% in last 1h
- Klimanoytrale carbon-neutral shipment share < 60% (loses certification + storefront badge)
Cross-channel fulfilment SLA
- Cross-channel: Bring shipment late vs expected_delivery joined to commerce_sibling order -> revenue at risk per channel
- Cross-channel: NO/Nordic order with no Bring shipment after 48h (dispatch SLA breach)
- Cross-channel: Bring cost_nok vs PostNord cost (FX-adjusted) per to_country_code -> carrier-mix leak
- Cross-channel: Mypack shipment past pickup-expiry with no proactive customer contact
Severity thresholds
| Signal | Warn | Critical |
|---|---|---|
on_time_delivery_rate | 95 | 90 |
exception_rate | 2 | 3 |
avg_transit_days | 3 | 5 |
damaged_rate | 0.3 | 0.5 |
tracking_gap_pct | 1 | 3 |
klimanoytrale_share_pct | 65 | 60 |
mypack_pickup_expiry_pct | 2 | 3 |
customs_clearance_pct | 90 | 85 |
auth_token_failures_24h | 1 | 5 |
Data sources
POST https://api.bring.com/booking/api/booking- Booking / label generation (write-side, also validate-on-save probe)GET https://api.bring.com/tracking/api/v2/tracking.json- Tracking events per consignmentPOST https://api.bring.com/booking/api/booking/returns- Return-label generation