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

# Subcontas - Introdução

> Documentação completa das rotas de subcontas para integração BaaS

## Visão Geral

As rotas de subcontas permitem criar e gerenciar contas completas para seus clientes, incluindo usuário, empresa e integração com processador de pagamentos.

## 🔐 Autenticação

Todas as rotas utilizam autenticação com os headers:

* `api_key`: Chave de API do usuário
* `api_secret`: Secret de API do usuário

## Endpoints Disponíveis

<CardGroup cols={2}>
  <Card title="Documentos Obrigatórios" icon="file-check" href="/baas/sub-accounts/required-documents">
    Lista completa dos documentos necessários para criação de subcontas
  </Card>

  <Card title="Criar Subconta" icon="plus" href="/baas/sub-accounts/create">
    Cria uma nova subconta completa com usuário e empresa
  </Card>

  <Card title="Upload Documento Pessoal" icon="upload" href="/baas/sub-accounts/document-personal">
    Upload de documentos pessoais (RG, CNH, Selfie)
  </Card>

  <Card title="Upload Documento Empresa" icon="building" href="/baas/sub-accounts/document-company">
    Upload de documentos empresariais (Contrato Social)
  </Card>

  <Card title="Abrir Conta Completa" icon="check-circle" href="/baas/sub-accounts/open-account">
    Inicia processo de abertura de conta no processador
  </Card>
</CardGroup>

## Fluxo Recomendado

<Steps>
  <Step title="1. Verificar Documentos">
    Consulte a lista de documentos obrigatórios antes de começar
  </Step>

  <Step title="2. Criar Subconta">
    Use `POST /sub-accounts` para criar a subconta com todas as informações básicas
  </Step>

  <Step title="3. Upload Documentos">
    Faça upload dos documentos pessoais e empresariais obrigatórios
  </Step>

  <Step title="4. Abrir Conta">
    Use `POST /sub-accounts/open-full-account` para iniciar o processo de análise
  </Step>

  <Step title="5. Monitorar">
    Acompanhe o status através de webhooks e consultas de status
  </Step>
</Steps>

## Códigos de Erro Comuns

<AccordionGroup>
  <Accordion title="400 - Bad Request">
    ```json theme={null}
    {
      "message": "Tipo de documento inválido.",
      "statusCode": 400
    }
    ```
  </Accordion>

  <Accordion title="401 - Unauthorized">
    ```json theme={null}
    {
      "message": "Api Key não encontrada.",
      "statusCode": 401
    }
    ```
  </Accordion>

  <Accordion title="409 - Conflict">
    ```json theme={null}
    {
      "message": "Email já cadastrado.",
      "statusCode": 409
    }
    ```
  </Accordion>

  <Accordion title="500 - Internal Server Error">
    ```json theme={null}
    {
      "message": "Erro ao registrar conta.",
      "statusCode": 500
    }
    ```
  </Accordion>
</AccordionGroup>
