Descrição
Acesse o registro canônico completo de uma sessão remota no PAM Core, utilizando o modelo v2. A resposta retorna a entidade SessionV2 completa, incluindo os campos que o endpoint de listagem omite. Ela também retorna os namespaces condicionais que descrevem uma aplicação remota ou um dispositivo remoto, quando a sessão envolve um deles.
Este endpoint é somente leitura. A criação e o encerramento de sessões não fazem parte da superfície v2.
Pré-requisitos
Atenção
Este endpoint retorna qualquer sessão remota do ambiente. Ele não filtra os resultados pelas concessões de credencial da aplicação chamadora, o que corresponde ao comportamento dos endpoints de sessão remota da v1. Esse comportamento pode mudar em uma versão futura.
Requisição
GET /api/v2/pam/sessions/{id}
Parâmetros de path
| Campo |
Tipo |
Obrigatório |
Descrição |
id |
integer |
Sim |
Código de identificação único da sessão. Nota: é o campo id retornado por GET | Listar todas as sessões remotas, e não o valor de session.session_id. |
Parâmetros de query
| Campo |
Tipo |
Obrigatório |
Descrição |
fields |
string |
Não |
Chaves canônicas a retornar, separadas por vírgula, como session.status,device.hostname. O campo id é sempre retornado. Uma chave desconhecida retorna 422 api.validation.invalid_field. |
Para as regras completas de projeção, consulte API v2 - Convenções e comportamentos compartilhados.
Exemplo de requisição
GET {{url}}/api/v2/pam/sessions/810
Resposta
HTTP/1.1 200 OK
Exemplo de corpo da resposta
{
"data": {
"id": "810",
"session": {
"session_id": "S2026083010100",
"session_type": "rdp_proxy",
"protocol": "RDP",
"port": 3389,
"status": "active",
"user": "jsilva",
"justification": "Conciliação trimestral no ERP",
"access_period": "2026-08-30T10:00:00+00:00/2026-08-30T12:00:00+00:00",
"origin": "200.100.50.51",
"selection_mode": "explicit",
"created_at": "2026-08-30T10:10:00+00:00",
"started_at": "2026-08-30T10:10:05+00:00",
"ended_at": null,
"duration": "00:02:41"
},
"device": {
"id": 61,
"hostname": "rds-01"
},
"credential": {
"id": 101,
"username": "svc-payments"
},
"remote_app": {
"id": 12,
"name": "ERP Access"
}
},
"meta": {
"links": {
"self": "/api/v2/pam/sessions/810"
}
}
}
Campos do corpo da resposta
| Campo |
Tipo |
Descrição |
data |
object |
O registro da sessão. |
meta |
object |
Links de navegação. Carrega apenas links.self. |
data
| Campo |
Tipo |
Descrição |
→id |
string |
Código de identificação único da sessão. |
→session |
object |
Atributos da sessão. |
→device |
object |
Dispositivo ao qual a sessão se conectou. |
→credential |
object |
Credencial utilizada pela sessão. null para sessões ad-hoc e do EPM que não utilizam uma credencial do cofre. |
→remote_device |
object |
Dispositivo ao qual a credencial pertence, retornado apenas quando é diferente do dispositivo da sessão. Isso ocorre com credenciais de domínio. Omitido quando não se aplica e nunca retornado como null. Verifique se a chave está presente. |
→remote_app |
object |
Aplicação remota publicada na sessão, retornada apenas para sessões de RemoteApp. Omitido quando não se aplica e nunca retornado como null. Verifique se a chave está presente. |
data.session
| Campo |
Tipo |
Descrição |
→→session_id |
string |
Identificador da sessão exibido aos usuários e referenciado em tickets de incidente. |
→→session_type |
string |
Tipo de sessão. Um entre web_proxy, terminal_proxy, rdp_proxy, database_proxy, segura_browser, tcp_tunneling, epm. |
→→protocol |
string |
Protocolo utilizado pela sessão, como SSH, RDP ou HTTPS. |
→→port |
integer |
Porta utilizada pela sessão no dispositivo de destino. Retornada apenas por este endpoint. |
→→status |
string |
Status atual da sessão: pending, active, terminated ou expired. Derivado dos registros de data e hora da sessão, e não armazenado. |
→→user |
string |
Nome de usuário do usuário que solicitou a sessão. |
→→justification |
string |
Justificativa informada pelo usuário ao solicitar a sessão. |
→→access_period |
string |
Janela de acesso aprovada como um intervalo ISO 8601 no formato início/fim. null quando a sessão não possui solicitação aprovada. |
→→origin |
string |
Endereço IP de origem do usuário que solicitou a sessão. É um dado pessoal e é retornado integralmente para fins de auditoria. |
→→selection_mode |
string |
Como a credencial foi escolhida: explicit quando o chamador ou a interface a selecionou, automatic quando o sistema a resolveu. |
→→created_at |
string |
Data e hora em que a sessão foi solicitada, no formato ISO 8601 e em UTC. Exemplo: 2026-08-30T10:10:00+00:00. |
→→started_at |
string |
Data e hora em que a sessão iniciou, no formato ISO 8601 e em UTC. null enquanto a sessão está pendente e para reservas que expiraram sem iniciar. |
→→ended_at |
string |
Data e hora em que a sessão terminou, no formato ISO 8601 e em UTC. Para sessões expired, é o instante em que a reserva expirou. null enquanto a sessão está ativa ou pendente. |
→→duration |
string |
Tempo decorrido da sessão no formato HH:MM:SS. Avança enquanto a sessão está ativa, mantém o valor final após o encerramento e é null quando a sessão nunca iniciou. |
data.device
| Campo |
Tipo |
Descrição |
→→id |
integer |
Código de identificação único do dispositivo. |
→→hostname |
string |
Hostname do dispositivo. |
data.credential
| Campo |
Tipo |
Descrição |
→→id |
integer |
Código de identificação único da credencial. |
→→username |
string |
Nome de usuário da credencial utilizada pela sessão. O valor do segredo nunca é retornado. |
data.remote_device
| Campo |
Tipo |
Descrição |
→→id |
integer |
Código de identificação único do dispositivo ao qual a credencial pertence. |
→→hostname |
string |
Hostname desse dispositivo. |
data.remote_app
| Campo |
Tipo |
Descrição |
→→id |
integer |
Código de identificação único da aplicação remota. |
→→name |
string |
Nome da aplicação remota publicada na sessão. |
Atenção
A URL de acesso à sessão nunca é retornada por este endpoint. As URLs de sessão são de uso único e já estão expiradas para fins de leitura. A credencial é sempre retornada, porque saber qual credencial foi utilizada é um dado de auditoria.
Erros
| Código HTTP |
Código de erro |
Causa possível |
Solução |
401 |
api.auth.token.invalid |
Token bearer ausente, expirado ou inválido. |
Solicite um novo token de acesso. |
404 |
api.resource.not_found |
Não existe sessão com o código de identificação enviado no path da requisição. |
Verifique o id em GET | Listar todas as sessões remotas. |
422 |
api.validation.invalid_field |
fields referencia uma chave canônica desconhecida. |
Verifique os nomes das chaves nas tabelas de campos do corpo da resposta. |
422 |
api.request.invalid_param |
O id no path da requisição não é um número inteiro positivo. |
Envie o código de identificação numérico da sessão. |
429 |
rate_limit_exceeded |
O orçamento de requisições da janela atual foi esgotado. |
Aguarde o número de segundos informado no header Retry-After e tente novamente. |
500 |
api.internal.error |
Erro interno do servidor. |
Entre em contato com o suporte da Segura™. |
Para as mensagens de erro de autenticação e a política de 403 versus 404, consulte API v2 - Convenções e comportamentos compartilhados.
Documentos relacionados