{
  "openapi": "3.0.0",
  "info": {
    "title": "Calorific Conversion Factors 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. \nDe gegevens worden beschikbaar gesteld door de Regionale Netbeheerders en worden maandelijks op\nde 7e werkdag van de maand bijgewerkt. De maandgemiddelde calorische omrekenfactor wordt\ngebruikt in de verbruiksbepaling voor alle kleinverbruikaansluitingen en\ngrootverbruikaansluitingen met profielcategorie G2C.\n",
    "contact": {
      "name": "EDSN",
      "url": "https://www.edsn.nl/",
      "email": "servicedesk@edsn.nl"
    },
    "version": "3.0.0",
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "x-date": "01-06-2021"
  },
  "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": {
    "/gridareacalorificconversionfactors": {
      "get": {
        "tags": [
          "CalorificConversionFactors"
        ],
        "summary": "getGridAreaCalorificConversionFactors",
        "description": "",
        "operationId": "getGridAreaCalorificConversionFactors",
        "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. Deze waarde is optioneel en wanneer\ndeze niet meegegeven wordt, dan zal de huidige maand gebruikt worden. Het formaat van deze parameter is YYYY-MM.",
            "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": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "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"
          },
          "calorificConversionFactors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CalorificConversionFactor"
            },
            "description": ""
          }
        }
      },
      "CalorificConversionFactor": {
        "title": "CalorificConversionFactor",
        "type": "object",
        "properties": {
          "value": {
            "multipleOf": 0.000000001,
            "description": "De calorische omrekenfactor voor de gasmaand.",
            "format": "double",
            "example": 0.123456789
          },
          "yearMonth": {
            "maxLength": 7,
            "minLength": 7,
            "pattern": "^\\d{4}-\\d{2}$",
            "type": "string",
            "description": "De gasmaand waar de calorische omrekenfactor betrekking op heeft in YYYY-MM formaat.",
            "example": "2021-01"
          }
        }
      },
      "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.",
            "example": "missing_required_parameter"
          },
          "errorDescription": {
            "type": "string",
            "example": "Missing required parameter 'startMonth'"
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "CalorificConversionFactors",
      "description": ""
    }
  ]
}