diff --git a/proto/forecaster.proto b/proto/forecaster.proto
index d88b4b644a99d5971ec62ef437300c511a90a0c9..739add18d0ded8ea68a6be2e98c585fb718b10ab 100644
--- a/proto/forecaster.proto
+++ b/proto/forecaster.proto
@@ -18,18 +18,22 @@ package forecaster;
 import "context.proto";
 
 service ForecasterService {
-  rpc GetForecastOfLink(context.LinkId) returns (context.Empty) {}
+  rpc GetForecastOfTopology (context.TopologyId) returns (Forecast) {}
+  rpc GetForecastOfLink(context.LinkId) returns (Forecast) {}
   rpc CheckService (context.ServiceId) returns (ForecastPrediction) {}
 }
 
-Forecast {
+message SingleForecast {
   context.Timestamp = 1;
   double value = 2;    
 }
 
-message LinkForecast {
-    LinkId link_id = 1;
-    repeated Forecast forecast = 2;
+message Forecast {
+    oneof uuid {
+      context.TopologyId = 1;
+      context.LinkId = 2;
+    }
+    repeated SingleForecast forecast = 3;
 }
 
 enum AvailabilityPredictionEnum {