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

> Retorna todas as contas financeiras do usuário. Requer API key para autenticação e assinatura ativa.

<Note>
  Este endpoint retorna todas as contas financeiras do usuário autenticado.
</Note>

## Descrição

O endpoint `GET /tools/api/get-accounts` retorna todas as contas financeiras associadas ao usuário autenticado, incluindo contas bancárias, cartões de crédito, investimentos e empréstimos.

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

## Resposta

### Sucesso (200)

<ResponseExample>
  ```json Success theme={null}
  {
    "success": true,
    "data": [
      {
        "accountId": "acc_123456789",
        "providerCode": "NUBANK",
        "accountName": "Conta Corrente",
        "accountType": "BANK",
        "accountSubtype": "CHECKING_ACCOUNT",
        "accountBalance": 1500.50,
        "accountCurrencyCode": "BRL",
        "accountMarketingName": "Nubank Conta",
        "bankData": {
          "transferNumber": "123456789",
          "closingBalance": 1500.50,
          "automaticallyInvestedBalance": 0
        }
      },
      {
        "accountId": "acc_987654321",
        "providerCode": "ITAU",
        "accountName": "Cartão de Crédito",
        "accountType": "CREDIT",
        "accountSubtype": "CREDIT_CARD",
        "accountBalance": -2500.00,
        "accountCurrencyCode": "BRL",
        "accountMarketingName": "Itaú Cartão",
        "creditData": {
          "brand": "VISA",
          "level": "GOLD",
          "status": "ACTIVE",
          "creditLimit": 10000.00,
          "balanceDueDate": "2024-02-15",
          "minimumPayment": 250.00,
          "balanceCloseDate": "2024-01-31",
          "availableCreditLimit": 7500.00,
          "balanceForeignCurrency": null
        }
      }
    ],
    "count": 2,
    "timestamp": "2024-01-15T10:30:00Z"
  }
  ```
</ResponseExample>

### Erro de Autenticação (401)

<ResponseExample>
  ```json Error theme={null}
  {
    "error": "Invalid or inactive API key",
    "message": "Please check your API key and try again",
    "type": "invalid_api_key"
  }
  ```
</ResponseExample>

### Erro de Assinatura (401)

<ResponseExample>
  ```json Error theme={null}
  {
    "error": "No active subscription found",
    "message": "Please activate your subscription to access financial data",
    "type": "no_subscription",
    "nextSteps": [
      "Visit https://pierre.finance to activate your subscription",
      "Contact support if you need assistance"
    ]
  }
  ```
</ResponseExample>

## Campos da Resposta

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

<ResponseField name="data" type="array" required>
  Array com as contas financeiras do usuário

  <Expandable title="Account Object">
    <ResponseField name="accountId" type="string" required>
      Identificador único da conta
    </ResponseField>

    <ResponseField name="providerCode" type="string" required>
      Código do provedor da conta (ex: NUBANK, ITAU)
    </ResponseField>

    <ResponseField name="accountName" type="string" required>
      Nome da conta
    </ResponseField>

    <ResponseField name="accountType" type="string" required>
      Tipo da conta (BANK, CREDIT, INVESTMENT, LOAN)
    </ResponseField>

    <ResponseField name="accountSubtype" type="string" required>
      Subtipo da conta (CHECKING\_ACCOUNT, SAVINGS\_ACCOUNT, CREDIT\_CARD, PAYMENT\_ACCOUNT)
    </ResponseField>

    <ResponseField name="accountBalance" type="number" required>
      Saldo atual da conta
    </ResponseField>

    <ResponseField name="accountCurrencyCode" type="string" required>
      Código da moeda da conta (ex: BRL, USD)
    </ResponseField>

    <ResponseField name="accountMarketingName" type="string" required>
      Nome de marketing da conta
    </ResponseField>

    <ResponseField name="bankData" type="object">
      Dados específicos de contas bancárias

      <Expandable title="Bank Data">
        <ResponseField name="transferNumber" type="string">
          Número da conta para transferências
        </ResponseField>

        <ResponseField name="closingBalance" type="number">
          Saldo de fechamento
        </ResponseField>

        <ResponseField name="automaticallyInvestedBalance" type="number">
          Saldo automaticamente investido
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="creditData" type="object">
      Dados específicos de cartões de crédito

      <Expandable title="Credit Data">
        <ResponseField name="brand" type="string">
          Bandeira do cartão (MASTERCARD, VISA, ELO)
        </ResponseField>

        <ResponseField name="level" type="string">
          Nível do cartão (ex: GOLD, PLATINUM)
        </ResponseField>

        <ResponseField name="status" type="string">
          Status do cartão (ACTIVE, BLOCKED, CANCELLED)
        </ResponseField>

        <ResponseField name="creditLimit" type="number">
          Limite de crédito
        </ResponseField>

        <ResponseField name="balanceDueDate" type="string">
          Data de vencimento da fatura
        </ResponseField>

        <ResponseField name="minimumPayment" type="number">
          Valor mínimo para pagamento
        </ResponseField>

        <ResponseField name="balanceCloseDate" type="string">
          Data de fechamento da fatura
        </ResponseField>

        <ResponseField name="availableCreditLimit" type="number">
          Limite de crédito disponível
        </ResponseField>

        <ResponseField name="balanceForeignCurrency" type="number">
          Saldo em moeda estrangeira
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="count" type="number" required>
  Número total de contas retornadas
</ResponseField>

<ResponseField name="timestamp" type="string" required>
  Timestamp da requisição em formato ISO 8601
</ResponseField>

## Exemplos de Uso

### cURL

```bash theme={null}
curl -X GET 'https://www.pierre.finance/tools/api/get-accounts' \
  -H 'Authorization: Bearer sk-your-api-key-here'
```

### JavaScript

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

const data = await response.json();
console.log(data);
```

### Python

```python theme={null}
import requests

headers = {
    'Authorization': 'Bearer sk-your-api-key-here'
}

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

## Códigos de Status

* `200`: Sucesso - Contas retornadas
* `401`: Erro de autenticação ou assinatura
* `500`: Erro interno do servidor

<Note>
  Este endpoint retorna dados em tempo real das contas conectadas. Para dados mais recentes, use o endpoint de sincronização manual.
</Note>


## OpenAPI

````yaml GET /tools/api/get-accounts
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-accounts:
    get:
      tags:
        - Accounts
      description: >-
        Retorna todas as contas financeiras do usuário. Requer API key para
        autenticação e assinatura ativa.
      operationId: getAccounts
      responses:
        '200':
          description: Lista de contas financeiras
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Account'
                  count:
                    type: number
                    example: 3
                  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:
    Account: {}
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: string
      description: 'API key in Bearer token format. Example: Bearer sk-your-api-key-here'

````