/v1/auth/tokenPorta de entrada da API. Envie `client_id` e `client_secret` em **JSON**; a API troca no Keycloak (`client_credentials`) e devolve um **token JWT** (validade ~2h). **Formato:** corpo `application/json` com `client_id` e `client_secret`. Use o `access_token` retornado como `Authorization: Bearer <token>` nas demais chamadas. Único endpoint que não exige token prévio. > Nota: o mapeamento `consumerKey/consumerSecret/tenantId` virá quando a > platform-api fizer a tradução de multi-tenant. Hoje: `client_id`/`client_secret`.
{
"client_id": "mds-client",
"client_secret": "mds-secret-dev"
}Token gerado com sucesso (resposta do Keycloak).
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 7200
}Credenciais inválidas (client_id/client_secret incorretos).
/v1/auth/tokenPorta de entrada da API. Envie `client_id` e `client_secret` em **JSON**; a API troca no Keycloak (`client_credentials`) e devolve um **token JWT** (validade ~2h). **Formato:** corpo `application/json` com `client_id` e `client_secret`. Use o `access_token` retornado como `Authorization: Bearer <token>` nas demais chamadas. Único endpoint que não exige token prévio. > Nota: o mapeamento `consumerKey/consumerSecret/tenantId` virá quando a > platform-api fizer a tradução de multi-tenant. Hoje: `client_id`/`client_secret`.
{
"client_id": "mds-client",
"client_secret": "mds-secret-dev"
}Token gerado com sucesso (resposta do Keycloak).
{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"token_type": "Bearer",
"expires_in": 7200
}Credenciais inválidas (client_id/client_secret incorretos).