> ## 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.

# Upload Documento Pessoal

> Endpoint para upload de documentos pessoais da subconta

## POST /sub-accounts/document

Faz upload de documentos pessoais da subconta (CPF, RG, etc.).

### Headers

<ParamField path="api_key" type="string" required>
  Chave de API da subconta
</ParamField>

<ParamField path="api_secret" type="string" required>
  Secret de API da subconta
</ParamField>

<ParamField path="Content-Type" type="string" required>
  multipart/form-data
</ParamField>

### Body (Form Data)

<ParamField path="documentType" type="string" required>
  Tipo do documento (RG\_FRONT, RG\_BACK, CNH\_FRONT, CNH\_BACK, SELFIE)
</ParamField>

<ParamField path="file" type="File" required>
  Arquivo JPG, PNG ou PDF (máximo 10MB)
</ParamField>

### Exemplo de Requisição

```bash theme={null}
# Upload RG Frente
curl -X POST http://localhost:3000/sub-accounts/document \
  -H "api_key: ak_1234567890abcdef" \
  -H "api_secret: as_1234567890abcdef" \
  -F "documentType=RG_FRONT" \
  -F "file=@rg_frente.jpg"

# Upload Selfie
curl -X POST http://localhost:3000/sub-accounts/document \
  -H "api_key: ak_1234567890abcdef" \
  -H "api_secret: as_1234567890abcdef" \
  -F "documentType=SELFIE" \
  -F "file=@selfie_socio.jpg"
```

### Resposta de Sucesso (201)

```json theme={null}
{
  "status": "success",
  "message": "Documento enviado com sucesso.",
  "data": {
    "filename": "rg_frente.jpg",
    "document_type": "RG_FRONT",
    "document_format": "JPG"
  }
}
```

### Validações

* ✅ **Tamanho máximo**: 10MB
* ✅ **Tipo obrigatório**: Deve especificar o tipo do documento
* ✅ **Arquivo obrigatório**: Deve enviar um arquivo
* ✅ **Autenticação**: Usa credenciais da própria subconta

### Tipos de Documento Aceitos

<AccordionGroup>
  <Accordion title="RG_FRONT">
    RG Frente - Documento de identidade (lado da foto)
  </Accordion>

  <Accordion title="RG_BACK">
    RG Verso - Documento de identidade (lado dos dados)
  </Accordion>

  <Accordion title="CNH_FRONT">
    CNH Frente - Carteira de habilitação (lado da foto)
  </Accordion>

  <Accordion title="CNH_BACK">
    CNH Verso - Carteira de habilitação (lado dos dados)
  </Accordion>

  <Accordion title="SELFIE">
    Selfie do sócio para verificação facial
  </Accordion>
</AccordionGroup>

### Possíveis Erros

<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="413 - Payload Too Large">
    ```json theme={null}
    {
      "message": "Arquivo muito grande. Máximo 10MB.",
      "statusCode": 413
    }
    ```
  </Accordion>
</AccordionGroup>
