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

# Get Balance

> Obtém o saldo total e detalhes de todas as contas bancárias

<Note>
  Este endpoint obtém o saldo total e detalhes de todas as contas bancárias conectadas à conta do usuário.
</Note>

## Descrição

O endpoint `GET /tools/api/get-balance` retorna o saldo total consolidado de todas as contas bancárias do usuário autenticado.

## Autenticação

Este endpoint requer autenticação via Bearer token e assinatura ativa.

<ParamField header="Authorization" type="string" required>
  Bearer token com a API key do usuário. Formato: `Bearer sk-your-api-key-here`
</ParamField>

## Parâmetros de Query

## Response

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "total_balance": 1500.50,
      "accounts": [
        {
          "name": "Conta Principal",
          "balance": 1000.00,
          "account_type": "BANK",
          "account_subtype": "CHECKING_ACCOUNT"
        },
        {
          "name": "Conta Poupança",
          "balance": 500.50,
          "account_type": "BANK",
          "account_subtype": "SAVINGS_ACCOUNT"
        }
      ]
    },
    "timestamp": "2024-01-01T00:00:00.000Z"
  }
  ```
</ResponseExample>

## Response Fields

<ParamField name="success" type="boolean">
  Indica se a requisição foi bem-sucedida
</ParamField>

<ParamField name="data" type="object">
  <Expandable title="Ver campos">
    <ParamField name="total_balance" type="number">
      Saldo total de todas as contas bancárias
    </ParamField>

    <ParamField name="accounts" type="array">
      Array de objetos de conta com informações de saldo
    </ParamField>
  </Expandable>
</ParamField>

<ParamField name="timestamp" type="string">
  Timestamp ISO 8601 de quando a resposta foi gerada
</ParamField>

## Objeto Account

<ParamField name="name" type="string">
  Nome de exibição da conta
</ParamField>

<ParamField name="balance" type="number">
  Saldo atual da conta
</ParamField>

<ParamField name="account_type" type="string">
  Tipo da conta (sempre "BANK" para este endpoint)
</ParamField>

<ParamField name="account_subtype" type="string">
  Subtipo da conta bancária (ex: "CHECKING\_ACCOUNT", "SAVINGS\_ACCOUNT")
</ParamField>

## Respostas de Erro

<ResponseExample>
  ```json 401 Unauthorized theme={null}
  {
    "error": "Invalid or inactive API key",
    "message": "Invalid or inactive API key",
    "type": "invalid_api_key",
    "nextSteps": [
      "Visit https://pierre.finance/api-key to generate a new API key",
      "Make sure the API key is active and not expired"
    ]
  }
  ```
</ResponseExample>

<ResponseExample>
  ```json 500 Internal Server Error theme={null}
  {
    "error": "Internal server error"
  }
  ```
</ResponseExample>

## Exemplos de Uso

### cURL

```bash theme={null}
curl -X GET "https://www.pierre.finance/tools/api/get-balance" \
  -H "Authorization: Bearer sk-your-api-key-here" \
  -H "Content-Type: application/json"
```

### JavaScript

```javascript theme={null}
const response = await fetch('https://www.pierre.finance/tools/api/get-balance', {
  headers: {
    'Authorization': 'Bearer sk-your-api-key-here',
    'Content-Type': 'application/json'
  }
});

const data = await response.json();
console.log('Saldo total:', data.data.total_balance);
console.log('Contas:', data.data.accounts);
```

### Python

```python theme={null}
import requests

headers = {
    'Authorization': 'Bearer sk-your-api-key-here',
    'Content-Type': 'application/json'
}

response = requests.get('https://www.pierre.finance/tools/api/get-balance', headers=headers)
data = response.json()

print(f"Saldo total: {data['data']['total_balance']}")
print(f"Contas: {data['data']['accounts']}")
```

## Observações

* Apenas contas bancárias são incluídas no cálculo do saldo
* Contas de cartão de crédito são excluídas deste endpoint
* O saldo total é a soma de todos os saldos individuais das contas
* Os saldos das contas são em tempo real e refletem o estado atual das contas conectadas


## OpenAPI

````yaml GET /tools/api/get-balance
openapi: 3.1.0
info:
  title: Pierre Finance API
  description: >-
    API para acessar dados financeiros do Pierre Finance, incluindo contas,
    transações, parcelas e sincronização.
  version: v1.0.0
servers:
  - url: https://www.pierre.finance
security: []
tags:
  - name: Authentication
    description: API key management and authentication
  - name: Accounts
    description: Financial accounts management
  - name: Transactions
    description: Financial transactions
  - name: Installments
    description: Credit card installments and purchases
  - name: Bills
    description: Credit card bills and current bill summaries
  - name: Balance
    description: Account balance information
  - name: Closing Dates
    description: Credit card closing date management
  - name: Sync
    description: Account synchronization
  - name: Spending Limits
    description: Personal spending limits and alerts management
  - name: Payment Reminders
    description: Payment reminders management with WhatsApp and Email notifications
  - name: Analytics
    description: Financial analytics and insights
  - name: Memories
    description: User memory management for personalized AI interactions
  - name: Open Finance
    description: Open Finance connection and integration
paths:
  /tools/api/get-balance:
    get:
      tags:
        - Balance
      description: >-
        Retorna o saldo total e detalhes de todas as contas bancárias. Requer
        API key para autenticação e assinatura ativa.
      operationId: getBalance
      responses:
        '200':
          description: Dados de saldo consolidado
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    $ref: '#/components/schemas/Balance'
                  timestamp:
                    type: string
                    format: date-time
        '401':
          description: Authentication or subscription error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Authorization header required
                  message:
                    type: string
                  type:
                    type: string
                    enum:
                      - invalid_api_key
                      - no_subscription
                      - subscription_canceled
                      - subscription_expired
                  subscriptionStatus:
                    type: string
                    enum:
                      - canceled
                      - expired
                  currentPeriodEnd:
                    type: string
                    format: date-time
                  nextSteps:
                    type: array
                    items:
                      type: string
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Internal server error
                  message:
                    type: string
      security:
        - BearerAuth: []
components:
  schemas:
    Balance: {}
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: string
      description: 'API key in Bearer token format. Example: Bearer sk-your-api-key-here'

````