Claude-skill-registry eptr2-api-discovery
Discover and explore available eptr2 API endpoints for Turkish electricity market data. List all 213+ API calls, find endpoints by category (GÖP, GİP, DGP, Üretim, Tüketim), search for specific data types, and get parameter requirements. Use when asking what data is available, how to find endpoints, or exploring the API. Triggers on: available endpoints, API calls, list endpoints, what data, which API, how to find, hangi veri, mevcut servisler.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/eptr2-api-discovery" ~/.claude/skills/majiayu000-claude-skill-registry-eptr2-api-discovery && rm -rf "$T"
manifest:
skills/data/eptr2-api-discovery/SKILL.mdsource content
eptr2 API Discovery Guide
Overview
This skill helps you discover and explore the 213+ API endpoints available in eptr2 for Turkish electricity market data. Use this when you need to find the right endpoint for your data needs.
Quick Start
from eptr2 import EPTR2 # Initialize eptr = EPTR2(use_dotenv=True, recycle_tgt=True) # List all available API calls all_calls = eptr.get_available_calls() print(f"Total available calls: {len(all_calls)}") print(all_calls[:20]) # First 20 calls
Discovery Methods
1. Get All Available Calls
# List all endpoint names calls = eptr.get_available_calls() print(calls)
2. Get Number of Calls
# Get count of available endpoints count = eptr.get_number_of_calls() print(f"Available endpoints: {count}")
3. Get Aliases
# Some endpoints have shorthand aliases aliases = eptr.get_aliases() print(aliases) # Example: 'ptf' is alias for 'mcp', 'smf' is alias for 'smp'
4. Get Help for Specific Call
from eptr2.mapping.help import get_help_d # Get detailed info about an endpoint help_info = get_help_d("mcp") print(f"Category: {help_info['category']}") print(f"Title (EN): {help_info['title']['en']}") print(f"Title (TR): {help_info['title']['tr']}") print(f"Description: {help_info['desc']['en']}") print(f"URL: {help_info['url']}")
API Categories
| Category | Turkish | Description | Example Calls |
|---|---|---|---|
| GÖP | Gün Öncesi Piyasası | Day-Ahead Market | , , |
| GİP | Gün İçi Piyasası | Intraday Market | , , |
| DGP | Dengeleme Güç Piyasası | Balancing Power Market | , , |
| Üretim | Üretim | Generation | , , |
| Tüketim | Tüketim | Consumption | , , |
| Dengesizlik | Dengesizlik | Imbalance | , , |
| İA | İkili Anlaşmalar | Bilateral Contracts | , |
| Barajlar | Barajlar | Dams/Reservoirs | , |
| Kurulu Güç | Kurulu Güç | Installed Capacity | , |
Common Endpoint Patterns
Price Data
/mcp
- Market Clearing Priceptf
/smp
- System Marginal Pricesmf
- Weighted Average Price (IDM)wap
- Imbalance pricesimbalance-price
Quantity Data
- Real-time generationrt-generation
- Real-time consumptionrt-cons
- DAM cleared quantitydam-clearing
- IDM matched quantityidm-qty
Plan Data
- Demand forecastload-plan
/dpp
- Daily production plankgup
- Settlement production plankudup
Settlement Data
- Settlement generationuevm
- Settlement consumptionuecm
Finding the Right Endpoint
Search by Keyword
from eptr2.mapping.help import get_help_d # Get all help entries all_help = get_help_d() # Search for keywords keyword = "price" # or "fiyat" for Turkish matches = { k: v for k, v in all_help.items() if keyword.lower() in v['title']['en'].lower() or keyword.lower() in v['desc']['en'].lower() } for call, info in matches.items(): print(f"{call}: {info['title']['en']}")
List by Category
all_help = get_help_d() # Filter by category category = "GÖP" # Day-Ahead Market gop_calls = { k: v for k, v in all_help.items() if v['category'] == category } print(f"GÖP (Day-Ahead Market) endpoints:") for call, info in gop_calls.items(): print(f" {call}: {info['title']['en']}")
Parameter Requirements
Get Required Parameters
from eptr2.mapping.parameters import get_required_parameters, get_optional_parameters # Check what parameters an endpoint needs required = get_required_parameters("mcp") optional = get_optional_parameters("mcp") print(f"Required: {required}") print(f"Optional: {optional}")
Common Parameters
| Parameter | Type | Description |
|---|---|---|
| str | Start date (YYYY-MM-DD) |
| str | End date (YYYY-MM-DD) |
| int/str | Organization ID |
| int/str | Power plant ID |
| int/str | Production unit ID |
Quick Reference Tables
Most Used Price Endpoints
| Call | Description |
|---|---|
| Market Clearing Price |
| System Marginal Price |
| IDM Weighted Average Price |
| Imbalance prices |
| Combined MCP, SMP, Imbalance |
Most Used Quantity Endpoints
| Call | Description |
|---|---|
| Real-time generation by type |
| Real-time consumption |
| Demand forecast |
| DAM cleared volume |
| IDM matched volume |
Production Plan Endpoints
| Call | Description |
|---|---|
/ | Daily Production Plan (KGÜP) |
| KGUP Version 1 |
| Settlement Production Plan |
| Settlement Generation (UEVM) |
For More Details
- See endpoint-categories.md for complete category listings
- Run the helper script in
for interactive discoveryscripts/list_endpoints.py