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

> Endpoint para upload de documentos empresariais da subconta

## POST /sub-accounts/document/company

Faz upload de documentos da empresa (Contrato Social, 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 (SOCIAL\_CONTRACT, etc.)
</ParamField>

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

### Exemplo de Requisição

```bash theme={null}
curl -X POST http://localhost:3000/sub-accounts/document/company \
  -H "api_key: ak_1234567890abcdef" \
  -H "api_secret: as_1234567890abcdef" \
  -F "documentType=SOCIAL_CONTRACT" \
  -F "file=@contrato-social.pdf"
```

### Resposta de Sucesso (201)

```json theme={null}
{
  "status": "success",
  "message": "Documento da empresa enviado com sucesso.",
  "data": {
    "filename": "contrato-social.pdf",
    "document_type": "SOCIAL_CONTRACT",
    "document_format": "PDF"
  }
}
```

### 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 Empresarial Aceitos

<AccordionGroup>
  <Accordion title="SOCIAL_CONTRACT">
    Contrato Social da empresa
  </Accordion>

  <Accordion title="ArticlesOfIncorporation">
    Estatuto Social
  </Accordion>

  <Accordion title="TaxRegistration">
    Inscrição Estadual
  </Accordion>

  <Accordion title="MunicipalRegistration">
    Inscrição Municipal
  </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>
