OAuth provider callback (tenant-agnostic, query-slug) — proxy to Junction
Same as the per-user callback, but without `{user_id}` in the path. `provider_slug` is read from the query string, which OAuth providers preserve when redirecting if the override URL declared it. Most providers (WHOOP, Fitbit, Oura, ...) only allow exact-match redirect URIs without query params, in which case use the path-suffixed variant `/v1/devices/auth/callback/{provider_slug}` below.
Header Parameters
Response Body
application/json
application/json
curl -X GET "https://loading/v1/devices/auth/callback"null{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}OAuth provider callback (per-user) — server-side proxy to Junction
Browser-redirect target after the user authorizes at the provider. Per plan §6.0, coach proxies to Junction's `/v2/link/connect/{slug}` server-side and mirrors Junction's response so junction.com never appears in the user's URL bar.
OAuth provider callback (path-suffixed) — proxy to Junction
Junction's documented BYOA `redirect_url_override` convention is `https://yourdomain.com/oauth_callback/{provider}` — provider as a path segment. This route matches that convention, which works with providers that strict-match redirect URIs without query params (WHOOP, Fitbit, etc.). The slug is injected into request.query_params before the shared proxy logic runs.