# 01. 🔐 Autenticação

**Autenticação e controle de acesso** Sistema de autenticação OAuth2 com tokens JWT para acesso seguro à API. **Recursos disponíveis:**

* Autenticação OAuth2 com Bearer tokens
* Tokens sem expiração automática
* Controle de sessões de usuário
* Integração com aplicações externas

## Autenticação OAuth2

> \*\*Endpoint principal para autenticação na API Maino\*\*\
> \
> Implementa o protocolo OAuth2 para gerar tokens JWT de acesso à API.\
> Este endpoint é o ponto de entrada para todas as integrações e deve ser\
> usado antes de acessar qualquer outro recurso protegido da API.\
> \
> \*\*Pré-requisitos:\*\*\
> \- \`Application UID\` fornecido pela equipe Maino\
> \- Credenciais válidas de usuário no sistema\
> \- Usuário deve ter permissões de API ativadas\
> \
> \*\*Fluxo de autenticação:\*\*\
> 1\. Envie \`application\_uid\`, \`email\` e \`password\`\
> 2\. Sistema valida as credenciais e permissões\
> 3\. Retorna dados da empresa e tokens de acesso\
> 4\. Use o \`access\_token\` como Bearer Token em outras requisições\
> \
> \*\*Características do token:\*\*\
> \- Validade: 24 horas\
> \- Formato: JWT (JSON Web Token)\
> \- Escopo: Acesso completo à API conforme permissões do usuário\
> \- Renovação: Usar \`refresh\_token\` para renovar sem nova autenticação\
> \
> \*\*Segurança:\*\*\
> \- Tokens são únicos por usuário e aplicação\
> \- Dados sensíveis nunca são armazenados no token\
> \- Controle de IP e rate limiting aplicados\
> \- Auditoria completa de tentativas de login

```json
{"openapi":"3.0.1","info":{"title":"Mainô API","version":"v2.0"},"tags":[{"name":"01. 🔐 Autenticação","description":"**Autenticação e controle de acesso**\nSistema de autenticação OAuth2 com tokens JWT para acesso seguro à API.\n**Recursos disponíveis:**\n- Autenticação OAuth2 com Bearer tokens\n- Tokens sem expiração automática\n- Controle de sessões de usuário\n- Integração com aplicações externas"}],"servers":[{"url":"https://api.maino.com.br/api/v2","description":"Servidor de Produção"}],"paths":{"/authentication":{"post":{"summary":"Autenticação OAuth2","tags":["01. 🔐 Autenticação"],"description":"**Endpoint principal para autenticação na API Maino**\n\nImplementa o protocolo OAuth2 para gerar tokens JWT de acesso à API.\nEste endpoint é o ponto de entrada para todas as integrações e deve ser\nusado antes de acessar qualquer outro recurso protegido da API.\n\n**Pré-requisitos:**\n- `Application UID` fornecido pela equipe Maino\n- Credenciais válidas de usuário no sistema\n- Usuário deve ter permissões de API ativadas\n\n**Fluxo de autenticação:**\n1. Envie `application_uid`, `email` e `password`\n2. Sistema valida as credenciais e permissões\n3. Retorna dados da empresa e tokens de acesso\n4. Use o `access_token` como Bearer Token em outras requisições\n\n**Características do token:**\n- Validade: 24 horas\n- Formato: JWT (JSON Web Token)\n- Escopo: Acesso completo à API conforme permissões do usuário\n- Renovação: Usar `refresh_token` para renovar sem nova autenticação\n\n**Segurança:**\n- Tokens são únicos por usuário e aplicação\n- Dados sensíveis nunca são armazenados no token\n- Controle de IP e rate limiting aplicados\n- Auditoria completa de tentativas de login","parameters":[],"responses":{"200":{"description":"Autenticação realizada com sucesso","content":{"Autenticação bem-sucedida":{},"application/json":{"schema":{"type":"object","description":"Dados da empresa e tokens de acesso","additionalProperties":{"type":"object","properties":{"email":{"type":"string","format":"email","description":"Email do usuário autenticado"},"user_name":{"type":"string","description":"Nome do usuário no sistema"},"company_name":{"type":"string","description":"Razão social da empresa"},"cnpj":{"type":"string","description":"CNPJ da empresa (chave do objeto)"},"access_token":{"type":"string","description":"Token JWT de acesso à API (use como Bearer Token)"},"refresh_token":{"type":"string","description":"Token para renovação do access_token"}}}}}}},"401":{"description":"Falha na autenticação"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"application_uid":{"type":"string","format":"uuid","description":"UUID único da aplicação fornecido pela Maino"},"email":{"type":"string","format":"email","description":"Email do usuário cadastrado no sistema"},"password":{"type":"string","format":"password","description":"Senha do usuário"}},"required":["application_uid","email","password"]}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://changelog.maino.com.br/api-reference-maino/01.-autenticacao.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
