---
title: "Get Budget Statuses"
method: GET
path: "/api/budget/estados"
tags: ["copilot_frontend", "copilot_budget"]
---

# Get Budget Statuses

`GET /api/budget/estados`

Obtiene todos los estados de presupuesto agrupados por tipo (visita, presupuesto, etc.).

Este endpoint devuelve:
1. Tipos de estados con sus estados asociados (agrupados)
2. Estados sin tipo asignado

**Protected Endpoint:** Requires JWT authentication and 'ui_comercial' or 'admin' role

Args:
    current_user: Current authenticated user
    db: Database session
    solo_activos: Si True, solo devuelve estados activos (default: True)

Returns:
    GetBudgetStatusesResponse con:
    - tipos: Lista de tipos con sus estados
    - estados_sin_tipo: Estados sin tipo asignado

Raises:
    Exception: Si hay error accediendo a la base de datos

## Query parameters

- `solo_activos` boolean

## Response `200`

Successful Response

- GetBudgetStatusesResponse — Response schema para GET /api/budget/estados endpoint.
  - `tipos` BudgetStatusTypeResponse[], required — Lista de tipos de estados con sus estados
    - `tipo_estado_id` integer, required — ID del tipo de estado
    - `nombre` string, required — Nombre del tipo (ej: visita, presupuesto)
    - `descripcion` string, nullable — Descripción del tipo de estado
    - `orden` integer, nullable — Orden de visualización
    - `estados` BudgetStatusDetailResponse[] — Lista de estados de este tipo
      - `estado_id` integer, required — ID del estado
      - `estado` string, required — Nombre del estado (ej: borrador, presupuestado)
      - `tipo_estado_id` integer, nullable — ID del tipo de estado al que pertenece
      - `tipo_estado_nombre` string, nullable — Nombre del tipo de estado (visita, presupuesto)
      - `descripcion` string, nullable — Descripción del estado
      - `color` string, nullable — Color en formato hexadecimal
      - `icono` string, nullable — Icono asociado al estado
      - `orden` integer, nullable — Orden de visualización
      - `activo` boolean — Si el estado está activo
  - `estados_sin_tipo` BudgetStatusDetailResponse[] — Estados sin tipo asignado
    - `estado_id` integer, required — ID del estado
    - `estado` string, required — Nombre del estado (ej: borrador, presupuestado)
    - `tipo_estado_id` integer, nullable — ID del tipo de estado al que pertenece
    - `tipo_estado_nombre` string, nullable — Nombre del tipo de estado (visita, presupuesto)
    - `descripcion` string, nullable — Descripción del estado
    - `color` string, nullable — Color en formato hexadecimal
    - `icono` string, nullable — Icono asociado al estado
    - `orden` integer, nullable — Orden de visualización
    - `activo` boolean — Si el estado está activo

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/hogarsolar/apis/hogarsolar-backend-api.md) · [All operations](https://skmtc.dev/hogarsolar/apis/hogarsolar-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hogarsolar/hogarsolar-backend-api/revisions/d9861e46bef8/schema)
