Pular para o conteúdo

Trocar de empresa sem novo login

POST
/auth/switch-tenant/{tenantId}

Emite um novo par de tokens vinculado a empresa de destino a partir da sessao atual, sem exigir senha nem codigo OTP. Funciona igual para sessoes iniciadas por senha ou por OTP.

Regras:

  • A identidade vem exclusivamente do token; o unico parametro e o tenantId no path.
  • A autorizacao e a existencia da conta: o usuario so entra em empresas onde o login dele ja possui conta ativa. ADMIN nao usa este endpoint para entrar em tenant arbitrario (para isso existe POST /auth/impersonate/{tenantId}).
  • Roles e modulos habilitados sao recalculados para a empresa de destino, nunca herdados do token anterior.
  • Sessao de impersonation (claim ‘impersonatedBy’ presente) nao pode trocar de empresa: 403.
  • Trocar para a empresa atual e idempotente: devolve um token novo e valido.

A resposta usa o mesmo contrato do login (LoginResultDTO), com ‘impersonated’ = false e ‘impersonatedByUserId’ = null.

tenantId
required
integer format: int64

ID da empresa de destino

Novo par de tokens emitido para a empresa de destino

object
userId
integer format: int64
userName
string
login
string
token
string
refreshToken
string
impersonated
boolean
impersonatedByUserId
integer format: int64
mfaPendente
boolean
mfaToken
string
mfaMetodos
Array<string>
mfaConfigurar
boolean
dispositivoToken
string
codigosRecuperacao
Array<string>

Token ausente, invalido ou expirado

object
userId
integer format: int64
userName
string
login
string
token
string
refreshToken
string
impersonated
boolean
impersonatedByUserId
integer format: int64
mfaPendente
boolean
mfaToken
string
mfaMetodos
Array<string>
mfaConfigurar
boolean
dispositivoToken
string
codigosRecuperacao
Array<string>

Usuario sem conta ativa na empresa de destino, empresa inativa/suspensa, ou sessao de impersonation

object
userId
integer format: int64
userName
string
login
string
token
string
refreshToken
string
impersonated
boolean
impersonatedByUserId
integer format: int64
mfaPendente
boolean
mfaToken
string
mfaMetodos
Array<string>
mfaConfigurar
boolean
dispositivoToken
string
codigosRecuperacao
Array<string>

TenantId inexistente

object
userId
integer format: int64
userName
string
login
string
token
string
refreshToken
string
impersonated
boolean
impersonatedByUserId
integer format: int64
mfaPendente
boolean
mfaToken
string
mfaMetodos
Array<string>
mfaConfigurar
boolean
dispositivoToken
string
codigosRecuperacao
Array<string>

Muitas trocas de empresa em sequencia (rate limit)

object
userId
integer format: int64
userName
string
login
string
token
string
refreshToken
string
impersonated
boolean
impersonatedByUserId
integer format: int64
mfaPendente
boolean
mfaToken
string
mfaMetodos
Array<string>
mfaConfigurar
boolean
dispositivoToken
string
codigosRecuperacao
Array<string>

Referência gerada do contrato da API em 30 de outubro de 2026. taitecnologia.com · Termos de uso · Privacidade

© 2026 T AI TECNOLOGIA LTDA