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

# Introdução

> Documentação da API MisesPay

## Bem-vindo

A API MisesPay permite integrar o processamento de pagamentos em suas aplicações. Esta documentação cobre todos os endpoints disponíveis para gerenciar clientes, projetos, cobranças, transações e pagamentos PIX.

## URL Base

Todas as requisições devem ser feitas para:

```
https://api.misespay.com/v2
```

## Autenticação

A autenticação é feita em duas etapas: você troca as credenciais da sua conta por um **access token** de curta duração e envia esse token no header `Authorization` de cada requisição.

### 1. Obtenha suas credenciais

Crie uma credencial de API no Dashboard. Ela é composta por um `client_id` e um `client_secret`:

* `mp_live_*` — credencial de **produção**
* `mp_test_*` — credencial de **sandbox**

<Warning>
  O `client_secret` é exibido **uma única vez**, no momento da criação. Guarde-o em local seguro.
</Warning>

### 2. Gere um access token

Troque suas credenciais por um token no endpoint de [autenticação](/api-reference/auth/token):

```bash theme={null}
curl -X POST https://api.misespay.com/v2/auth \
  -H 'Content-Type: application/json' \
  -d '{
    "client_id": "mp_live_abc123...",
    "client_secret": "seu_client_secret"
  }'
```

```json Resposta theme={null}
{
  "access_token": "eyJhbGciOiJSUzI1NiIs...",
  "token_type": "Bearer",
  "expires_in": 300
}
```

Credenciais inválidas ou revogadas retornam `401 {"error": "Unauthorized", "message": "Invalid credentials"}`.

### 3. Use o token nas requisições

Envie o token no header `Authorization`:

```bash theme={null}
curl https://api.misespay.com/v2/account \
  -H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIs...'
```

<Note>
  O token expira em **300 segundos (5 minutos)**. Gere um novo token no `/auth` quando ele expirar — não há refresh token.
</Note>

## Permissões

Cada credencial possui permissões granulares que determinam quais endpoints ela pode acessar. As permissões são atribuídas no momento da criação da credencial.

### Permissões disponíveis

| Permissão          | Descrição                                   |
| ------------------ | ------------------------------------------- |
| `FULL_ACCESS`      | Acesso completo a todos os endpoints da API |
| `PIX:WRITE`        | Criar cobranças PIX                         |
| `PROJECT:WRITE`    | Criar projetos                              |
| `PROJECT:READ`     | Listar e buscar projetos                    |
| `TRANSACTION:READ` | Buscar transações                           |
| `WITHDRAWAL:WRITE` | Criar saques via PIX                        |
| `METRICS:READ`     | Obter métricas de receita                   |
| `ACCOUNT:READ`     | Visualizar dados da conta e saldo           |

<Note>
  A permissão `FULL_ACCESS` concede acesso a todos os endpoints, equivalente a possuir todas as permissões listadas acima.
</Note>

### Restrição por IP

Opcionalmente, você pode restringir uma credencial a uma lista de IPs permitidos. Quando a lista está configurada, requisições originadas de IPs fora dela são rejeitadas com erro `403 Forbidden`.

Recomendamos configurar a restrição de IP em credenciais com permissões sensíveis, como `FULL_ACCESS` e `WITHDRAWAL:WRITE`.

## Recursos Disponíveis

<CardGroup cols={2}>
  <Card title="PIX" icon="qrcode" href="/api-reference/pix/create">
    Criar cobranças PIX
  </Card>

  <Card title="Webhooks" icon="bell" href="/api-reference/webhooks">
    Receber notificações de eventos
  </Card>

  <Card title="Projetos" icon="folder" href="/api-reference/projects/create">
    Organizar pagamentos por projeto
  </Card>

  <Card title="Saques" icon="money-bill-transfer" href="/api-reference/withdrawals/create">
    Criar saques via PIX
  </Card>

  <Card title="Transações" icon="receipt" href="/api-reference/transactions/get">
    Visualizar detalhes de transações
  </Card>

  <Card title="Conta" icon="building" href="/api-reference/account/get">
    Consultar dados da conta e saldo
  </Card>
</CardGroup>
