AgentSkillsCN

eptr2-api-discovery

探索并发掘可用于获取土耳其电力市场数据的ePtr2 API端点。列出全部213+个API调用,按类别(GÖP、GİP、DGP、发电、用电)查找端点,搜索特定数据类型,并了解各项参数的要求。在询问可用数据、如何查找端点,或探索API时使用此技能。触发条件:可用端点、API调用、列出端点、有哪些数据、哪个API、如何查找、哪些数据、现有服务。

SKILL.md
--- frontmatter
name: eptr2-api-discovery
description: 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.
allowed-tools: Read, Bash(python:*)

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

python
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

python
# List all endpoint names
calls = eptr.get_available_calls()
print(calls)

2. Get Number of Calls

python
# Get count of available endpoints
count = eptr.get_number_of_calls()
print(f"Available endpoints: {count}")

3. Get Aliases

python
# 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

python
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

CategoryTurkishDescriptionExample Calls
GÖPGün Öncesi PiyasasıDay-Ahead Marketmcp, dam-clearing, dam-volume
GİPGün İçi PiyasasıIntraday Marketwap, idm-qty, idm-log
DGPDengeleme Güç PiyasasıBalancing Power Marketsmp, bpm-up, bpm-down
ÜretimÜretimGenerationrt-generation, uevm, dpp
TüketimTüketimConsumptionrt-cons, uecm, load-plan
DengesizlikDengesizlikImbalanceimbalance-price, imb-qty, imb-vol
İAİkili AnlaşmalarBilateral Contractsbi-long, bi-short
BarajlarBarajlarDams/Reservoirsdams-daily-level, dams-active-fullness
Kurulu GüçKurulu GüçInstalled Capacityinstalled-capacity, lic-pp-list

Common Endpoint Patterns

Price Data

  • mcp / ptf - Market Clearing Price
  • smp / smf - System Marginal Price
  • wap - Weighted Average Price (IDM)
  • imbalance-price - Imbalance prices

Quantity Data

  • rt-generation - Real-time generation
  • rt-cons - Real-time consumption
  • dam-clearing - DAM cleared quantity
  • idm-qty - IDM matched quantity

Plan Data

  • load-plan - Demand forecast
  • dpp / kgup - Daily production plan
  • kudup - Settlement production plan

Settlement Data

  • uevm - Settlement generation
  • uecm - Settlement consumption

Finding the Right Endpoint

Search by Keyword

python
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

python
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

python
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

ParameterTypeDescription
start_datestrStart date (YYYY-MM-DD)
end_datestrEnd date (YYYY-MM-DD)
org_idint/strOrganization ID
pp_idint/strPower plant ID
uevcb_idint/strProduction unit ID

Quick Reference Tables

Most Used Price Endpoints

CallDescription
mcpMarket Clearing Price
smpSystem Marginal Price
wapIDM Weighted Average Price
imbalance-priceImbalance prices
mcp-smp-imbCombined MCP, SMP, Imbalance

Most Used Quantity Endpoints

CallDescription
rt-generationReal-time generation by type
rt-consReal-time consumption
load-planDemand forecast
dam-clearingDAM cleared volume
idm-qtyIDM matched volume

Production Plan Endpoints

CallDescription
dpp / kgupDaily Production Plan (KGÜP)
kgup-v1KGUP Version 1
kudupSettlement Production Plan
uevmSettlement Generation (UEVM)

For More Details

  • See endpoint-categories.md for complete category listings
  • Run the helper script in scripts/list_endpoints.py for interactive discovery