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

# Operações de negócio

> Separe negócios com nomes, saldos e pagamentos independentes.

Uma conta Master pode ter **até 10 operações**, incluindo a **operação principal**. Cada operação possui um nome editável, saldo próprio e histórico separado de recebimentos e saques. O histórico anterior permanece na principal. As condições da conta, as API keys e os webhooks são compartilhados.

No painel, use o seletor no topo da sidebar ou **Gerenciar operações**. A seleção é lembrada neste navegador.

## Listar operações

`GET /operations` exige a permissão `read` e retorna `{ ownerId, limit: 10, operations: [...] }`. `ownerId` é o identificador estável da conta, mesmo quando a principal muda. Cada item contém `id`, `name`, `isDefault`, `balanceCents`, `balanceUpdatedAt` e `createdAt`.

## Criar pela API

Crie uma key com a permissão **`operations`** em **Integrações → Keys**. Chaves existentes não ganham essa permissão automaticamente.

```bash theme={null}
curl https://api.pagmaster.site/api/v1/public/operations \
  -H "Authorization: Bearer $MASTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"Minha loja","requestKey":"c5a0aad5-a09f-455b-a081-bdbb3e5398a7"}'
```

O nome deve ter de 2 a 64 caracteres. Preserve o mesmo `requestKey` UUID ao repetir a mesma criação: isso evita negócios duplicados, mesmo após renomear a operação. Ao atingir 10, a criação retorna HTTP `400`. O limite também vale para chamadas simultâneas.

## Renomear

`PATCH /operations/{id}` com `{ "name": "Novo nome" }` exige `operations`. Renomear não altera o saldo, os pagamentos ou o identificador.

## Excluir

`DELETE /operations/{id}` exige `operations`. Envie `Content-Type: application/json` e corpo `{}`. A resposta de sucesso é HTTP `200` com `{ "ok": true }`.

```bash theme={null}
curl -X DELETE https://api.pagmaster.site/api/v1/public/operations/ID_DO_NEGOCIO \
  -H "Authorization: Bearer $MASTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

A conta mantém **pelo menos uma operação**. A exclusão é bloqueada enquanto houver saldo, retenção administrativa ou pagamentos/saques não concluídos. O saldo local deve corresponder à soma dos lançamentos imutáveis do ledger; uma divergência bloqueia a exclusão com `503`. Esses bloqueios e o limite mínimo também valem para chamadas simultâneas.

Se a principal for excluída, o negócio restante mais antigo se torna a principal. Chamadas sem `X-Master-Operation` passam a usar essa nova principal. A exclusão libera uma vaga no limite de 10. Repetir a exclusão do mesmo ID retorna sucesso, sem remover outra operação.

O negócio deixa de aparecer no painel e na listagem, mas seus registros financeiros são preservados para auditoria. Não é possível renomeá-lo, selecioná-lo ou criar pagamentos nele; essas chamadas retornam `404`. Um `requestKey` usado para criar um negócio excluído não pode ser reutilizado para recriá-lo.

## Selecionar a operação para pagamentos

Envie o ID do negócio no header em todas as chamadas de saldo, cobranças, consultas e envio de saque automático (ou confirmação e cancelamento de rascunhos legados):

```http theme={null}
Authorization: Bearer mk_live_...
X-Master-Operation: c5a0aad5-a09f-455b-a081-bdbb3e5398a7
```

Sem esse header, a API usa a operação principal. Um UUID inválido retorna `400`; uma operação fora da conta retorna `404`. Não reutilize um `requestKey` de pagamento em outro negócio: a referência é única por conta.

Cada pagamento informa `operationId`; cada evento de webhook inclui esse ID em `data.operationId`. Use esse campo para identificar o negócio na sua integração. Para consultar o pagamento ou acompanhar um saque, mantenha o mesmo header usado na criação.

Criar um negócio não movimenta dinheiro. A Master separa os saldos por negócio em seu ledger. Novas cobranças e saques usam a conta principal da liquidante, sem provisionar subcontas. Saques só utilizam o saldo do negócio selecionado; um negócio não cobre saldo insuficiente de outro. Restrições de saque da conta e bloqueios globais continuam valendo em todos os negócios.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.