> ## Documentation Index
> Fetch the complete documentation index at: https://docs.promete.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Autenticação

> Mecanismos de autenticação e autorização da API

## Autenticação

A API do Promete utiliza autenticação baseada em **tokens JWT (JSON Web Tokens)** para garantir que apenas usuários autorizados acessem os recursos do sistema.

## Fluxo de Autenticação

<Steps>
  <Step title="Login">
    O cliente envia credenciais (email e senha) para o endpoint de autenticação.
  </Step>

  <Step title="Token">
    O servidor valida as credenciais e retorna um par de tokens (access token e refresh token).
  </Step>

  <Step title="Requisições">
    O cliente inclui o access token no header `Authorization` de todas as requisições subsequentes.
  </Step>

  <Step title="Renovação">
    Quando o access token expira, o cliente utiliza o refresh token para obter um novo par de tokens.
  </Step>
</Steps>

## Headers

```bash theme={null}
Authorization: Bearer <access_token>
Content-Type: application/json
```

## Controle de Acesso (RBAC)

O sistema implementa controle de acesso baseado em perfis (Role-Based Access Control). Cada endpoint possui permissões específicas associadas aos perfis de usuário:

| Perfil               | Permissões                                                  |
| -------------------- | ----------------------------------------------------------- |
| **admin**            | Acesso total a todos os recursos                            |
| **political\_agent** | Leitura completa, escrita em comunicação e prometrômetro    |
| **advisor**          | Leitura e escrita em gabinete, relacionamento e comunicação |
| **viewer**           | Apenas leitura em dashboards e relatórios                   |

<Warning>
  Os perfis e permissões detalhados serão definidos durante o desenvolvimento. A tabela acima é uma proposta inicial.
</Warning>
