Skip to main content

Switch checklist

What the app must change, route by route, when it moves a call from Shukah to Locate. Each item is a breaking difference found by the parity audit of 2026-10-02: paired calls on dev, or code reading where a live call was unsafe; each route's TL;DR says which. Routes not listed under breaking changes are drop-in: only the base URL and path change (see each TL;DR's to-watch lines: a method or token can still differ). Items shared by several routes are listed once at the top, with the routes they apply to.

Before anything else: keep both tokens. Keep logging in on Shukah. Get the Locate JWT with exchange-token (target_platform: locate) and store both tokens. Send the JWT to the auth service's client routes, and the Shukah token to order-v2 and to the routes left on Shukah. Do not move verify-otp (login) to Locate until order-v2 accepts the JWT: Locate login returns only a JWT, which the order-v2 points routes refuse today (why).

Click a route for its endpoint page, which has the full TL;DR and the field tables.

Applies to several routes

Breaking changes to handle

Not replaced: keep calling Shukah

  • GET /maeda/client/status — No Locate route. The app snapshot declares this route but no code calls it, yet the production traffic sheet of 2026-10-02 shows 768 calls in 3 days; dev Shukah answers 404 "The route maeda/client/status could not be found."
  • GET /maeda/client/delete — No Locate route deletes an account, so the app keeps calling this Shukah route, which needs a token Shukah accepts. The app deletes its stored token on a 401 here, so a JWT-only app is signed out by it.
  • GET /maeda/point-order — No Locate route lists the sent gifts of a user, so the Sent gifts tab keeps calling Shukah.
  • POST /maeda/order/checkout-payment — For point orders, Locate offers only a saved-card route and a session route, so the route that pays with a Checkout.com card token has no replacement. 0 calls in the production traffic sheet of 2026-10-02 (3 days).
  • POST /maeda/order/checkout-payment-stcpay — By design (D24), Locate is meant to handle STC Pay inside the pay-session route, not the separate order-v2 STC Pay endpoint; not yet proven on a device.
  • POST /maeda/order/payfort-token — PayFort is deferred by design for Locate point orders, so the PayFort path keeps calling Shukah. 0 calls in the production traffic sheet of 2026-10-02 (3 days).
  • POST /maeda/order/payfort-stc-pay-checkout — PayFort is deferred by design for Locate point orders, so this STC Pay path keeps calling Shukah. 0 calls in the production traffic sheet of 2026-10-02 (3 days).

How this list is made​

The list is rendered from the migration registry (registry.ts): every breaking difference, then every route with the blocked verdict, then every route with no Locate replacement. To change an item, change the registry entry; see Migration progress.