BuildNexion

Presupuestos

El presupuesto es la fase de estudio: lo que se mide, se valora y se presenta al cliente. Recibe un código al crearse y, si se adjudica, nace una obra con ese mismo código.

No confundir con las ofertas (/budgets): la oferta es el documento comercial que se envía al cliente, con sus partidas y precios de venta. Un presupuesto puede tener varias ofertas (/budgets?estimate_id=…).

Listar presupuestos

GET/api/v1/estimatesread:budgets

Del más reciente al más antiguo.

Parámetros (query)

ParámetroDescripción
status
string
borrador, en_estudio, en_revision, presentado (enviado al cliente), adjudicado (ya es obra), no_adjudicado o caducado.
type
string
completo (con capítulos y partidas) o manual (unos pocos conceptos de venta escritos a mano).
q
string
Busca en el nombre y en el código.
updated_since
datetime
Solo los creados o cambiados desde ese momento (también cambios de estado y de miembros), del más antiguo al más reciente.
limit / cursor
—
Paginación: de 1 a 200 por página (50 por defecto).
curl "https://app.buildnexion.com/api/v1/estimates?status=presentado" \
  -H "Authorization: Bearer $BUILDNEXION_API_KEY"
Respuesta
{
  "data": [
    {
      "id": "2b8e4d10-7c3a-4f5e-8d21-0a9b6c3e1f47",
      "code": "2026-014",
      "name": "Reforma integral vivienda C/ Mayor 12",
      "status": "adjudicado",
      "type": "completo",
      "client": {
        "name": "Construcciones Ejemplo SL",
        "nif": "B00000000",
        "address": "Avenida de Ejemplo 1, Mérida",
        "email": "obras@ejemplo.es",
        "phone": "600 000 000",
        "contact": "Pedro Sánchez"
      },
      "contract_type": "precio_cerrado",
      "square_meters": 110,
      "responsible_user_id": "3c7e9a15-8b2d-4f61-a4e0-9d5b2c8f7e16",
      "created_by_user_id": "a5d2f8e3-1c9b-4e70-b6a4-0f3e7d1c9b52",
      "project_id": "6f1c2a9e-3b7d-4c1e-9a52-1d0e8b7c4a21",
      "created_at": "2026-07-14T09:02:51.330+00:00",
      "updated_at": "2026-08-20T10:14:22.481+00:00",
      "app_url": "https://app.buildnexion.com/presupuestos/2b8e4d10-7c3a-4f5e-8d21-0a9b6c3e1f47"
    }
  ],
  "pagination": {
    "limit": 50,
    "next_cursor": null
  }
}

El objeto presupuesto

Campos

ParámetroDescripción
id
uuid
Id del presupuesto.
code
string | null
Código (p. ej. 2026-014). Es el que tendrá la obra.
name
string
Nombre.
status
string
Estado (ver el filtro status).
type
string
completo o manual.
client
object
Cliente: name, nif, address, email, phone y contact (persona de contacto).
contract_type
string | null
precio_cerrado, por_certificaciones o por_administracion.
square_meters
number | null
Superficie en m².
responsible_user_id
uuid | null
Usuario responsable (ver Usuarios).
created_by_user_id
uuid | null
Usuario que lo creó.
project_id
uuid | null
La obra que nació al adjudicarlo (null si no se ha adjudicado).
created_at / updated_at
datetime
Alta y último cambio.
app_url
string
Enlace al presupuesto en la app.

Leer un presupuesto

GET/api/v1/estimates/{id}read:budgets
curl "https://app.buildnexion.com/api/v1/estimates/2b8e4d10-7c3a-4f5e-8d21-0a9b6c3e1f47" \
  -H "Authorization: Bearer $BUILDNEXION_API_KEY"

Agentes del presupuesto

GET/api/v1/estimates/{id}/agentsread:budgets

Proyectista, dirección facultativa, coordinación de seguridad… Mismo formato que los agentes de la obra, que los hereda al adjudicarse.

Más datos de un presupuesto

EndpointQué devuelve
/budgets?estimate_id={id}Sus ofertas, con partidas y precios.
/estimates/{id}/membersQuién lo ve y por qué.
/estimates/{id}/providersProveedores a los que se ha pedido precio o asignado partidas.
/estimates/{id}/summaryCoste, venta y margen previsto.

La adjudicación

Al adjudicar un presupuesto en la app:

  • Nace una obra con el mismo código; la obra lleva estimate_id y el presupuesto pasa a status: adjudicado con su project_id.
  • Los agentes y, si se elige así, el equipo del presupuesto pasan a la obra.
  • Se emite el webhook estimate.awarded con { estimate_id, project_id, code }, además de estimate.updated y project.created (ver eventos).