Skip to main content
Glama
indicator_request.py1.52 kB
"""Request DTOs for indicator operations.""" from datetime import datetime from pydantic import BaseModel, Field, field_validator class GetIndicatorDataRequest(BaseModel): """Request to get indicator data. Attributes: indicator_id: The indicator ID start_date: Start datetime (ISO format) end_date: End datetime (ISO format) time_granularity: Time aggregation (raw, hour, day, fifteen_minutes) """ indicator_id: int = Field(..., gt=0, description="Indicator ID (must be positive)") start_date: str = Field(..., description="Start datetime in ISO format") end_date: str = Field(..., description="End datetime in ISO format") time_granularity: str = Field( default="raw", description="Time granularity (raw, hour, day, fifteen_minutes)", ) @field_validator("time_granularity") @classmethod def validate_time_granularity(cls, v: str) -> str: """Validate time granularity.""" allowed = {"raw", "hour", "day", "fifteen_minutes"} if v not in allowed: raise ValueError(f"time_granularity must be one of {allowed}") return v @field_validator("start_date", "end_date") @classmethod def validate_datetime(cls, v: str) -> str: """Validate datetime format.""" try: datetime.fromisoformat(v.replace("Z", "+00:00")) except (ValueError, AttributeError) as e: raise ValueError(f"Invalid datetime format: {e}") from e return v

Implementation Reference

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ESJavadex/ree-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server