At a glance
Days until your ShippyPro API auth token expires. When the token expires, every label-print, rate-shop, and tracking call fails immediately, breaking despatch end-to-end until a human re-authenticates. This is the most operational of the operational-health cards: a silent ticking clock that turns into a P1 incident the moment it hits zero.
| What it counts | (token_expires_at - now) in calendar days, read live from ShippyPro’s /auth/token-info endpoint. Reflects the active OAuth bearer token used by the connector. |
| API endpoint | GET /auth/token-info (ShippyPro REST). The card reads token_expires_at, token_id, scopes. The token itself is a long-lived OAuth credential issued via the merchant’s ShippyPro account; expiry is configured at issue time (typical 365 days, some workspaces 180 or 90). |
| Delivery success criterion | Not applicable, this is connector health, not delivery. |
| On-time threshold | Not applicable. |
| Returns / RTO | Not applicable. |
| Service level scope | Single token covers all carriers and services connected through the workspace. |
| What “expired” actually breaks | Every operational call: rate-shop quotes, label generation, tracking polls, manifest collection, claims filing. Despatch stops; existing in-flight shipments continue tracking via webhook (carrier-direct), but new orders cannot be processed. |
| Time window | RT (real-time, refreshed on connector poll cycle, typically every 5 to 15 minutes) |
| Alert trigger | <14 days. Tripped at 14 days remaining. The 14-day cushion is enough for a non-urgent re-auth window through normal change-management; below 7 days is a P2 escalation. |
| Roles | owner, operations |
Calculation
Calculated automatically from your ShippyPro data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
The Italian DTC fashion brand. Reading taken at 09:00 CET on 12 Mar 26.| Workspace | Token issued | Token expires | Days remaining | Alert state |
|---|---|---|---|---|
| brand-it (primary) | 14 Mar 25 | 14 Mar 26 | 2 | CRITICAL, <7 days |
| brand-fr (secondary) | 22 Sep 25 | 22 Sep 26 | 193 | Healthy |
<14 days has been firing for 12 days already. Five things to notice:
- The clock has been counting down for 363 days; nobody noticed for 351 of them. This is the failure mode of token-expiry: silent until it isn’t. The 14-day alert is meant to guarantee humans notice with two weeks of cushion. If the alert was acknowledged but the rotation work was deprioritised, escalate now.
- Two days is a P1 weekend risk. If the token expires at 14 Mar 26 03:00 CET (the original issue timestamp), Saturday morning despatch breaks. Operations on Monday will find unprocessable orders backlog from Sunday plus Saturday overflow. The fix window before P1 is the next business day; rotate today.
- The fr workspace is healthy and is the rollback path. If the it rotation goes wrong, the fr token can technically print labels for it shipments via a workspace switch, with manual rate-card and template overrides. Document the rollback path before rotating.
- Re-auth requires a human in ShippyPro’s UI. The OAuth flow needs an admin user to log into ShippyPro Settings → API & Integrations → Generate New Token, copy the new bearer, paste into the Vortex IQ connector settings. Coordinate the rotation with despatch downtime (typically <5 minutes if pre-staged).
- After rotation, the card resets to 365 days (or whatever the issue-time window is). Re-read the card 24 hours after rotation to confirm the new expiry has propagated; if the card still shows <14 days the new token did not save correctly. Record the rotation in the change-history block of the workspace.
Sibling cards merchants should reference together
Token-expiry is binary at the day level (alert fires or not), but it is a leading indicator for a chain of operational cards. Pair with these to anticipate impact:| Card | Why pair it with Days to Token Expiry | What the combination tells you |
|---|---|---|
| API Error Rate | Lagging confirmation. Token expiry produces 401 Unauthorized errors. | Error rate rising while expiry days drop = token already partially failing. Should never get this far if the alert was respected. |
| Label Generation Success | The downstream effect of an expired token. | Drops to 0 percent the moment the token expires. Watch this card during and immediately after rotation. |
| Shipments | Total volume processed; goes to zero on token expiry. | Confirms the operational impact of expiry; combined with Label Generation Success tells you whether despatch is broken. |
| Cross-connector: any other connector’s token-expiry card | Workspace-wide rotation hygiene. | Multiple connectors with simultaneous low expiry days = the merchant’s API-token rotation cycle is overdue across the stack. Schedule a quarterly token-rotation calendar. |
| Cross-connector: alerting / on-call rota (PagerDuty etc.) | Ensures the alert from this card actually wakes someone. | If the alert fires but no rota acknowledges, the silent-expiry failure mode returns. |
Reconciling against the vendor’s own dashboard
Where to look in ShippyPro’s own dashboard: ShippyPro Settings → API & Integrations. The page lists the active token, issue date, expiry date, and a “Rotate” button. The card and the portal read the same source; numbers should match exactly. If they differ by more than a few minutes, the connector poll cycle is stale and a manual reconnect refreshes the read. Why our number may legitimately differ from ShippyPro’s portal:| Reason | Direction | Why |
|---|---|---|
| Connector poll lag | Ours up to 15 minutes behind | The card refreshes on the connector’s standard poll cadence; the portal reads live. Variance is small and never exceeds 1 day. |
| Workspace selection | Either, if multi-workspace | Multi-workspace merchants must connect each token separately; the card reads only the connected workspace. The portal toggles per workspace. |
| Token regeneration without disconnect | Card stale until reconnect | If a merchant rotates the token in ShippyPro’s portal without re-saving the new token in Vortex IQ, the card reads the old (now expired) token’s expiry. This is the most common false-alarm; reconnect resolves. |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
| Other shipping connectors’ auth-token cards | Independent tokens; correlation only via rotation policy. | Merchants who rotate all tokens on a quarterly calendar will see them age in lockstep. |
| Webhook-health monitors | Token expiry breaks API but not webhooks (carriers post directly to ShippyPro). | Until the next outbound API call needed by the connector. |