{
  "openapi": "3.0.0",
  "info": {
    "title": "Calorific Values API",
    "description": "Als klant betaal je niet voor de hoeveelheid gas (kubieke meters) die je gebruikt, maar voor de\nenergie die in het gas zit. De hoeveelheid energie wordt bepaald door de calorische waarde van\nhet gas. De calorische waarde is per netgebied en per periode verschillend. Voor de bepaling van\nde af te rekenen hoeveelheid energie wordt met de calorische waarde een correctie toegepast op\nde hoeveelheid gas. Via deze API kun je de calorische waarden van de aansluiting in het\nbetreffend gebied of voor een bepaalde periode downloaden ter controle van de energiefactuur. De\ngegevens worden beschikbaar gesteld door de Regionale Netbeheerders en worden maandelijks op de\n7e werkdag van de maand bijgewerkt. De gewogen gemiddelde calorische uurwaarden worden gebruikt\nin de verbruiksbepaling voor grootverbruikaansluitingen met profielcategorie GXX en GGV.\n",
    "contact": {
      "name": "EDSN",
      "url": "https://www.edsn.nl/",
      "email": "servicedesk@edsn.nl"
    },
    "version": "2.0.0"
  },
  "servers": [
    {
      "url": "https://b2b.gateway.edsn.nl/metering/v1",
      "description": "Productie server",
      "variables": {}
    },
    {
      "url": "https://b2b.gateway-acc.edsn.nl/metering/v1",
      "description": "Acceptatie server",
      "variables": {}
    },
    {
      "url": "https://b2b.gateway-tst.edsn.nl/metering/v1",
      "description": "Integratie test server",
      "variables": {}
    }
  ],
  "paths": {
    "/gridareacalorificvalues": {
      "get": {
        "tags": [
          "Get Calorific Values"
        ],
        "summary": "getGridAreaCalorificValues",
        "description": "",
        "operationId": "getGridAreaCalorificValues",
        "parameters": [
          {
            "name": "gridArea",
            "in": "query",
            "description": "De EAN18 van het netgebied. Wanneer deze waarde gevuld is zal alleen de data voor dit netgebied teruggeven worden. \nWanneer deze parameter niet meegegeven wordt, dan zal de data voor alle netgebieden teruggegeven worden.",
            "style": "form",
            "explode": true,
            "schema": {
              "maxLength": 18,
              "minLength": 18,
              "pattern": "^\\d{18}$",
              "type": "string",
              "example": "123456789012345678"
            }
          },
          {
            "name": "startMonth",
            "in": "query",
            "description": "De beginmaand van de periode waarover data opgevraagd wordt. Het formaat van deze parameter is YYYY-MM.",
            "required": true,
            "style": "form",
            "explode": true,
            "schema": {
              "maxLength": 7,
              "minLength": 7,
              "pattern": "^\\d{4}-\\d{2}$",
              "type": "string",
              "example": "2020-01"
            }
          },
          {
            "name": "endMonth",
            "in": "query",
            "description": "De eindmaand van de periode waarover data opgevraagd wordt. Wanneer de data voor alle\nnetgebieden wordt opgevraagd dan is deze parameter verplicht en is de opvraag periode\nmaximaal 1 maand. In het geval dat deze parameter optioneel is en niet meegegeven wordt in\nhet verzoek, dan zal de huidige maand gebruikt worden.",
            "style": "form",
            "explode": true,
            "schema": {
              "maxLength": 7,
              "minLength": 7,
              "pattern": "^\\d{4}-\\d{2}$",
              "type": "string",
              "example": "2021-01"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Verzoek successvol verwerkt.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GridArea"
                  },
                  "description": ""
                }
              }
            }
          },
          "400": {
            "description": "Wanneer het verzoek onvolledig is of de inhoud van de parameters onjuist is.",
            "headers": {},
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ErrorResponse"
                  },
                  "description": ""
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "components": {
    "schemas": {
      "GridArea": {
        "title": "GridArea",
        "type": "object",
        "properties": {
          "gridArea": {
            "maxLength": 18,
            "minLength": 18,
            "pattern": "^\\d{18}$",
            "type": "string",
            "description": "De EAN18 van het netgebied.",
            "example": "123456789012345678"
          },
          "calorificValues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CalorificValue"
            },
            "description": ""
          }
        },
        "description": "Een object met een lijst van calorische uurwaarden per netgebied. Als er geen data aanwezig is voor de opgevraagde periode of netgebied zal er een lege lijst worden teruggegeven."
      },
      "CalorificValue": {
        "title": "CalorificValue",
        "type": "object",
        "properties": {
          "value": {
            "multipleOf": 1E-06,
            "type": "number",
            "description": "De calorische uurwaarde in MJ/m^3.",
            "example": 35.123456
          },
          "dateTime": {
            "type": "string",
            "description": "De starttijd van het uur waarvoor de calorische uurwaarde geldig is. Het resultaat is een ISO 8601-formaat (Europa/Amsterdam) op het uur nauwkeurig.",
            "format": "date-time",
            "example": "2021-01-01T13:00:00+01:00"
          }
        }
      },
      "ErrorResponse": {
        "title": "ErrorResponse",
        "required": [
          "error"
        ],
        "type": "object",
        "properties": {
          "error": {
            "type": "string",
            "description": "Mogelijke foutcodes\n- missing_required_parameter bijv. wanneer een verplichte parameter ontbreekt in het vezoek.\n- invalid_period bijv. wanneer de opgegeven periode (startMonth / endMonth) geen geldige periode is.\n- invalid_parameter_value bijv. wanneer de waarde van een parameter niet het juiste formaat of inhoud heeft."
          },
          "errorDescription": {
            "type": "string"
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Get Calorific Values",
      "description": ""
    }
  ]
}