UrbeIA — Urban Cognitive Intelligence

UrbeIA API Documentation

Build urban intelligence products using themed endpoint packages. No cognitive internals required: clean and actionable contracts.

REST JSON Bearer Token 22 Blocks 113+ Endpoints

Quick Start

1. Get an API key

Register in /portal/api-keys. Keys are associated to dev tier and contracted packages.

2. First call

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.urbeia.com/dev/packages/global-metrics/health-score?city_code=VLC

# Docs prefix equivalent:
# dev/packages/global-metrics/health-score

2.b Prefixes in this documentation

Docs prefixUsageCanonical API route
public/*Public catalog/public/*
dev/packages/*Developer package consumption/dev/packages/*
dev/spatial/interventions/*Counterfactual spatial simulation/dev/spatial/interventions/*
dev/contributions*Creditable developer contribution program/api/v1/dev/contributions*
uil/*Institutional integration (HMAC)/uil/* and /api/v1/integration/uil/*

This public page documents public/*, dev/packages/*, dev/spatial/interventions/*, api/v1/dev/contributions* and the institutional uil/* block. Legacy compatibility remains active for /api/v1/public/*, /api/v2/packages/*, /api/v1/dev/spatial/interventions/* and /api/v1/integration/uil/*.

3. Response shape

{
  "meta": {
    "city_code": "VLC",
    "resolved_at": "2026-03-10T10:00:00+01:00",
    "api_version": "v1",
    "fallback_mode": false
  },
  "data": { ... }
}

fallback_mode: true means temporary cached snapshot mode.

Packages

Docs prefix: dev/packages/{package_name}/... · Legacy compatibility: /api/v2/packages/{package_name}/...

Global Metrics

City health score, domain maturity and benchmark

6 endpoints

Alerts

Active alerts, history and trends

6 endpoints

Predictions

Forecast and scenario planning

6 endpoints

Simulations

Generate simulations for the selected city.

5 endpoints

Psycho-Urban

Psycho-urban state and resilience

7 endpoints

Spatial Crossover

Hotspots and anomaly layers

9 endpoints

Logistics

Mobility pressure and bottlenecks

7 endpoints

Optimization

Levers and impact allocation

6 endpoints

Sustainability

Energy, climate and water indicators

7 endpoints

Tourism

Tourist pressure and balancing

6 endpoints

Safety

Risk zones and incidents

6 endpoints

Real-Time

Pulse feed and changes

6 endpoints

Narrative

Now/daily/weekly explainable outputs

6 endpoints

Metacognition

Internal coherence and audit trail

6 endpoints

Developer Core

Operational state, hotspots, forecast, events and cognitive layers

17 endpoints

DSI Explainability

Canonical variables, relations, gates and explainable structural schema

6 endpoints

Layer 2 Domain Dynamics

Structural domain crossing for product and analysis

1 endpoints

Layer 2 UOE/UMCE

Domain ontology, meta-domains and forecast explainability

4 endpoints

Domain Data

Canonical structure and raw series

5 endpoints

Core Structural Data Pack

Structural entry layer into UrbanIA for discovery, series, aggregates, relations and canonical explainability.

8 endpoints

Integration

City discovery, schema and webhooks

7 endpoints

Developer Contribution Program

Send useful signal back to the platform and track auditable billing credits.

7 endpoints

Package: Global Metrics

Health score, domain maturity, city profile and benchmark. Prefix: dev/packages/global-metrics/*.

Relative endpointReturnsUsage
GET /health-score0-100 city health score with stress, coherence, stability and driftTop KPI card
GET /domain-scoresPer-domain maturity and trendDomain radar / ranking
GET /city-profileStatic city profile with timezone and geometry basicsCity setup
GET /evolutionHistorical series for health and domainsTrend charts
GET /benchmarkCross-city benchmarkBenchmark tables
GET /data-qualityCoverage, freshness, noise and confidenceData trust badge

Per-endpoint examples

GET /health-score

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/global-metrics/health-score?city_code=VLC&at=2026-03-10T09:00:00Z"
{
  "meta": {"city_code": "VLC", "resolved_at": "2026-03-10T10:00:00+01:00", "timezone": "Europe/Madrid"},
  "data": {"score": 74.6, "stress": 0.31, "coherence": 0.72, "stability": 0.69, "drift": 0.18}
}

GET /domain-scores

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/global-metrics/domain-scores?city_code=VLC&at=2026-03-10T09:00:00Z"
{
  "data": {"domains": [{"domain_code": "mobility", "score": 0.71, "trend": "up"}]}
}

GET /city-profile

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/global-metrics/city-profile?city_code=VLC"
{
  "data": {
    "city_code": "VLC",
    "display_name": "Valencia",
    "timezone": "Europe/Madrid",
    "centroid": {"lat": 39.4699, "lon": -0.3763}
  }
}

GET /evolution

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/global-metrics/evolution?city_code=VLC&start_date=2026-03-09T00:00:00Z&end_date=2026-03-10T00:00:00Z"
{
  "data": {"series": [{"resolved_at": "2026-03-09T12:00:00+01:00", "health_score": 71.1}]}
}

GET /benchmark

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/global-metrics/benchmark?city_code=VLC"
{
  "data": {"cities": [{"city_code": "VLC", "score": 74.6, "rank": 1}], "count": 1}
}

GET /data-quality

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/global-metrics/data-quality?city_code=VLC&at=2026-03-10T09:00:00Z"
{
  "data": {"coverage": 0.91, "freshness": 0.88, "noise": 0.14, "confidence": 0.86}
}

Package: Alerts

Active and historical alert contracts by zone and theme. Prefix: dev/packages/alerts/*.

Relative endpointReturnsUsage
GET /activeActive alerts with severity, zone and timestampLive alert feed
GET /historyHistorical alerts for a selected windowTimeline analytics
GET /by-zone/{zone_id}Alerts filtered by zoneDistrict map
GET /by-theme/{theme}Alerts filtered by themeOperational filter
GET /summarySeverity counters and hottest zoneExecutive summary
GET /trendsDirection of alert system changeOperational trend

Per-endpoint examples

GET /active

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/alerts/active?city_code=VLC&at=2026-03-10T09:00:00Z"
{
  "data": {"alerts": [{"alert_id": "al_102", "theme": "mobility", "severity": "high", "zone_id": "z_centro"}]}
}

GET /history

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/alerts/history?city_code=VLC&start_date=2026-03-03T00:00:00Z&end_date=2026-03-10T00:00:00Z"
{
  "data": {"items": [{"alert_id": "al_081", "status": "resolved"}], "count": 1}
}

GET /by-zone/{zone_id}

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/alerts/by-zone/z_centro?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data": {"zone_id": "z_centro", "alerts": [{"theme": "noise", "severity": "medium"}]}}

GET /by-theme/{theme}

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/alerts/by-theme/mobility?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data": {"theme": "mobility", "alerts": [{"zone_id": "z_centro", "severity": "high"}]}}

GET /summary

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/alerts/summary?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data": {"severity_counts": {"high": 1}, "top_theme": "mobility", "hottest_zone": "z_centro"}}

GET /trends

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/alerts/trends?city_code=VLC&start_date=2026-03-09T00:00:00Z&end_date=2026-03-10T00:00:00Z"
{"data": {"trend": "up", "delta_24h": 0.18, "dominant_theme": "mobility"}}

Package: Predictions

Short-term forecast, risk factors, scenarios and domain what-if. Prefix: dev/packages/predictions/*.

Relative endpointReturnsUsage
GET /short-termShort-term city forecastNext-slot widget
GET /domain-outlookPer-domain direction and confidenceForecast cards
GET /risk-factorsTop risk factors with probabilityRisk radar
GET /scenariosOptimistic/base/pessimistic scenariosScenario planning
GET /accuracyForecast quality metricsConfidence indicator
GET /what-if/{domain}Domain sensitivity simulationPre-check on policy changes

Per-endpoint examples

GET /short-term

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/predictions/short-term?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data": {"health_future": 0.74, "stress_future": 0.33, "confidence": 0.81}}

GET /domain-outlook

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/predictions/domain-outlook?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data": {"domains": [{"domain_code": "mobility", "direction": "up", "confidence": 0.78}]}}

GET /risk-factors

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/predictions/risk-factors?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data": {"factors": [{"factor": "mobility_pressure", "probability": 0.67}]}}

GET /scenarios

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/predictions/scenarios?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data": {"scenarios": [{"label": "base", "probability": 0.56}]}}

GET /accuracy

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/predictions/accuracy?city_code=VLC&start_date=2026-02-01T00:00:00Z&end_date=2026-03-01T00:00:00Z"
{"data": {"mae": 0.083, "hit_rate": 0.79, "window_days": 28}}

GET /what-if/{domain}

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/predictions/what-if/mobility?city_code=VLC&at=2026-03-10T09:00:00Z&magnitude=0.10"
{"data": {"domain": "mobility", "delta_score": 0.06, "secondary_effects": [{"domain_code": "noise", "delta": 0.03}]}}

Block: Spatial Simulation

This block exposes product-prepared counterfactual simulation. It accepts tactical spatial interventions and also direct interventions with a percentage impact on an urban domain,

Tip: what simulations are

This block unifies spatial simulation and direct domain-impact simulation under a stable product contract. It is built to compare scenarios, contrast measures and preserve traceability across intervention, run and explainability.

Docs prefix: dev/spatial/interventions/* · Canonical route: /dev/spatial/interventions/* · Legacy compatibility: /api/v1/dev/spatial/interventions/*

The canonical OpenAPI contract is published under /api/v1/dev/spatial/interventions/*. The /dev/* aliases remain active, but are excluded from the main schema.

EndpointReturnsUsage
POST /simulateRuns a simulation and returns baseline, counterfactual delta and persistence metadataWhat-if tactical simulator
GET /{intervention_id}Returns the persisted intervention plus its run historyIntervention side panel and reload
GET /runs/{run_id}Returns the full run, including scenario_input and persisted resultAudit, replay and explainability
GET /{intervention_id}/explainReturns an executive explanation for the latest persisted run of the interventionIntervention-level causal panel
GET /runs/{run_id}/explainReturns causal summary, per-domain causality, impacted hotspots, per-hotspot causal chains, plausible magnetos and split reason_codes for one runRun-level explainability
Tip: strict spatial projection contract

When include_scenario_input=true, treat scenario_input.scenario_effects.spatial_projection as a closed backend contract. The key blocks are affected_hotspots, primary_affected_targets, expected_pressure_targets, expected_relief_targets, directional_shift_hint and artifact_impacts.

Package: Psycho-Urban

Mood vectors, resilience and psycho-urban narratives. Prefix: dev/packages/psycho-urban/*.

Relative endpointReturnsUsage
GET /moodCurrent mood vectorAdaptive UX
GET /mood/timelineMood timelineShift planning
GET /wellbeing-indexComposite wellbeing indexExecutive KPI
GET /stress-mapStress map by zoneHeatmap
GET /cognitive-patternsDominant cognitive patternsSegmentation
GET /resilienceUrban resilience capacityShock readiness
GET /narrativesHuman-readable psycho-urban summaryBriefing

Per-endpoint examples

GET /mood

curl -H "Authorization: Bearer $TOKEN"   "https://api.urbeia.com/dev/packages/psycho-urban/mood?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"stress":0.42,"calm":0.38,"anxiety":0.29,"irritability":0.21}}

GET /mood/timeline

curl -H "Authorization: Bearer $TOKEN"   "https://api.urbeia.com/dev/packages/psycho-urban/mood/timeline?city_code=VLC&start_date=2026-03-09T00:00:00Z&end_date=2026-03-10T00:00:00Z"
{"data":{"series":[{"resolved_at":"2026-03-09T12:00:00+01:00","stress":0.39}]}}

GET /wellbeing-index

curl -H "Authorization: Bearer $TOKEN"   "https://api.urbeia.com/dev/packages/psycho-urban/wellbeing-index?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"wellbeing_index":68.4,"confidence":0.8}}

GET /stress-map

curl -H "Authorization: Bearer $TOKEN"   "https://api.urbeia.com/dev/packages/psycho-urban/stress-map?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"zones":[{"zone_id":"z_centro","stress":0.61,"intensity":"high"}]}}

GET /cognitive-patterns

curl -H "Authorization: Bearer $TOKEN"   "https://api.urbeia.com/dev/packages/psycho-urban/cognitive-patterns?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"patterns":[{"pattern":"crowded_reactivity","weight":0.57}]}}

GET /resilience

curl -H "Authorization: Bearer $TOKEN"   "https://api.urbeia.com/dev/packages/psycho-urban/resilience?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"resilience_score":0.66,"direction":"stable"}}

GET /narratives

curl -H "Authorization: Bearer $TOKEN"   "https://api.urbeia.com/dev/packages/psycho-urban/narratives?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"headline":"The city operates with moderate stress and stable recovery."}}

Package: Spatial Crossover

Cross-domain spatial intelligence. Prefix: dev/packages/spatial-crossover/*.

Relative endpointReturnsUsage
GET /hotspotsCross-domain hotspotsMap overlay
GET /zone/{zone_id}/profileZone profileZone detail
GET /layers/{theme}Theme layerMap selector
GET /corridorsPressure corridorsFlow overlay
GET /compare-zonesZone comparisonComparator
GET /events-feedGeolocated eventsLive markers
GET /temporal-mapPast map snapshotPlayback
GET /correlationsSpatial correlationsCluster analysis
GET /anomaly-zonesAnomalous zonesAnomaly layer

Per-endpoint examples

GET /hotspots

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/spatial-crossover/hotspots?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"hotspots":[{"zone_id":"z_centro","intensity":0.73,"theme":"mobility"}]}}

GET /zone/{zone_id}/profile

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/spatial-crossover/zone/z_centro/profile?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"zone_id":"z_centro","domains":{"mobility":0.71},"top_alert":"noise"}}

GET /layers/{theme}

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/spatial-crossover/layers/mobility?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"theme":"mobility","cells":[{"lat":39.47,"lon":-0.376,"value":0.64}]}}

GET /corridors

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/spatial-crossover/corridors?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"corridors":[{"corridor_id":"cor_1","pressure":0.69}]}}

GET /compare-zones

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/spatial-crossover/compare-zones?city_code=VLC&zone_id=z_centro&zone_id=z_rivera&at=2026-03-10T09:00:00Z"
{"data":{"zones":[{"zone_id":"z_centro","score":0.72},{"zone_id":"z_rivera","score":0.58}]}}

GET /events-feed

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/spatial-crossover/events-feed?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"events":[{"event_id":"evt_12","kind":"pressure_spike","zone_id":"z_centro"}]}}

GET /temporal-map

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/spatial-crossover/temporal-map?city_code=VLC&at=2026-03-09T20:00:00Z"
{"data":{"resolved_at":"2026-03-09T21:00:00+01:00","hotspots":[{"zone_id":"z_centro","intensity":0.61}]}}

GET /correlations

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/spatial-crossover/correlations?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"pairs":[{"zone_a":"z_centro","zone_b":"z_rivera","correlation":0.48}]}}

GET /anomaly-zones

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/spatial-crossover/anomaly-zones?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"zones":[{"zone_id":"z_centro","anomaly_score":0.67}]}}

Package: Logistics

Mobility and operational distribution. Prefix: dev/packages/logistics/*.

Relative endpointReturnsUsage
GET /mobility/pressureMobility pressure by zoneFleet ops
GET /mobility/corridorsMain corridorsRouting
GET /mobility/forecastMobility forecastDispatch planning
GET /density/currentCurrent densityCapacity planning
GET /density/patternsDensity patternsScheduling
GET /bottlenecksCurrent bottlenecksDispatch
GET /efficiency-scoreEfficiency scoreKPI

Per-endpoint examples

GET /mobility/pressure

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/logistics/mobility/pressure?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"zones":[{"zone_id":"z_centro","pressure":0.74}]}}

GET /mobility/corridors

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/logistics/mobility/corridors?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"corridors":[{"corridor_id":"cor_1","load":0.71,"speed":0.46}]}}

GET /mobility/forecast

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/logistics/mobility/forecast?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"corridors":[{"corridor_id":"cor_1","pressure_future":0.78}]}}

GET /density/current

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/logistics/density/current?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"zones":[{"zone_id":"z_centro","density":0.69}]}}

GET /density/patterns

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/logistics/density/patterns?city_code=VLC&start_date=2026-03-09T00:00:00Z&end_date=2026-03-10T00:00:00Z"
{"data":{"patterns":[{"hour":9,"density":0.63}]}}

GET /bottlenecks

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/logistics/bottlenecks?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"bottlenecks":[{"zone_id":"z_centro","severity":"high"}]}}

GET /efficiency-score

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/logistics/efficiency-score?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"efficiency_score":64.2,"trend":"down"}}

Package: Optimization

Impact matrix and policy lever simulation. Prefix: dev/packages/optimization/*.

Relative endpointReturnsUsage
GET /impact-matrixCross-domain impact matrixDecision support
GET /leverage-pointsLeverage pointsPolicy advice
GET /resource-allocationResource allocationBudgeting
GET /synergiesSynergiesStrategic planning
GET /inefficienciesInefficienciesWaste detection
GET /intervention-simulatorIntervention simulatorWhat-if

Per-endpoint examples

GET /impact-matrix

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/optimization/impact-matrix?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"matrix":[{"src":"mobility","dst":"noise","weight":0.42}]}}

GET /leverage-points

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/optimization/leverage-points?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"points":[{"domain":"mobility","leverage":0.71}]}}

GET /resource-allocation

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/optimization/resource-allocation?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"allocations":[{"domain":"mobility","priority":1}]}}

GET /synergies

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/optimization/synergies?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"synergies":[{"a":"mobility","b":"safety","score":0.36}]}}

GET /inefficiencies

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/optimization/inefficiencies?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"inefficiencies":[{"domain":"noise","loss":0.29}]}}

GET /intervention-simulator

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/optimization/intervention-simulator?city_code=VLC&at=2026-03-10T09:00:00Z&domain=mobility&magnitude=0.10"
{"data":{"delta_score":0.05,"top_secondary":"noise"}}

Package: Sustainability

Energy, climate, water and waste. Prefix: dev/packages/sustainability/*.

Relative endpointReturnsUsage
GET /energy/stateEnergy stateEnergy panel
GET /climate/indicatorsClimate indicatorsClimate widget
GET /emissions/proxyEmissions proxyCarbon tracking
GET /green-scoreGreen scoreESG report
GET /waste/efficiencyWaste efficiencyWaste ops
GET /water/flowWater flowWater ops
GET /sustainability/trendsSustainability trendsProgress

Per-endpoint examples

GET /energy/state

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/sustainability/energy/state?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"demand":0.58,"efficiency":0.67,"peak":false}}

GET /climate/indicators

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/sustainability/climate/indicators?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"heat_stress":0.34,"air_quality":0.72}}

GET /emissions/proxy

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/sustainability/emissions/proxy?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"emissions_proxy":0.41,"trend":"down"}}

GET /green-score

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/sustainability/green-score?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"green_score":63.5}}

GET /waste/efficiency

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/sustainability/waste/efficiency?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"efficiency":0.69,"collection_quality":0.74}}

GET /water/flow

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/sustainability/water/flow?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"flow_state":"stable","anomalies":0}}

GET /sustainability/trends

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/sustainability/sustainability/trends?city_code=VLC&start_date=2026-03-01T00:00:00Z&end_date=2026-03-10T00:00:00Z"
{"data":{"trend":"up","delta":0.07}}

Package: Tourism

Tourist pressure and urban impact. Prefix: dev/packages/tourism/*.

Relative endpointReturnsUsage
GET /pressureTourism pressureTourism panel
GET /hotspotsTourism hotspotsMap
GET /impact-on-cityImpact on city domainsImpact analysis
GET /seasonal-patternSeasonal patternSeasonal planning
GET /overtourism-riskOvertourism riskEarly warning
GET /recommendationsAlternative areasVisitor redistribution

Per-endpoint examples

GET /pressure

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/tourism/pressure?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"pressure":0.52,"top_zone":"z_oldtown"}}

GET /hotspots

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/tourism/hotspots?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"hotspots":[{"zone_id":"z_oldtown","intensity":0.77}]}}

GET /impact-on-city

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/tourism/impact-on-city?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"domains":[{"domain_code":"noise","impact":0.34}]}}

GET /seasonal-pattern

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/tourism/seasonal-pattern?city_code=VLC&start_date=2026-03-01T00:00:00Z&end_date=2026-03-10T00:00:00Z"
{"data":{"seasonal_pattern":"shoulder","deviation":0.08}}

GET /overtourism-risk

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/tourism/overtourism-risk?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"risk":0.43,"zone_id":"z_oldtown"}}

GET /recommendations

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/tourism/recommendations?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"zones":[{"zone_id":"z_rivera","relief_potential":0.58}]}}

Package: Safety

Operational risk and incident-driven situational awareness. Prefix: dev/packages/safety/*.

Relative endpointReturnsUsage
GET /risk-zonesRisk zonesSafety map
GET /incidents/recentRecent incidentsIncident feed
GET /night-safety-indexNight safety indexNight mobility
GET /infrastructure/stressInfrastructure stressMaintenance
GET /emergency/readinessEmergency readinessEmergency planning
GET /vulnerability-mapVulnerability mapDisaster prep

Per-endpoint examples

GET /risk-zones

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/safety/risk-zones?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"zones":[{"zone_id":"z_centro","severity":"high"}]}}

GET /incidents/recent

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/safety/incidents/recent?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"incidents":[{"incident_id":"inc_22","zone_id":"z_centro","severity":"medium"}]}}

GET /night-safety-index

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/safety/night-safety-index?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"zones":[{"zone_id":"z_centro","score":0.62}]}}

GET /infrastructure/stress

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/safety/infrastructure/stress?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"points":[{"asset":"bridge_1","stress":0.57}]}}

GET /emergency/readiness

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/safety/emergency/readiness?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"zones":[{"zone_id":"z_centro","readiness":0.7}]}}

GET /vulnerability-map

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/safety/vulnerability-map?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"cells":[{"lat":39.47,"lon":-0.376,"vulnerability":0.49}]}}

Package: Real-Time

Streaming pulse contracts for operational boards. Prefix: dev/packages/real-time/*.

Relative endpointReturnsUsage
GET /pulseCurrent pulseHeader widget
GET /feedRecent feedRecent activity
GET /changesDelta since last samplePolling sync
GET /trendingTrending themesTrend monitor
GET /anomaliesReal-time anomaliesAnomaly monitor
SSE /streamServer-sent events streamLive boards

Per-endpoint examples

GET /pulse

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/real-time/pulse?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"headline":"Mobility is tense in the center","health_score":74.6}}

GET /feed

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/real-time/feed?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"items":[{"kind":"alert","resolved_at":"2026-03-10T09:55:00+01:00"}]}}

GET /changes

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/real-time/changes?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"deltas":[{"domain":"mobility","delta":0.04}]}}

GET /trending

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/real-time/trending?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"themes":[{"theme":"mobility","weight":0.61}]}}

GET /anomalies

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/real-time/anomalies?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"anomalies":[{"kind":"pressure_spike","zone_id":"z_centro"}]}}

SSE /stream

curl -N "https://api.urbeia.com/dev/packages/real-time/stream?city_code=VLC"
event: pulse
data: {"headline":"Mobility is tense in the center"}

Package: Narrative

Human-readable now/today/weekly explainers. Prefix: dev/packages/narrative/*.

Relative endpointReturnsUsage
GET /nowCurrent headlineHeadline
GET /todayDaily digestDigest
GET /why/{indicator}Why this indicatorExplainability
GET /compare/yesterdayToday vs yesterdayDay-over-day report
GET /insightsTop insightsInsights widget
GET /report/weeklyWeekly reportWeekly bulletin

Per-endpoint examples

GET /now

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/narrative/now?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"headline":"Valencia runs with moderate mobility pressure."}}

GET /today

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/narrative/today?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"summary":"The day consolidates moderate stress and better energy performance."}}

GET /why/{indicator}

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/narrative/why/health-score?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"indicator":"health-score","why":"Improvement comes from higher coherence and lower noise."}}

GET /compare/yesterday

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/narrative/compare/yesterday?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"comparison":"Today improves versus yesterday in health and noise."}}

GET /insights

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/narrative/insights?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"insights":["Pressure concentrates in center and riverfront."]}}

GET /report/weekly

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/narrative/report/weekly?city_code=VLC&end_date=2026-03-10T00:00:00Z"
{"data":{"title":"Weekly summary","highlights":["Noise down","Resilience up"]}}

Package: Metacognition

Internal coherence, rule-based actions and exportable evidence. Prefix: dev/cognition/metacognition/*.

Relative endpointReturnsUsage
GET /overviewExecutive coherence snapshotGovernance tab
GET /historyMetacognitive timelineStability monitoring
GET /audit-trailTriggered rules and evidenceTechnical audit
GET /exportExportable packExternal reports
GET /cce/latestLatest cross-coherence readingQuick diagnostic
GET /cce/historyCCE timelineDissonance trend

Per-endpoint examples

GET /overview

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/cognition/metacognition/overview?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"global_state":"stable","score":0.78,"risk_preventive":0.21}}

GET /history

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/cognition/metacognition/history?city_code=VLC&start_date=2026-03-01T00:00:00Z&end_date=2026-03-10T00:00:00Z"
{"data":{"series":[{"resolved_at":"2026-03-09T12:00:00+01:00","score":0.76}]}}

GET /audit-trail

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/cognition/metacognition/audit-trail?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"rules":[{"rule_id":"r_12","triggered":true}]}}

GET /export

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/cognition/metacognition/export?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"overview":{},"history":{},"audit":{}}}

GET /cce/latest

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/cognition/metacognition/cce/latest?city_code=VLC&at=2026-03-10T09:00:00Z"
{"data":{"global_inconsistency":0.18,"resolved_at":"2026-03-10T10:00:00+01:00"}}

GET /cce/history

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/cognition/metacognition/cce/history?city_code=VLC&start_date=2026-03-01T00:00:00Z&end_date=2026-03-10T00:00:00Z"
{"data":{"series":[{"resolved_at":"2026-03-09T12:00:00+01:00","global_inconsistency":0.2}]}}

Block: Developer Core

Operational reads outside themed packages. Docs prefix: api/v1/dev/*.

EndpointReturnsUse case
GET /state/overviewAggregated city stateOperational header
GET /spatial/hotspotsActive hotspotsMap bubbles/intensity
GET /spatial/hotspots/dayDaily hotspot aggregationDay replay
GET /forecast/short-termShort-term forecastAnticipation widgets
GET /forecast/detailEnriched forecastDeep forecast view
GET /state/timelineState timelineExecutive series
GET /alerts/currentCurrent alertsControl rooms
GET /psycho/contextAggregated psycho-urban contextEmotional layer
POST /events/auditEvent fingerprint auditConcrete events
POST /events/window-snapshotWindowed event snapshotWindow replay
GET /cognition/sensory-legendSensory legendVisual interpretation
GET /cognition/metacognition/*Metacognition states and auditTechnical governance

Endpoint examples

GET /state/overview

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/state/overview?city_code=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"status":"READY","overview":{"health_score":0.73,"pressure_index":0.41}}}

GET /spatial/hotspots

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/spatial/hotspots?city_code=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"hotspots":[{"track_id":"trk_31a92","centroid":{"lat":39.4702,"lon":-0.3768},"radius_m":180.0,"intensity":0.78}],"count":1}}

GET /spatial/hotspots/day

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/spatial/hotspots/day?city_code=VLC&start_date=2026-03-10T00:00:00+01:00&end_date=2026-03-10T23:59:59+01:00"
{"data":{"daily_hotspots":[{"track_id":"trk_31a92","appearances":14,"mean_intensity":0.74}]}}

GET /forecast/short-term

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/forecast/short-term?city_code=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"domains":{"mobility":{"delta":-0.08,"confidence":0.72}},"hotspots":[{"track_id":"trk_31a92","survival_prob":0.81}]}}

GET /forecast/detail

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/forecast/detail?city_code=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"confidence":0.71,"expected_hotspots_v1":{"status":"ok","hotspots":[{"track_id":"trk_31a92","survival_prob":0.81}]}}}

GET /state/timeline

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/state/timeline?city_code=VLC"
{"data":{"timeline":[{"resolved_at":"2026-03-10T08:00:00+01:00","health_score":0.69}]}}

GET /alerts/current

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/alerts/current?city_code=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"alerts":[{"alert_id":"alt_2041","theme":"mobility","severity":"medium"}],"count":1}}

GET /psycho/context

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/psycho/context?city_code=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"stress_index":0.44,"calm_index":0.36,"drivers":["crowding","noise","thermal_discomfort"]}}

POST /events/audit

curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"city_code":"VLC","fingerprints":["evt:fallas:mascleta"]}' \
  "https://api.urbeia.com/api/v1/dev/events/audit"
{"data":{"events":[{"fingerprint":"evt:fallas:mascleta","status":"known","domain_impact":["activity","mobility","noise"]}]}}

POST /events/window-snapshot

curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"city_code":"VLC","start_date":"2026-03-10T08:00:00+01:00","end_date":"2026-03-10T12:00:00+01:00"}' \
  "https://api.urbeia.com/api/v1/dev/events/window-snapshot"
{"data":{"events":[{"fingerprint":"evt:fallas:mascleta","severity":"high"}]}}

GET /cognition/sensory-legend

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/cognition/sensory-legend?city_code=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"legend":[{"code":"high_pressure","label":"High pressure"},{"code":"relief_zone","label":"Relief zone"}]}}

GET /cognition/metacognition/*

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/cognition/metacognition/overview?city_code=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"coherence_score":0.73,"uncertainty_index":0.28,"active_watchers":["forecast","dsi","uoe"]}}

Block: DSI Explainability

Structural DSI explainability for developers. Docs prefix: api/v1/dev/cognition/dsi/*.

EndpointReturnsUse case
GET /domain-canonicalCanonical variables and domain snapshotStructural inventory
GET /relations/latestLatest structural relationsRelation panels
GET /relations/explainEdge explainabilityCausal audit
GET /variables/explainVariable promotion explainabilityCategory justification
GET /domain/schemaDomain schemaDomain mapping
GET /domain/timeseriesStructural time seriesBI charts

Endpoint examples

GET /domain-canonical

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/cognition/dsi/domain-canonical?city_code=VLC&domain=mobility&at=2026-03-10T10:00:00+01:00&limit=100"
{"data":{"domain":"mobility","status":"READY","variables":[{"var_key":"mobility.flow_ratio","category":"STRUCTURAL","ontology_score":0.71}],"count":1}}

GET /relations/latest

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/cognition/dsi/relations/latest?city_code=VLC&at=2026-03-10T10:00:00+01:00&min_confidence=0.6&limit=50"
{"data":{"relations":[{"relation_id":"mobility→noise:mobility.flow_ratio→noise.complaints","structural_confidence":0.77,"support_n":128}],"count":1}}

GET /relations/explain

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/cognition/dsi/relations/explain?city_code=VLC&relation_id=mobility%E2%86%92noise%3Amobility.flow_ratio%E2%86%92noise.complaints&at=2026-03-10T10:00:00+01:00"
{"data":{"metrics":{"rho_spearman":0.64},"alignment":{"forecast_alignment":0.58},"confidence_block":{"structural_confidence":0.77}}}

GET /variables/explain

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/cognition/dsi/variables/explain?city_code=VLC&domain=mobility&var_key=mobility.flow_ratio&at=2026-03-10T10:00:00+01:00"
{"data":{"var_key":"mobility.flow_ratio","category":"CORE","promotion_reason":"Stable support and high centrality."}}

GET /domain/schema

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/cognition/dsi/domain/schema?city_code=VLC&domain=mobility&at=2026-03-10T10:00:00+01:00&min_category=STRUCTURAL"
{"data":{"domain":"mobility","variables":[{"var_key":"mobility.flow_ratio","category":"CORE"}],"relations":[{"relation_id":"mobility→noise:mobility.flow_ratio→noise.complaints","structural_confidence":0.77}]}}

GET /domain/timeseries

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v1/dev/cognition/dsi/domain/timeseries?city_code=VLC&domain=mobility&start_date=2026-03-01T00:00:00+01:00&end_date=2026-03-10T23:59:59+01:00&var_key=mobility.flow_ratio"
{"data":{"series":[{"var_key":"mobility.flow_ratio","points":[{"resolved_at":"2026-03-01T00:00:00+01:00","value":0.58}]}]}}

Block: Layer 2 Domain Dynamics

Cross-domain structural relations. Docs prefix: api/v2/domains/*.

EndpointReturnsUse case
GET /domains/{domain_src}/cross/{domain_dst}Structural relations between two domainsDomain→domain causal panels

Endpoint example

GET /domains/{domain_src}/cross/{domain_dst}

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v2/domains/mobility/cross/noise?city=VLC&at=2026-03-10T10:00:00+01:00&min_confidence=0.6&polarity=ALL&top_k=20"
{"data":{"domain_src":"mobility","domain_dst":"noise","relations":[{"relation_id":"mobility→noise:mobility.flow_ratio→noise.complaints","direction":"POSITIVE","confidence":{"structural_confidence":0.77}}],"count":1}}

Block: Layer 2 UOE/UMCE

Domain ontology, meta-domains and forecast explainability. Docs prefix: api/v2/*.

EndpointReturnsUse case
GET /domains/{domain}/ontologyDomain ontology stateMaturity and variables
GET /meta-domainsActive meta-domainsInterdomain clusters
GET /meta-domains/{meta_name}Meta-domain compositionCluster drill-down
GET /forecast/explainForecast reweight explain blockOntology-aware forecast audit

Endpoint examples

GET /domains/{domain}/ontology

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v2/domains/mobility/ontology?city=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"status":"READY","domain":"mobility","maturity_score":0.71,"variables":[{"var_key":"mobility.flow_ratio","ontology_score":0.79,"category":"CORE"}],"count":1}}

GET /meta-domains

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v2/meta-domains?city=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"status":"READY","meta_domains":[{"meta_name":"mobility_climate_stress","status":"STABLE","maturity_meta":0.58}],"count":1}}

GET /meta-domains/{meta_name}

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v2/meta-domains/mobility_climate_stress?city=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"meta_name":"mobility_climate_stress","composition":[{"var_key":"mobility.flow_ratio","domain_origin":"mobility","weight_in_cluster":0.41}],"count":1}}

GET /forecast/explain

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/v2/forecast/explain?city=VLC&at=2026-03-10T10:00:00+01:00"
{"data":{"status":"READY","phi_guard":{"phi_state":"CONSOLIDATE","applied":true},"ontology_reweight":[{"domain":"mobility","multiplier":1.142}],"meta_reweight":[{"meta_name":"mobility_climate_stress","multiplier":1.087}]}}

Package: Domain Data

Canonical domain structure, raw timeseries and human-semantic discovery. Prefix: dev/packages/domain-data/*.

Relative endpointReturnsUsage
GET /schemaMature canonical domain schemaStable dashboards
GET /timeseriesRaw structural series by human time windowBI charts
GET /domains/catalogActive domain catalogDomain selector
GET /magnetos/catalogStructural magneto catalog by domainSimulation forms
GET /magnetos/relevanceAvailable and recommended magnetos for a human datePre-simulation filtering

Per-endpoint examples

GET /schema

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/domain-data/schema?city_code=VLC&domain=mobility"
{"data": {"domain": "mobility", "variables": [{"var_key": "mobility.flow_pressure", "category": "CORE"}]}}

GET /timeseries

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/domain-data/timeseries?city_code=VLC&domain=mobility&var_key=mobility.flow_pressure&start_date=2026-03-01T00:00:00Z&end_date=2026-03-10T00:00:00Z"
{"data": {"series": [{"resolved_at": "2026-03-09T12:00:00+01:00", "value": 0.63}]}}

GET /domains/catalog

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/domain-data/domains/catalog?city_code=VLC"
{"data": {"domains": [{"domain_code": "mobility", "display_name": "Mobility", "is_active": true}]}}

GET /magnetos/catalog

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/domain-data/magnetos/catalog?city_code=VLC&domain_code=mobility"
{"data": {"magnetos": [{"magneto_code": "mobility.flow_pressure", "kind": "state", "polarity": 1}]}}

GET /magnetos/relevance

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/dev/packages/domain-data/magnetos/relevance?city_code=VLC&at=2026-03-10T09:00:00Z&domain_code=mobility"
{"data": {"available_magnetos": [{"magneto_code": "mobility.flow_pressure"}], "recommended_magnetos": [{"magneto_code": "mobility.flow_pressure", "reason_code": "FORECAST_RELEVANT_NOW"}]}}

Package: Core Structural Data Pack

Structural entry layer into UrbanIA to query the city through canonical variables rather than raw schema shapes. Canonical prefix: /api/core-struct/* · Alias: /core-struct/*.

EndpointReturnsUse case
GET /domainsDomains with canonical structure available for a cityInitial discovery
GET /domains/{domain}/variablesStructural variables by domain, canonical role and familyStructural inventory
GET /variables/{var_key}Canonical variable card with magneto and magnetic familyVariable drill-down
GET /variables/{var_key}/relatedRelated variables by co-structure and cross-domain associationRelation panels
GET /variables/{var_key}/explainOntology and public exposure explain block for a variableClassification audit
POST /query/eventsEvents filtered by canonical variables and time windowStructural event reading
POST /query/seriesTime series built from visible structural variablesCharts and temporal analysis
POST /query/aggregateStructural aggregates by variable, filter and windowKPIs and BI summaries

Exposure rule: the pack exposes semantic_core by default. support and raw references only appear in optional blocks. Its value is not raw JSON search, but turning UrbanIA into a consultable structural urban base.

Per-endpoint examples

GET /domains

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/core-struct/domains?city_code=SYNTH"
{
  "city_code": "SYNTH",
  "domains": [{"domain": "mobility", "core_variables_n": 55, "support_variables_n": 39}],
  "count": 1
}

GET /domains/{domain}/variables

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/core-struct/domains/climate/variables?city_code=SYNTH&include_support=true"
{
  "city_code": "SYNTH",
  "domain": "climate",
  "variables": {
    "core": [{"var_key": "climate.raw_cuerpo_data__pm10", "family": "climate", "magneto_code": "climate"}]
  }
}

GET /variables/{var_key}

curl -H "Authorization: Bearer $TOKEN" \
  "https://api.urbeia.com/api/core-struct/variables/climate.raw_cuerpo_data__pm10?city_code=SYNTH"
{
  "city_code": "SYNTH",
  "variable": {
    "var_key": "climate.raw_cuerpo_data__pm10",
    "canonical_role": "semantic_core",
    "magneto_code": "climate",
    "magneto_display_name": "Urban climate",
    "magnetic_family_code": "climate"
  }
}

POST /query/events

curl -X POST "https://api.urbeia.com/api/core-struct/query/events" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"city_code":"SYNTH","domain":"climate","time":{"field":"ts_urb","from":"260","to":"280"},"filters":[{"var_key":"climate.raw_cuerpo_data__pm10","op":"gt","value":20}]}'
{
  "city_code": "SYNTH",
  "domain": "climate",
  "count": 2,
  "matches": [{"event_key": {"ts_urb": "270.209072007000"}, "values": {"climate.raw_cuerpo_data__pm10": 23.4}}]
}

Package: Integration

Discovery, schema, usage and webhook lifecycle. Prefix: dev/packages/integration/*.

Relative endpointReturnsUsage
GET /citiesOFFICIAL cities with certification/availability flags for UIL onboardingDiscovery and UIL registration
GET /packagesPackage catalog for current API keyAccess rights
GET /schema/{package}JSON Schema per packageClient validation
GET /statusStatus and latency by packageMonitoring
GET /usageAPI key usageQuota control
POST /webhook/registerRegister webhook callbacksEvent notifications
GET /changelogRecent API changesMaintenance

Per-endpoint examples

GET /cities

This endpoint returns only OFFICIAL cities and explicitly marks whether each one is certified, occupied, and selectable for a new UIL registration flow.

curl -H "Authorization: Bearer $TOKEN" "https://api.urbeia.com/dev/packages/integration/cities"
{
  "data": {
    "cities": [
      {
        "city_code": "VLC",
        "city_name": "Valencia",
        "city_type": "OFFICIAL",
        "status": "OCCUPIED",
        "is_certified": true,
        "is_available": false,
        "is_selectable_for_uil_registration": false,
        "certification": {
          "has_certified_lab": true,
          "certified_lab_city_code": "VLC_LAB_12345"
        },
        "availability": {
          "reason_code": "OFFICIAL_CITY_OCCUPIED"
        },
        "timezone": "Europe/Madrid",
        "packages": ["global-metrics", "alerts", "integration"]
      },
      {
        "city_code": "MAD",
        "city_name": "Madrid",
        "city_type": "OFFICIAL",
        "status": "AVAILABLE",
        "is_certified": false,
        "is_available": true,
        "is_selectable_for_uil_registration": true,
        "certification": {
          "has_certified_lab": false,
          "certified_lab_city_code": null
        },
        "availability": {
          "reason_code": null
        },
        "timezone": "Europe/Madrid",
        "packages": ["global-metrics", "alerts", "integration"]
      }
    ],
    "count": 2
  }
}

GET /packages

curl -H "Authorization: Bearer $TOKEN" "https://api.urbeia.com/dev/packages/integration/packages"
{"data": {"packages": [{"package": "global-metrics", "enabled": true}]}}

GET /schema/{package}

curl -H "Authorization: Bearer $TOKEN" "https://api.urbeia.com/dev/packages/integration/schema/global-metrics"
{"data": {"package": "global-metrics", "json_schema": {"type": "object"}}}

GET /status

curl -H "Authorization: Bearer $TOKEN" "https://api.urbeia.com/dev/packages/integration/status"
{"data": {"status": "ok", "packages": [{"package": "simulations", "latency_ms": 182}]}}

GET /usage

curl -H "Authorization: Bearer $TOKEN" "https://api.urbeia.com/dev/packages/integration/usage"
{"data": {"requests_today": 142, "daily_quota": 5000, "rate_per_minute": 3.2}}

POST /webhook/register

curl -X POST https://api.urbeia.com/dev/packages/integration/webhook/register \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"callback_url":"https://example.com/hooks/urbeia","events":["alerts","changes"]}'
{"data": {"webhook_id": "wh_01JQ", "status": "registered", "events": ["alerts", "changes"]}}

GET /changelog

curl -H "Authorization: Bearer $TOKEN" "https://api.urbeia.com/dev/packages/integration/changelog"
{"data": {"items": [{"version": "2026.03.10", "summary": "Temporal humanized contracts for developer pack"}]}}

UIL Enterprise Block

Institutional integration uses HMAC and a dedicated scope.

EndpointPurposeAuth
POST /uil/signalsUIL ingest in two modes: normalized signals or plug-and-forget raw JSONHMAC + uil:signals:write
GET /kpisAggregated UIL state: inconsistency and confidenceHMAC + uil:kpis:read
GET /badgeInstitutional structural coherence badgeHMAC + uil:kpis:read

Current contract for POST /uil/signals

The endpoint now accepts three input shapes:

FormatWhat the integrator sendsWhat UrbeIA does
normalized batchcity_code + resolved_at + signals[]Stages the envelope and writes normalized signals into urban_external_signal_state
legacy normalizedA single signal with signal_key, value_raw, confidence_sourceInternally converts it to batch and persists it the same way
raw JSONAny integrator JSON, with or without metadataWraps it and stages it for later processing

metadata and city binding rule

  • If the payload already contains metadata, UrbeIA preserves it and forcibly injects metadata.city and metadata.city_code from the UIL key scope.
  • If the payload does not contain metadata, UrbeIA creates metadata and stores the original body under dataset.
  • If one UIL key spans multiple cities and the payload does not declare a city, the request is rejected with 422 due to ambiguity.

Example 1. Raw JSON with metadata

curl -X POST https://api.urbeia.com/uil/signals \
  -H \"Content-Type: application/json\" \
  -H \"X-Key-Id: YOUR_KEY_ID\" \
  -H \"X-Timestamp: 2026-03-07T12:00:00Z\" \
  -H \"X-Nonce: 7f1d3c4e-...\" \
  -H \"X-Signature: ...\" \
  -H \"Idempotency-Key: raw-meta-001\" \
  -d '{\n+    \"metadata\": {\n+      \"source\": \"valencia.mobility.hooks\",\n+      \"schema\": \"mobility.turnstiles.v1\",\n+      \"ts\": \"2024-06-07T23:35:00.308791+00:00\"\n+    },\n+    \"station_id\": \"S-104\",\n+    \"entries\": 281,\n+    \"exits\": 244,\n+    \"geo\": {\"lat\": 39.4699, \"lon\": -0.3763}\n+  }'

Example 2. Raw JSON without metadata

curl -X POST https://api.urbeia.com/uil/signals \
  -H \"Content-Type: application/json\" \
  -H \"X-Key-Id: YOUR_KEY_ID\" \
  -H \"X-Timestamp: 2026-03-07T12:00:00Z\" \
  -H \"X-Nonce: 7f1d3c4e-...\" \
  -H \"X-Signature: ...\" \
  -H \"Idempotency-Key: raw-bare-001\" \
  -d '{\n+    \"sensor\": \"AQ-17\",\n+    \"pm25_ugm3\": 12.4,\n+    \"pm10_ugm3\": 21.8,\n+    \"captured_at\": \"2024-06-07T23:35:00.308791+00:00\"\n+  }'

Example 3. Normalized UIL batch

curl -X POST https://api.urbeia.com/uil/signals \
  -H \"Content-Type: application/json\" \
  -H \"X-Key-Id: YOUR_KEY_ID\" \
  -H \"X-Timestamp: 2026-03-07T12:00:00Z\" \
  -H \"X-Nonce: 7f1d3c4e-...\" \
  -H \"X-Signature: ...\" \
  -H \"Idempotency-Key: norm-001\" \
  -d '{\n+    \"city_code\": \"VLC\",\n+    \"resolved_at\": \"9140.793538172\",\n+    \"ts_physical\": \"2024-06-07T23:35:00.308791+00:00\",\n+    \"signals\": [\n+      {\n+        \"signal_key\": \"mobility.pressure\",\n+        \"normalized_value\": 0.72,\n+        \"confidence_score\": 0.93,\n+        \"projection_vector\": {\"mobility\": 0.91, \"logistics\": 0.44}\n+      }\n+    ]\n+  }'

The response now also reports whether the request was staged and which ingest mode was used:

{\n+  \"status\": \"ingested\",\n+  \"request_id\": \"...\",\n+  \"city_code\": \"VLC\",\n+  \"resolved_at\": \"9140.793538172\",\n+  \"inserted\": 1,\n+  \"staged\": true,\n+  \"ingest_mode\": \"normalized_batch\",\n+  \"idempotency\": \"new\"\n+}

Block: Developer Contribution Program

Developer lane for sending useful signal back to UrbeIA and converting accepted value into platform credits. Canonical prefix: api/v1/dev/*.

EndpointReturnsUse case
POST /contributionsReceives a contribution, queues it, and returns initial stateSubmit developer-owned pulses or datasets
GET /contributionsLists contributions visible for the API keySubmission monitoring
GET /contributions/{contribution_id}Technical and economic state of one contributionPer-item follow-up
GET /contributions/{contribution_id}/auditPolicy, routing, and scoring trailAcceptance / rejection explainability
GET /contributions/{contribution_id}/creditEconomic state, score, and creditable unitsBilling-facing view
GET /credit-ledgerApplied or pending credit ledger entriesBilling reconciliation
GET /credit-summaryCycle summary with acceptance and credit ratiosPartner-level overview

What this program actually does

UrbeIA lets developers build products on top of urban cognition. This program adds a second lane: if you send back high-quality pulses or datasets from your own domain, and that signal passes contract, rights, privacy, anti-gaming, stability, and integration gates, it may generate platform credits.

Technical state and economic state are intentionally separate. A contribution can be accepted and still not be credited. Credits live in an auditable ledger and can be reversed if a later review finds fraud, invalidity, or loss of eligibility.

Per-endpoint examples

POST /contributions

curl -X POST https://api.urbeia.com/api/v1/dev/contributions \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "metadata": {
      "schema_version": "dcp.v0.2",
      "city_code": "VLC",
      "contribution_type": "operational_pulse",
      "source_timestamp": "2026-03-14T10:30:00Z"
    },
    "source": {
      "deployment_env": "production",
      "estimated_reliability": 0.91,
      "privacy_mode": "pseudonymized"
    },
    "contribution": {
      "contributor_org_id": "org_dev_studio_01",
      "app_id": "app_robot_nav",
      "integration_id": "int_robot_nav_01",
      "declared_domain": "robotics_navigation",
      "declared_intent": "production",
      "idempotency_key": "nav-pulse-001"
    },
    "traceability": {
      "source_event_id": "robot-evt-7781",
      "fingerprint": "sha256:abc123",
      "data_rights_asserted": true
    },
    "payload": {
      "event": {
        "robot_id": "rb-17",
        "pose_confidence": 0.94,
        "friction_score": 0.28
      }
    }
  }'
{
  "contribution_id": "CTRB_01JQ...",
  "status": "submitted",
  "technical_state": "accepted",
  "economic_state": "credit_pending",
  "delivery_channel": "heartbeat_inbox",
  "queued": true,
  "credit_eligible_initial": true,
  "policy_version": "dcp_credit_policy_v0_2"
}

GET /contributions/{contribution_id}/audit

{
  "contribution_id": "CTRB_01JQ...",
  "audit_events": [
    {"stage": "ingest", "result": "submitted", "reason_family": "ingest"},
    {"stage": "policy_screening", "result": "accepted", "reason_family": "policy"},
    {"stage": "canonical_routing", "result": "integrated_experience", "routing_result": "experience"},
    {"stage": "credit_scoring", "result": "credited", "reason_family": "economic"}
  ]
}

GET /credit-summary

{
  "org_id": "org_dev_studio_01",
  "billing_cycle": "2026-03",
  "totals": {"credited_units": 5.0, "pending_units": 0.0, "applied_units": 5.0},
  "health": {"submitted_count": 4, "accepted_count": 3, "credited_count": 1}
}

Authentication

Developer: Bearer API key.

UIL: HMAC request signing + key ID.

Legacy compatibility: /api/v1/public/*, /api/v2/packages/*, /api/v1/integration/uil/*.

Error model

HTTPMeaningAction
400Invalid paramsFix input format
401Auth failureCheck token/signature
403Scope deniedUpgrade package/access
429Rate limitRetry with backoff
503Degraded sourceUse fallback contract