1. Docs
  2. API Reference
  3. Switch the active Application in an authenticated session

Switch the active Application in an authenticated session

POST/v1/auth/switch-application

Re-issues tokens bound to a different Application within the caller's currently selected Account β€” the dashboard's App switcher β€” without re-authentication. Guarded by UserJwtGuard, accepting application_id; the target App must belong to the token's Account and the caller must be an active member, otherwise 401. Cross-Account switching is refused (a fresh login is required), preventing privilege escalation. Returns a new access and refresh token (Bearer, 900s) and rotates the refresh and session-marker cookies.

Request body

application/json

application_idstring Required

Application ID to switch to

Responses

application/json

  • dataAuthTokenResponseDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

Returned object

Request
curl -X POST "https://auth.canopy-io.com/v1/auth/switch-application" \
  -H "Content-Type: application/json" \
  -d '{
    "application_id": "string"
  }'
Response
{
  "data": {
    "access_token": "string",
    "token_type": "string",
    "expires_in": 0,
    "user": {
      "id": "string",
      "email": "string",
      "first_name": "string",
      "last_name": "string"
    },
    "default_environment_slug": "string"
  }
}
Related endpoints
POSTRegister a new user
POSTCreate an additional Account for the authenticated admin (no new user)
GETReview the parked account-creation intent before resuming
POSTResume a deferred account creation parked at the register form
DELETEDismiss the parked account-creation intent without creating anything
POSTLook up invite details by token
POSTAccept an invite
POSTAuthenticate and receive tokens
POSTSelect an Account from a pre-auth session (multi-Account login)
POSTRefresh access token
POSTLogout and revoke tokens
GETVerify email address
POSTResend verification email
POSTResend verification email by token
POSTRequest password reset
POSTReset password with token
POSTChange password (authenticated)
GETGet current user profile
GETGet current user avatar image
POSTUpload profile avatar
DELETERemove profile avatar
POSTRequest an email-address change
POSTConfirm an email-address change
GETGet current user permissions
GETList the Accounts the current user belongs to
GETList active sessions
DELETERevoke all sessions
DELETERevoke a specific session
Was this page helpful?

Tell us how we can improve this guide.