Trocar de empresa sem novo login
POST /auth/switch-tenant/{tenantId}
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.
Authorizations
Seção intitulada “Authorizations ”Parameters
Seção intitulada “ Parameters ”Path Parameters
Seção intitulada “Path Parameters ” tenantId
required
integer format: int64
ID da empresa de destino
Responses
Seção intitulada “ Responses ”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