BuildNexion

Obras

Una obra nace al adjudicar un presupuesto (o se crea directamente en la app) y conserva su código. Desde aquí se llega a su equipo, sus documentos, sus proveedores y su resumen económico.

Listar obras

GET/api/v1/projectsread:projects

De la más reciente a la más antigua. Las obras de demostración no salen salvo que pidas include_demo=true.

Parámetros (query)

ParámetroDescripción
status
string
active (en curso), paused (parada), completed (terminada). presupuesto y rejected son estados antiguos, de cuando presupuesto y obra eran lo mismo.
category
string
residencial, industrial, obra_civil o comercial.
q
string
Busca en el nombre y en el código.
from / to
date
Creadas desde / hasta esa fecha (YYYY-MM-DD).
updated_since
datetime
Solo las creadas o cambiadas desde ese momento (ISO 8601), de la más antigua a la más reciente. Ver Paginación y sincronización.
include_demo
boolean
true para incluir las obras de demostración.
limit / cursor
—
Paginación: de 1 a 200 por página (50 por defecto).
curl "https://app.buildnexion.com/api/v1/projects?status=active&limit=50" \
  -H "Authorization: Bearer $BUILDNEXION_API_KEY"
Respuesta
{
  "data": [
    {
      "id": "6f1c2a9e-3b7d-4c1e-9a52-1d0e8b7c4a21",
      "name": "Reforma integral vivienda C/ Mayor 12",
      "code": "2026-014",
      "status": "active",
      "category": "residencial",
      "subcategory": "Reforma de vivienda",
      "address": "Calle Mayor 12, 3º B",
      "postal_code": "06800",
      "city": "Mérida",
      "province": "Badajoz",
      "country": null,
      "responsible": "Laura Gómez",
      "start_date": "2026-09-01",
      "end_date_planned": "2027-01-31",
      "contract_amount": 84500,
      "contract_type": "precio_cerrado",
      "square_meters": 110,
      "client": {
        "name": "Construcciones Ejemplo SL",
        "nif": "B00000000",
        "address": "Avenida de Ejemplo 1, Mérida",
        "email": "obras@ejemplo.es",
        "phone": "600 000 000"
      },
      "is_demo": false,
      "estimate_id": "2b8e4d10-7c3a-4f5e-8d21-0a9b6c3e1f47",
      "created_at": "2026-08-20T10:14:22.481+00:00",
      "updated_at": "2026-10-02T08:01:10.112+00:00",
      "app_url": "https://app.buildnexion.com/projects/6f1c2a9e-3b7d-4c1e-9a52-1d0e8b7c4a21"
    }
  ],
  "pagination": {
    "limit": 50,
    "next_cursor": null
  }
}

El objeto obra

Campos

ParámetroDescripción
id
uuid
Id de la obra.
code
string | null
Código de la obra: el que recibió su presupuesto al crearse (p. ej. 2026-014). Lo configura cada empresa en Configuración → General → Numeración de obras.
name
string
Nombre.
status
string
Estado (ver el filtro status).
category / subcategory
string | null
Tipo de obra.
address, postal_code, city, province, country
string | null
Ubicación de la obra.
responsible
string | null
Nombre del responsable de la obra.
start_date / end_date_planned
date | null
Inicio y fin previsto.
contract_amount
number | null
Precio de venta contratado, en euros, tal como figura en la ficha de la obra.
contract_type
string | null
precio_cerrado, por_certificaciones o por_administracion.
square_meters
number | null
Superficie en m².
client
object
Cliente: name, nif, address, email, phone.
is_demo
boolean
Obra de demostración.
estimate_id
uuid | null
Presupuesto del que nace (null si se creó sin presupuesto).
created_at / updated_at
datetime
Alta y último cambio (incluye cambios de estado y de miembros).
app_url
string
Enlace a la obra en la app.

Leer una obra

GET/api/v1/projects/{id}read:projects

El mismo objeto. 404 not_found si no existe o es de otra organización.

curl "https://app.buildnexion.com/api/v1/projects/6f1c2a9e-3b7d-4c1e-9a52-1d0e8b7c4a21" \
  -H "Authorization: Bearer $BUILDNEXION_API_KEY"

Agentes de la obra

GET/api/v1/projects/{id}/agentsread:projects

Los intervinientes que no son ni el cliente ni los proveedores: quien redacta el proyecto, la dirección facultativa, la coordinación de seguridad y salud… Se dan de alta en el presupuesto y la obra los hereda al adjudicarse; aquí salen los de la obra y los de su presupuesto.

Campos

ParámetroDescripción
role
string
proyectista, direccion_obra, direccion_ejecucion, coordinador_seguridad u otro.
role_detail
string | null
Precisión del papel (obligatoria en la práctica si role es otro).
name / company
string
Persona y empresa o estudio.
email / phone / notes
string | null
Contacto y notas.
Respuesta
{
  "data": [
    {
      "id": "0e6c3b98-d4a1-4f27-8b5e-73a9c2d6f1e4",
      "role": "direccion_obra",
      "role_detail": null,
      "name": "Marta Ruiz",
      "company": "Estudio Ruiz Arquitectura",
      "email": "marta@ejemplo.es",
      "phone": "600 000 001",
      "notes": null,
      "updated_at": "2026-09-03T16:20:41.007+00:00"
    }
  ]
}

Más datos de una obra

EndpointQué devuelve
/projects/{id}/membersQuién ve la obra y por qué.
/projects/{id}/documentsDocumentos de la obra.
/projects/{id}/providersProveedores y subcontratas que trabajan en ella.
/projects/{id}/complianceDocumentación CAE de sus subcontratas.
/projects/{id}/summaryCoste, venta, certificado, facturado y margen.
/budgets?project_id={id}Ofertas de la obra, con sus partidas.
/invoices?project_id={id}Facturas de compra de la obra.
/delivery-notes?project_id={id}Albaranes de la obra.
Para enterarte de obras nuevas, cambios y bajas sin preguntar, suscríbete a project.created, project.updated y project.deleted (ver eventos).