{"openapi":"3.0.3","info":{"title":"Gnist Context — Hvakosterstrommen (Electricity Prices)","description":"Norwegian electricity spot prices and day-ahead market data.\n\n- **MCP endpoint:** `https://context.gnist.ai/mcp/hvakosterstrommen/`\n- **Toolkit page:** `/toolkits/hvakosterstrommen`\n- **Full API spec:** `/api/openapi.json`\n- **Get an API key:** `/signup`","version":"1.0.0","contact":{"name":"GnistAI","url":"https://gnist.ai"}},"servers":[{"url":"https://context.gnist.ai","description":"Production"}],"paths":{"/rest/hvakosterstrommen/get_current_electricity_price":{"post":{"tags":["Finance"],"summary":"get_current_electricity_price","description":"Get the current hour's spot electricity price for a Nordpool price zone.\n\nArgs:\n    zone: Nordpool price zone (e.g. 'NO1' for Oslo/East Norway). Valid zones: NO1, NO2, NO3, NO4, NO5, SE1, SE2, SE3, SE4, DK1, DK2, FI.\n\nReturns:\n    Dictionary with time_start, time_end, nok_per_kwh, eur_per_kwh, and exchange_rate.","operationId":"hvakosterstrommen_get_current_electricity_price","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"zone":{"description":"Nordpool price zone (e.g. 'NO1' for Oslo/East Norway). Valid zones: NO1, NO2, NO3, NO4, NO5, SE1, SE2, SE3, SE4, DK1, DK2, FI.","type":"string"}},"required":["zone"],"type":"object"}}}}}},"/rest/hvakosterstrommen/get_electricity_prices_today":{"post":{"tags":["Finance"],"summary":"get_electricity_prices_today","description":"Get all 24 hourly electricity spot prices for today in a Nordpool price zone.\n\nIncludes summary statistics: cheapest hour, most expensive hour, min/max/avg prices.\n\nArgs:\n    zone: Nordpool price zone (e.g. 'NO1' for Oslo/East Norway). Valid zones: NO1, NO2, NO3, NO4, NO5, SE1, SE2, SE3, SE4, DK1, DK2, FI.\n\nReturns:\n    Dictionary with date, count, cheapest_hour, most_expensive_hour, min/max/avg prices, and hourly prices list.","operationId":"hvakosterstrommen_get_electricity_prices_today","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"zone":{"description":"Nordpool price zone (e.g. 'NO1' for Oslo/East Norway). Valid zones: NO1, NO2, NO3, NO4, NO5, SE1, SE2, SE3, SE4, DK1, DK2, FI.","type":"string"}},"required":["zone"],"type":"object"}}}}}},"/rest/hvakosterstrommen/get_electricity_prices_tomorrow":{"post":{"tags":["Finance"],"summary":"get_electricity_prices_tomorrow","description":"Get day-ahead electricity spot prices for tomorrow in a Nordpool price zone.\n\nDay-ahead prices are published around 13:00 CET. Returns an error if not yet available.\n\nArgs:\n    zone: Nordpool price zone (e.g. 'NO1' for Oslo/East Norway). Valid zones: NO1, NO2, NO3, NO4, NO5, SE1, SE2, SE3, SE4, DK1, DK2, FI.\n\nReturns:\n    Dictionary with date, count, cheapest_hour, most_expensive_hour, min/max/avg prices, and hourly prices list.","operationId":"hvakosterstrommen_get_electricity_prices_tomorrow","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"zone":{"description":"Nordpool price zone (e.g. 'NO1' for Oslo/East Norway). Valid zones: NO1, NO2, NO3, NO4, NO5, SE1, SE2, SE3, SE4, DK1, DK2, FI.","type":"string"}},"required":["zone"],"type":"object"}}}}}},"/rest/hvakosterstrommen/get_cheapest_electricity_window":{"post":{"tags":["Finance"],"summary":"get_cheapest_electricity_window","description":"Find the cheapest consecutive block of hours for electricity across today and tomorrow.\n\nIdeal for scheduling EV charging, appliances, or heat pumps to minimize cost.\nTomorrow's prices are included if available (published ~13:00 CET).\n\nArgs:\n    zone: Nordpool price zone (e.g. 'NO1'). Valid zones: NO1–NO5, SE1–SE4, DK1–DK2, FI.\n    duration_hours: Number of consecutive hours needed (1–24).\n    not_before: ISO 8601 datetime — only consider hours at or after this time (e.g. '2026-03-13T22:00:00+01:00').\n    not_after: ISO 8601 datetime — only consider hours ending at or before this time (e.g. '2026-03-14T07:00:00+01:00').\n\nReturns:\n    Dictionary with window_start, window_end, avg_nok_per_kwh, total_nok_per_kwh, and individual hour prices.","operationId":"hvakosterstrommen_get_cheapest_electricity_window","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"zone":{"description":"Nordpool price zone (e.g. 'NO1'). Valid zones: NO1–NO5, SE1–SE4, DK1–DK2, FI.","type":"string"},"duration_hours":{"description":"Number of consecutive hours needed (1–24).","type":"integer"},"not_before":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"ISO 8601 datetime — only consider hours at or after this time (e.g. '2026-03-13T22:00:00+01:00')."},"not_after":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"ISO 8601 datetime — only consider hours ending at or before this time (e.g. '2026-03-14T07:00:00+01:00')."}},"required":["zone","duration_hours"],"type":"object"}}}}}},"/rest/hvakosterstrommen/get_electricity_price_history":{"post":{"tags":["Finance"],"summary":"get_electricity_price_history","description":"Get historical hourly electricity spot prices for the past N days.\n\nArgs:\n    zone: Nordpool price zone (e.g. 'NO1'). Valid zones: NO1–NO5, SE1–SE4, DK1–DK2, FI.\n    days: Number of past days to include (1–30, default 7).\n\nReturns:\n    Dictionary with zone, days, count, and a flat list of all hourly prices in chronological order.","operationId":"hvakosterstrommen_get_electricity_price_history","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"zone":{"description":"Nordpool price zone (e.g. 'NO1'). Valid zones: NO1–NO5, SE1–SE4, DK1–DK2, FI.","type":"string"},"days":{"default":7,"description":"Number of past days to include (1–30, default 7).","type":"integer"}},"required":["zone"],"type":"object"}}}}}},"/rest/hvakosterstrommen/get_electricity_zone_for_location":{"post":{"tags":["Finance"],"summary":"get_electricity_zone_for_location","description":"Resolve geographic coordinates to the nearest Nordpool electricity price zone.\n\nUses straight-line distance to approximate zone centers. Works for Norway, Sweden, Denmark, and Finland.\n\nArgs:\n    lat: Latitude (decimal degrees).\n    lon: Longitude (decimal degrees).\n\nReturns:\n    Dictionary with zone (e.g. 'NO1') and distance_km to the zone center.","operationId":"hvakosterstrommen_get_electricity_zone_for_location","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"lat":{"description":"Latitude (decimal degrees).","type":"number"},"lon":{"description":"Longitude (decimal degrees).","type":"number"}},"required":["lat","lon"],"type":"object"}}}}}},"/rest/hvakosterstrommen/report_feedback":{"post":{"tags":["Finance"],"summary":"report_feedback","description":"Report a bug, feature request, or general feedback for this data source.\n\nUse this when something doesn't work as expected, when you'd like\na new feature, or when you have suggestions for improvement.\n\nArgs:\n    feedback: Describe the issue or suggestion.\n    feedback_type: One of 'bug', 'feature_request', or 'general'.","operationId":"hvakosterstrommen_report_feedback","responses":{"200":{"description":"Successful tool call","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Server or tool not found"},"500":{"description":"Tool execution error"}},"security":[{"ApiKeyHeader":[]},{"ApiKeyQuery":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"feedback":{"type":"string"},"feedback_type":{"default":"general","type":"string"}},"required":["feedback"],"type":"object"}}}}}}},"tags":[{"name":"Finance","description":"Data sources: Finance"}],"components":{"securitySchemes":{"ApiKeyHeader":{"type":"apiKey","in":"header","name":"gnist-api-key","description":"API key passed via request header."},"ApiKeyQuery":{"type":"apiKey","in":"query","name":"gnist_api_key","description":"API key passed via query parameter."}}}}