{
  "openapi": "3.0.3",
  "info": {
    "title": "profile-fractions-series",
    "description": "# API Version - 1.0.0\nThis is a REST API for requesting dynamic profile fractions or standard profile fractions.\n\nRequesting dynamic profile fractions:\n1. The latest version of dynamic profile fractions per calendar day, for all network areas and all relevant profile categories;\nor\n2. The latest version of dynamic profile fractions over a maximum of 31 calendar days, for one network area for all relevant profile categories.\n\nExample: request URL for dynamic profile fractions for domain 123456789012345678 and calendar date 2022-12-10:\n\n../energyvalues/profile-fractions-series/v1/profile-fractions?domain=123456789012345678&enddate=2022-12-11&pftype=DYNAMIC&product=023&startdate=2022-12-10\n\nRequesting standard profile fractions:\n1. The latest version of standard profile fractions over a maximum of 31 calendar days, for all profile categories.\n\nExample: request URL for standard profile fractions for the month december 2022:\n\n../energyvalues/profile-fractions-series/v1/profile-fractions?enddate=2023-01-01&pftype=STANDARD&product=023&startdate=2022-12-01\n# Release History\n\n## 1.0.0 (17-12-2021)\nApproved final version\n\n## 0.9.9 (15-11-2021)\nDraft version for approval by NEDU TC/NEDU API WG and NEDU WG C1\n\n## 0.9.0 (21-10-2021)\nDraft version for review by NEDU TC/NEDU API WG and NEDU WG C1\n",
    "termsOfService": "https://www.nedu.nl/documenten/codewijzigingsvoorstellen/",
    "contact": {
      "name": "EDSN",
      "url": "https://www.edsn.nl",
      "email": "servicedesk@edsn.nl"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0"
    },
    "version": "1.0",
    "x-releaseDate": "17-12-2021"
  },
  "servers": [
    {
      "url": "{protocol}://{env}.api.mf.energysector.nl/energyvalues/profile-fractions-series/v1",
      "variables": {
        "env": {
          "default": "tst",
          "enum": [
            "tst",
            "acc",
            "dev",
            "prd"
          ]
        },
        "protocol": {
          "default": "https"
        }
      }
    }
  ],
  "tags": [
    {
      "name": "profile-fractions",
      "description": "Dynamic profile fractions and standard profile fractions"
    }
  ],
  "paths": {
    "/profile-fractions": {
      "get": {
        "tags": [
          "profile-fractions"
        ],
        "deprecated": false,
        "operationId": "getProfileFractions",
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "deprecated": false,
            "allowReserved": false,
            "style": "form",
            "schema": {
              "type": "string",
              "minLength": 18,
              "maxLength": 18,
              "pattern": "[0-9]{18}"
            }
          },
          {
            "name": "enddate",
            "in": "query",
            "required": true,
            "deprecated": false,
            "allowReserved": false,
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "pftype",
            "in": "query",
            "required": true,
            "deprecated": false,
            "allowReserved": false,
            "style": "form",
            "schema": {
              "type": "string",
              "enum": [
                "DYNAMIC",
                "STANDARD"
              ]
            }
          },
          {
            "name": "product",
            "in": "query",
            "required": true,
            "deprecated": false,
            "allowReserved": false,
            "style": "form",
            "schema": {
              "type": "string",
              "enum": [
                "023"
              ]
            }
          },
          {
            "name": "startdate",
            "in": "query",
            "required": true,
            "deprecated": false,
            "allowReserved": false,
            "style": "form",
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProfileFraction_Series"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemBaseType"
                },
                "examples": {
                  "Example__V0j1zElzyR": {
                    "$ref": "#/components/examples/Example__V0j1zElzyR"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemBaseType"
                },
                "examples": {
                  "Example__Dv04OVYxCX": {
                    "$ref": "#/components/examples/Example__Dv04OVYxCX"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemBaseType"
                },
                "examples": {
                  "Example__ITdsEOr7l0": {
                    "$ref": "#/components/examples/Example__ITdsEOr7l0"
                  }
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemBaseType"
                },
                "examples": {
                  "Example__EHcwfNWpAp": {
                    "$ref": "#/components/examples/Example__EHcwfNWpAp"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Unprocessable Entity",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemBaseType"
                },
                "examples": {
                  "Example__Dpq8E6NtVd": {
                    "$ref": "#/components/examples/Example__Dpq8E6NtVd"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemBaseType"
                },
                "examples": {
                  "Example__RyUvqgW1wV": {
                    "$ref": "#/components/examples/Example__RyUvqgW1wV"
                  }
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemBaseType"
                },
                "examples": {
                  "Example__FonHHLsDYb": {
                    "$ref": "#/components/examples/Example__FonHHLsDYb"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "examples": {
      "Example__Dpq8E6NtVd": {
        "value": {
          "status": {
            "type": "422"
          },
          "title": {
            "type": "Unprocessable Entity"
          },
          "type": {
            "type": "https://datatracker.ietf.org/doc/html/rfc4918#section-11.2"
          }
        }
      },
      "Example__Dv04OVYxCX": {
        "value": {
          "status": {
            "type": "401"
          },
          "title": {
            "type": "Unauthorized"
          },
          "type": {
            "type": "https://datatracker.ietf.org/doc/html/rfc7235#section-3.1"
          }
        }
      },
      "Example__EHcwfNWpAp": {
        "value": {
          "status": {
            "type": "404"
          },
          "title": {
            "type": "Not Found"
          },
          "type": {
            "type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.4"
          }
        }
      },
      "Example__FonHHLsDYb": {
        "value": {
          "status": {
            "type": "503"
          },
          "title": {
            "type": "Service Unavailable"
          },
          "type": {
            "type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.6.4"
          }
        }
      },
      "Example__ITdsEOr7l0": {
        "value": {
          "status": {
            "type": "403"
          },
          "title": {
            "type": "Forbidden"
          },
          "type": {
            "type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.3"
          }
        }
      },
      "Example__RyUvqgW1wV": {
        "value": {
          "status": {
            "type": "500"
          },
          "title": {
            "type": "Internal Server Error"
          },
          "type": {
            "type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.6.1"
          }
        }
      },
      "Example__V0j1zElzyR": {
        "value": {
          "status": {
            "type": "400"
          },
          "title": {
            "type": "Bad Request"
          },
          "type": {
            "type": "https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1"
          }
        }
      }
    },
    "schemas": {
      "DateAndOrTime": {
        "title": "DateAndOrTime",
        "description": "The Date and or the Time.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "startDateTime": {
            "title": "DateTimeType",
            "description": "Start date/time of the period as per ISO 8601 YYYY-MM-DDThh:mm:ssZ.",
            "example": "2021-10-10T22:00:00Z",
            "type": "string",
            "format": "date-time"
          },
          "endDateTime": {
            "title": "DateTimeType",
            "description": "End date/time of the period as per ISO 8601 YYYY-MM-DDThh:mm:ssZ.",
            "example": "2021-10-11T22:00:00Z",
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "startDateTime",
          "endDateTime"
        ]
      },
      "Detail_Series": {
        "title": "Detail_Series",
        "description": "The identification of the period of time corresponding to a given time interval and resolution.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "direction": {
            "title": "FlowDirectionCode",
            "description": "The coded identification of the direction of energy flow.",
            "example": "E17",
            "type": "string",
            "enum": [
              "E17",
              "E18"
            ]
          },
          "calendar_date": {
            "title": "DateType",
            "description": "Date as per ISO 8601 YYYY-MM-DD.",
            "example": "2021-10-11",
            "type": "string",
            "format": "date"
          },
          "domain_mRID": {
            "title": "GSRNEANCodeType",
            "description": "The unique identification of the domain.",
            "example": "8745678945612345",
            "type": "string",
            "minLength": 18,
            "maxLength": 18,
            "pattern": "[0-9]{18}"
          },
          "PointList": {
            "title": "PointListType",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Point"
            },
            "minItems": 1
          },
          "pFdate_version": {
            "title": "DateTimeType",
            "description": "Date/time stamp of the calculation or fixation for the profile fractions time series as per ISO 8601 YYYY-MM-DDThh:mm:ssZ.",
            "example": "2021-10-12T07:45:00Z",
            "type": "string",
            "format": "date-time"
          },
          "profileCategory": {
            "title": "ProfileCategoryCode",
            "description": "The identification of the profile category that is the common denominator used to aggregate a time series. The full attribute name profileCategory_objectAggregation is because of efficiency changed into profileCategory.",
            "example": "E1A",
            "type": "string",
            "enum": [
              "E1A",
              "E1B",
              "E1C",
              "E2A",
              "E2B",
              "E3A",
              "E3B",
              "E3C",
              "E3D",
              "E4A"
            ]
          },
          "determinedConsumption": {
            "title": "DeterminedEnergyConsumptionCode",
            "description": "The identification of the determined energy consumption that is the common denominator used to aggregate a time series. The full attribute name determinedEnergyConsumption_objectAggregation is because of efficiency changed into determinedConsumption.",
            "example": "AMI",
            "type": "string",
            "enum": [
              "AMI",
              "AZI"
            ]
          },
          "resolution": {
            "title": "ResolutionCode",
            "description": "The definition of the number of units of time that compose an individual step within a period.",
            "example": "PT15M",
            "type": "string",
            "enum": [
              "PT15M"
            ]
          },
          "profileStatus_quality": {
            "title": "ProfileTypeCode",
            "description": "The quality of the information being provided.",
            "example": "DYN",
            "type": "string",
            "enum": [
              "DYN",
              "FBR",
              "FBL",
              "STD"
            ]
          }
        },
        "required": [
          "pFdate_version",
          "profileCategory",
          "resolution",
          "profileStatus_quality",
          "calendar_date",
          "direction",
          "PointList"
        ]
      },
      "Point": {
        "title": "Point",
        "description": "The identification of the values being addressed within a specific interval of time.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "pos": {
            "title": "NumericType",
            "description": "A sequential value representing the relative position within a given time interval. The full attribute name position is because of efficiency changed into pos.",
            "example": "1",
            "type": "number"
          },
          "qnt": {
            "title": "QuantityType",
            "description": "The principal quantity or the accepted offer quantity identified for a point. The full attribute name quantity is because of efficiency changed into qnt.",
            "example": "0.00000100",
            "type": "number"
          }
        },
        "required": [
          "pos",
          "qnt"
        ]
      },
      "ProblemBaseType": {
        "title": "ProblemBaseType",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "status": {
            "title": "CodeType",
            "type": "string"
          },
          "title": {
            "title": "NameType",
            "type": "string"
          },
          "type": {
            "title": "URIType",
            "type": "string"
          }
        },
        "required": [
          "status",
          "title",
          "type"
        ]
      },
      "ProfileFraction_Series": {
        "title": "ProfileFraction_Series",
        "description": "A set of time-ordered quantities being exchanged in relation to a product. In the ESMP profile, the TimeSeries provides not only time-ordered quantities but also time-ordered information.",
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "DateAndOrTime": {
            "$ref": "#/components/schemas/DateAndOrTime"
          },
          "Detail_SeriesList": {
            "title": "Detail_SeriesListType",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Detail_Series"
            },
            "minItems": 1
          },
          "mRID": {
            "title": "IdentifierType",
            "description": "A unique identification of the profile fractions time series.",
            "example": "e3d5ced9-3b0a-4e46-ba55-4cad6cdf2e56",
            "type": "string"
          },
          "pFType_version": {
            "title": "ProfileFractionTypeCode",
            "description": "The identification of the type of the profile fractions time series. The full attribute name profileFractionType_version is because of efficiency changed into pFType_version.",
            "example": "DYNAMIC",
            "type": "string",
            "enum": [
              "DYNAMIC",
              "STANDARD"
            ]
          },
          "product": {
            "title": "ProductCode",
            "description": "The identification of the energy product (electricity, gas etc.), from ebIX Code list incl. additional zero (electricity is 023).",
            "example": "023",
            "type": "string",
            "enum": [
              "023"
            ]
          }
        },
        "required": [
          "mRID",
          "pFType_version",
          "product",
          "DateAndOrTime",
          "Detail_SeriesList"
        ]
      }
    }
  }
}