syntax = "proto3";

package worldmonitor.economic.v1;

import "buf/validate/validate.proto";
import "sebuf/http/annotations.proto";
import "worldmonitor/economic/v1/economic_data.proto";

// GetFredSeriesRequest specifies which FRED series to retrieve.
message GetFredSeriesRequest {
  // FRED series ID (e.g., "GDP", "UNRATE", "CPIAUCSL").
  string series_id = 1 [
    (buf.validate.field).required = true,
    (buf.validate.field).string.min_len = 1,
    (sebuf.http.query) = {name: "series_id"}
  ];
  // Maximum number of observations to return. Defaults to 120.
  int32 limit = 2 [(sebuf.http.query) = { name: "limit" }];
}

// GetFredSeriesResponse contains the requested FRED series data.
message GetFredSeriesResponse {
  // The FRED time series.
  FredSeries series = 1;
}
