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

# Get the financial overview

> Returns the financial snapshot of a space for its current financial period (the space's month start, not the calendar month): balances, net worth, card bills due in the next 30 days, period income and expenses, and the projected balance at the end of the period with its components. Amounts are decimal strings in the user's display currency. Requires the `pfm:read` scope.



## OpenAPI

````yaml /openapi.json get /v1/spaces/{space_id}/overview
openapi: 3.0.3
info:
  description: >-
    Personal REST API for Visor Pro and Premium users. Authenticate with a
    personal API token created in Visor Settings, sent as `Authorization: Bearer
    visor_pat_...`, or with an OAuth access token from the Visor CLI browser
    login.
  title: Visor Personal API
  version: 1.0.0
servers:
  - url: https://api.visorfinance.app
    variables: {}
security:
  - personal_api_token: []
  - visor_cli_oauth:
      - pfm:read
tags: []
paths:
  /v1/spaces/{space_id}/overview:
    get:
      tags:
        - Overview
      summary: Get the financial overview
      description: >-
        Returns the financial snapshot of a space for its current financial
        period (the space's month start, not the calendar month): balances, net
        worth, card bills due in the next 30 days, period income and expenses,
        and the projected balance at the end of the period with its components.
        Amounts are decimal strings in the user's display currency. Requires the
        `pfm:read` scope.
      operationId: VisorWeb.Api.V1.OverviewController.show
      parameters:
        - description: A space `id` from `GET /v1/spaces`
          in: path
          name: space_id
          required: true
          schema:
            format: uuid
            type: string
      responses:
        '200':
          content:
            application/json:
              example:
                data:
                  bank_balance: '5230.40'
                  credit_card_debt: '1840.00'
                  currency_code: BRL
                  net_worth: '3390.40'
                  open_bills_total: '2310.90'
                  period:
                    expenses: '4210.35'
                    income: '7500.00'
                    result: '3289.65'
                  period_end: '2026-10-31'
                  period_start: '2026-10-01'
                  projection:
                    committed_outflows:
                      bills: '1840.00'
                      installments: '320.00'
                      scheduled: '0.00'
                      subscriptions: '450.00'
                    current_balance: '5230.40'
                    estimated_day_to_day: '600.00'
                    expected_income: '2000.00'
                    projected_balance: '4020.40'
                  upcoming_bills:
                    - account_id: 5d3a9c1e-2b4f-4e6a-8c7d-1f0e9b2a3c45
                      amount: '1840.00'
                      amount_is_estimate: true
                      description: Nubank
                      due_date: '2026-10-28'
              schema:
                $ref: '#/components/schemas/OverviewResponse'
          description: Financial overview of the space
          headers:
            x-ratelimit-limit:
              description: Requests allowed for this token per minute
              schema:
                example: 60
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Requests left for this token in the current minute
              schema:
                example: 59
                type: integer
              style: simple
            x-request-id:
              description: Request identifier, also returned as `request_id` in errors
              schema:
                type: string
              style: simple
        '401':
          content:
            application/json:
              example:
                errors:
                  - code: INVALID_TOKEN
                    details: {}
                    message: The personal API token is not valid.
                    request_id: F8x2kQ9vXc1AAAAB
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Missing, invalid, expired, or revoked token
          headers:
            x-request-id:
              description: Request identifier, also returned as `request_id` in errors
              schema:
                type: string
              style: simple
        '403':
          content:
            application/json:
              example:
                errors:
                  - code: INSUFFICIENT_SCOPE
                    details:
                      required_scope: pfm:read
                    message: The personal API token does not grant this operation.
                    request_id: F8x2kQ9vXc1AAAAB
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Pro or Premium plan required, or insufficient scope
          headers:
            x-request-id:
              description: Request identifier, also returned as `request_id` in errors
              schema:
                type: string
              style: simple
        '404':
          content:
            application/json:
              example:
                errors:
                  - code: NOT_FOUND
                    details: {}
                    message: The resource does not exist.
                    request_id: F8x2kQ9vXc1AAAAB
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The space does not exist or the token's user cannot access it
          headers:
            x-request-id:
              description: Request identifier, also returned as `request_id` in errors
              schema:
                type: string
              style: simple
        '406':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: The client does not accept JSON
          headers:
            x-request-id:
              description: Request identifier, also returned as `request_id` in errors
              schema:
                type: string
              style: simple
        '429':
          content:
            application/json:
              example:
                errors:
                  - code: RATE_LIMITED
                    details:
                      retry_after_seconds: 42
                    message: >-
                      Too many requests. Retry after the number of seconds in
                      Retry-After.
                    request_id: F8x2kQ9vXc1AAAAB
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Rate limit exceeded
          headers:
            retry-after:
              description: Seconds until the current window ends
              schema:
                example: 42
                type: integer
              style: simple
            x-ratelimit-limit:
              description: Requests allowed for this token per minute
              schema:
                example: 60
                type: integer
              style: simple
            x-ratelimit-remaining:
              description: Requests left for this token in the current minute
              schema:
                example: 59
                type: integer
              style: simple
            x-request-id:
              description: Request identifier, also returned as `request_id` in errors
              schema:
                type: string
              style: simple
      callbacks: {}
components:
  schemas:
    OverviewResponse:
      additionalProperties: false
      properties:
        data:
          $ref: '#/components/schemas/Overview'
      required:
        - data
      title: OverviewResponse
      type: object
    ErrorResponse:
      additionalProperties: false
      properties:
        errors:
          items:
            $ref: '#/components/schemas/Error'
          minItems: 1
          type: array
      required:
        - errors
      title: ErrorResponse
      type: object
    Overview:
      additionalProperties: false
      properties:
        bank_balance:
          example: '5230.40'
          format: decimal
          type: string
        credit_card_debt:
          example: '1840.00'
          format: decimal
          type: string
        currency_code:
          description: Display currency of every amount (ISO 4217)
          example: BRL
          type: string
        net_worth:
          example: '3390.40'
          format: decimal
          type: string
        open_bills_total:
          description: Amount still to pay across the open card bills
          example: '2310.90'
          format: decimal
          type: string
        period:
          $ref: '#/components/schemas/OverviewPeriod'
        period_end:
          description: Last day of the financial period
          format: date
          type: string
        period_start:
          description: First day of the financial period
          format: date
          type: string
        projection:
          $ref: '#/components/schemas/OverviewProjection'
        upcoming_bills:
          description: Bills due in the next 30 days, soonest first
          items:
            $ref: '#/components/schemas/OverviewUpcomingBill'
          type: array
      required:
        - period_start
        - period_end
        - currency_code
        - bank_balance
        - credit_card_debt
        - open_bills_total
        - net_worth
        - upcoming_bills
        - period
        - projection
      title: Overview
      type: object
    Error:
      additionalProperties: false
      properties:
        code:
          description: Stable machine-readable code
          example: INVALID_TOKEN
          type: string
        details:
          additionalProperties: true
          description: Code-specific context
          type: object
        message:
          description: English text for developers
          type: string
        request_id:
          description: The x-request-id response header of the request
          nullable: true
          type: string
      required:
        - code
        - message
        - details
        - request_id
      title: Error
      type: object
    OverviewPeriod:
      additionalProperties: false
      properties:
        expenses:
          description: Gross expenses
          example: '4210.35'
          format: decimal
          type: string
        income:
          example: '7500.00'
          format: decimal
          type: string
        result:
          description: Income minus expenses
          example: '3289.65'
          format: decimal
          type: string
      required:
        - income
        - expenses
        - result
      title: OverviewPeriod
      type: object
    OverviewProjection:
      additionalProperties: false
      properties:
        committed_outflows:
          $ref: '#/components/schemas/OverviewCommittedOutflows'
        current_balance:
          example: '5230.40'
          format: decimal
          type: string
        estimated_day_to_day:
          description: >-
            Day-to-day spending still expected, from the monthly budget. Zero
            without a budget.
          example: '600.00'
          format: decimal
          type: string
        expected_income:
          description: Income still expected
          example: '2000.00'
          format: decimal
          type: string
        projected_balance:
          description: >-
            current_balance + expected_income - committed_outflows -
            estimated_day_to_day, as the Projection page shows it. Goal
            contributions are not included.
          example: '4020.40'
          format: decimal
          type: string
      required:
        - current_balance
        - expected_income
        - committed_outflows
        - estimated_day_to_day
        - projected_balance
      title: OverviewProjection
      type: object
    OverviewUpcomingBill:
      additionalProperties: false
      properties:
        account_id:
          description: The credit card account `id`
          format: uuid
          type: string
        amount:
          description: Amount still to pay
          example: '1840.00'
          format: decimal
          type: string
        amount_is_estimate:
          description: >-
            True while the bill cycle is open or the bank has not confirmed the
            closed bill
          type: boolean
        description:
          description: The card name
          type: string
        due_date:
          description: An overdue unpaid bill keeps its past date
          format: date
          type: string
      required:
        - account_id
        - description
        - amount
        - due_date
        - amount_is_estimate
      title: OverviewUpcomingBill
      type: object
    OverviewCommittedOutflows:
      additionalProperties: false
      properties:
        bills:
          description: Open card bills
          example: '1840.00'
          format: decimal
          type: string
        installments:
          example: '320.00'
          format: decimal
          type: string
        scheduled:
          description: Pending transactions
          example: '0.00'
          format: decimal
          type: string
        subscriptions:
          description: Fixed bills and subscriptions
          example: '450.00'
          format: decimal
          type: string
      required:
        - bills
        - installments
        - subscriptions
        - scheduled
      title: OverviewCommittedOutflows
      type: object
  securitySchemes:
    personal_api_token:
      bearerFormat: visor_pat_<public_id>_<secret>
      description: Personal API token created in Visor Settings
      scheme: bearer
      type: http
    visor_cli_oauth:
      description: >-
        OAuth 2.0 access token of the Visor CLI browser login (authorization
        code with PKCE). Only the first-party Visor CLI client can use it on
        this API.
      flows:
        authorizationCode:
          authorizationUrl: https://dashboard.visorfinance.app/oauth/authorize
          refreshUrl: https://dashboard.visorfinance.app/oauth/token
          scopes:
            pfm:read: Read financial data
            pfm:transactions:write: Create, edit, and delete transactions
            pix:payments:write: Start Pix payments that you confirm with biometrics at your bank
          tokenUrl: https://dashboard.visorfinance.app/oauth/token
      type: oauth2

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.