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

# Abrir Conta Completa

> Inicia o processo de abertura de conta completa

## Abertura de Conta Completa

Inicia o processo de abertura de conta completa.

### 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>
  application/json
</ParamField>

### Body

```json theme={null}
{}
```

### Pré-requisitos

Antes de chamar este endpoint, certifique-se de que:

<Steps>
  <Step title="Subconta Criada">
    A subconta deve ter sido criada com sucesso usando `POST /sub-accounts`
  </Step>

  <Step title="Documentos Enviados">
    Todos os documentos obrigatórios devem ter sido enviados
  </Step>

  <Step title="Dados Validados">
    Todos os dados da empresa e representante devem estar válidos
  </Step>
</Steps>

### Resposta de Sucesso (201)

```json theme={null}
{
  "status": "success",
  "message": "Conta em analise."
}
```

### Resposta de Erro (500)

```json theme={null}
{
  "message": "Erro ao enviar os dados.",
  "statusCode": 500
}
```

### Status da Conta

Após chamar este endpoint, a conta passará pelos seguintes status:

<AccordionGroup>
  <Accordion title="PENDING">
    Conta criada e aguardando análise
  </Accordion>

  <Accordion title="UNDER_REVIEW">
    Documentos sendo analisados pelo processador
  </Accordion>

  <Accordion title="APPROVED">
    Conta aprovada e ativa
  </Accordion>

  <Accordion title="REJECTED">
    Conta rejeitada - verificar documentos
  </Accordion>
</AccordionGroup>

### Características

* ✅ **Processo assíncrono**: Conta fica em análise
* ✅ **Validação de documentos**: Verifica documentos obrigatórios
* ✅ **Tratamento de erros**: Retorna erro específico se CNPJ inválido

### Possíveis Erros

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

  <Accordion title="404 - Not Found">
    ```json theme={null}
    {
      "message": "Subconta não encontrada.",
      "statusCode": 404
    }
    ```
  </Accordion>

  <Accordion title="422 - Unprocessable Entity">
    ```json theme={null}
    {
      "message": "Documentos obrigatórios não enviados.",
      "statusCode": 422
    }
    ```
  </Accordion>

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


## OpenAPI

````yaml POST /sub-accounts/open-full-account
openapi: 3.0.1
info:
  title: 3X Pay Gateway
  description: >-
    Para autenticar as rotas dessa API são necessario ter em mãos a
    **api_secret** e **api_key** da sua conta. Este podem ser encontrados dentro
    do painel https://app.3xpay.co acessando a página de Configurações e
    clicando na opção de Credencias de API.
  version: 1.0.0
servers:
  - url: https://gateway.3xpay.co
security:
  - apiKeyAuth: []
    apiSecretAuth: []
tags:
  - name: Transações
    description: Operações relacionadas a transações financeiras
  - name: Webhooks
    description: Notificações de eventos da API
  - name: Balance
    description: Operações relacionadas ao saldo da conta
  - name: Sub-accounts
    description: Operações relacionadas a subcontas BaaS
  - name: MED Contest
    description: >-
      Endpoints server-to-server para responder a solicitações de MED (Mecanismo
      Especial de Devolução do Pix)
paths:
  /sub-accounts/open-full-account:
    post:
      tags:
        - Sub-accounts
      summary: Abrir Conta Completa
      description: Inicia o processo de abertura de conta completa
      operationId: openFullAccount
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '201':
          description: Conta em análise
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenAccountResponse'
components:
  schemas:
    OpenAccountResponse:
      type: object
      properties:
        status:
          type: string
          description: Status da resposta
          example: success
        message:
          type: string
          description: Mensagem de resposta
          example: Conta em analise.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: api_key
    apiSecretAuth:
      type: apiKey
      in: header
      name: api_secret

````