Welcome to the Het Meetbedrijf API service

Examples

Make sure that you replace the YOUR_KEY variable in the examples below with your own API key.

Example requests are in blue.
Example responses are in orange.

Contents:

  1. Response formats
  2. Device list
  3. Device types
  4. Device authorisation stati
  5. Month values
  6. Day values
  7. Day detail values
  8. Metering time format
  9. Add EAN
  10. Delete EAN
  11. Client overview
  12. Add client
  13. Delete client
  14. Day data request

Back to top

1. Response formats

It is possible to specify the response format on all API requests by adding one of the following arguments pairs to the request URL. The default response format is XML.

.../format/  xml  
.../format/  json  
.../format/  csv  
Back to top

2. Device list - ../api/ean/list

Retrieves all devices that are available to your API key. In case of a multi-client API key the response will contain all devices the API key has been granted access for, from all accessible clients.

https://partner.hetmeetbedrijf.nl/api/ean/list/key/  YOUR_KEY  

Optional parameters

You can specify an optional device code parameter. In this case, only the device with this code will be retreived

.../code/  EAN_CODE  

Or you can specify an optional client parameter. In this case, only the devices available for CLIENT_ID will be retrieved
CLIENT_ID is one of the id fields from the ../client/list call.

.../client/  CLIENT_ID  

You can specify an optional active parameter.
Only list active devices providing data

.../active/  true  

Only list inactive devices providing no data

.../active/  false  
<xml>
<device>
    <id>9998</id>
    <ean>871234567890123456</ean>
    <eantype>KVBE</eantype>
    <meterId>BC233232j44444</meterId>
    <address>STADSTRAAT 111</address>
    <zip>9999AA</zip>
    <city>GRONINGEN</city>
    <rnb>Liander NWN</rnb>
    <laststatus>Intervalstanden van 10-09-2013 gepubliceerd</laststatus>
    <client>
        <id>1111</id>
        <name>Klant 1</name>
        <kvk>1234567890</kvk>
        <authorisation>MA00222</authorisation>
        <authorisationstatus>Getekend</authorisationstatus>
        <firstDataDate>2013-07-12</firstDataDate>
        <lastDataDate>2013-09-10</lastDataDate>
    </client>
    <client>
        <id>1112</id>
        <name>Klant 2</name>
        <kvk>2345678901</kvk>
        <authorisation>MA00233</authorisation>
        <authorisationstatus>Getekend</authorisationstatus>
        <firstDataDate>2013-07-12</firstDataDate>
        <lastDataDate>2013-09-10</lastDataDate>
    </client>
</device>
<device>
    <id>9999</id>
    <ean>871234567890123457</ean>
    <eantype>GVBG</eantype>
    <meterId>---</meterId>
    <address>PRINSENGRACHT 88</address>
    <zip>1111AA</zip>
    <city>AMSTERDAM</city>
    <rnb>Liander NWN</rnb>
    <laststatus>Intervalstanden van 10-09-2013 gepubliceerd</laststatus>
    <client>
        <id>1112</id>
        <name>Klant 2</name>
        <kvk>2345678901</kvk>
        <authorisation>MA00233</authorisation>
        <authorisationstatus>Getekend</authorisationstatus>
        <firstDataDate>2013-01-01</firstDataDate>
        <lastDataDate>2013-09-10</lastDataDate>
    </client>
...
...
...
Back to top

3. Device types - ../api/ean/eantype

Lists all device types (as given by the eantype in the device list)

https://partner.hetmeetbedrijf.nl/api/ean/eantype/key/  YOUR_KEY  
Back to top

4. Device authorisation stati - ../api/ean/authorisationstatus

Lists all device authorisation stati (as given by the authorisationstatus in the device list)

https://partner.hetmeetbedrijf.nl/api/ean/authorisationstatus/key/  YOUR_KEY  
Back to top

5. Month values - ../api/ean/monthvalues/..

This is possible by either using the device's id or by using the device's eancode;

https://partner.hetmeetbedrijf.nl/api/ean/monthvalues/id/  123  /key/  YOUR_KEY  
https://partner.hetmeetbedrijf.nl/api/ean/monthvalues/code/  871687400000000000  /key/  YOUR_KEY  

You can specify a specific period by adding a start and/or an end date:
You should use YYYYMMDD as the date format.

.../start/  20090101  /end/  20091231  
.../start/  20090101  
.../end/  20091231  

If the start and enddate are omitted, the API returns all known monthly readings from the last 12 months

<!-- Example for .../monthvalues/code/871234567890123456 (eanType KVBE) -->

<xml>
    <month>
        <year>2013</year>
        <month>11</month>
        <kwhConsReading>5901.0</kwhConsReading>
        <kwhConsLowReading>825.0</kwhConsLowReading>
        <kwhProdReading>0</kwhProdReading>
        <kwhProdLowReading>0</kwhProdLowReading>
    </month>
    <month>
        <year>2014</year>
        <month>01</month>
        <kwhConsReading>8901.0</kwhConsReading>
        <kwhConsLowReading>1025.0</kwhConsLowReading>
        <kwhProdReading>0</kwhProdReading>
        ...
    ...
<!-- Example for .../monthvalues/code/871234567890123457 (eanType GVBG) -->
<xml>
    <month>
        <year>2013</year>
        <month>11</month>
        <m3ConsReading>1123.1</m3hConsReading>
    </month>
    <month>
        <year>2014</year>
        <month>01</month>
        <m3ConsReading>1212.9</m3hConsReading>
        ...
    ...
Back to top

6. Day values - ../api/ean/dayvalues/..

This is possible by either using the device's id or by using the device's eancode;

https://partner.hetmeetbedrijf.nl/api/ean/dayvalues/id/  123  /key/  YOUR_KEY  
https://partner.hetmeetbedrijf.nl/api/ean/dayvalues/code/  871687400000000000  /key/  YOUR_KEY  

You can specify a specific period by adding a start and/or an end date:
You should use YYYYMMDD as the date format.

.../start/  20090101  /end/  20091231  
.../start/  20090101  
.../end/  20091231  

If the start and enddate are omitted, the API returns all known monthly readings from the last 30 days

<!-- Example for .../dayvalues/code/871234567890123456 (eanType KVBE) -->

<xml>
    <day>
        <date>2013-12-22</date>
        <kwhConsReading>5901.0</kwhConsReading>
        <kwhConsLowReading>825.0</kwhConsLowReading>
        <kwhProdReading>0</kwhProdReading>
        <kwhProdLowReading>0</kwhProdLowReading>
    </day>
    <day>
        <date>2013-12-23</date>
        <kwhConsReading>8901.0</kwhConsReading>
        <kwhConsLowReading>1025.0</kwhConsLowReading>
        <kwhProdReading>0</kwhProdReading>
        ...
    ...
<!-- Example for .../dayvalues/code/871234567890123457 (eanType GVBG) -->
<xml>
    <day>
        <date>2013-12-22</date>
        <m3ConsReading>1123.1</m3hConsReading>
    </day>
    <day>
        <date>2013-12-23</date>
        <m3ConsReading>1212.9</m3hConsReading>
        ...
    ...
Back to top

7. Day detail values - ../api/ean/innerdayvalues/..

Requesting interval based measurements for a specific day or period is possible by either using the device's id or by using the device's eancode.

https://partner.hetmeetbedrijf.nl/api/ean/innerdayvalues/code/  871234567890123456  /key/  YOUR_KEY  
https://partner.hetmeetbedrijf.nl/api/ean/innerdayvalues/id/  9999  /key/  YOUR_KEY  
<!-- Example for .../innerdayvalues/code/871234567890123456 (eanType KVBE) -->
<xml>
    <daydetail>
        <datetime>2013-01-15 00:00:00</datetime>
        <kwhCons>2.4621</kwhCons>
        <kwhConsreading>2134.2213</kwhConsreading>
        ...
        ...
    <daydetail>
        <datetime>2013-01-15 00:00:15</datetime>
        <kwhCons>1.2133</kwhCons>
        <kwhConsreading>2135.4346</kwhConsreading>
        ...
        ...
<!-- Example for .../innerdayvalues/code/871234567890123457 (eanType GVBG) -->
<xml>
    <daydetail>
        <datetime>2013-01-15 00:00:00</datetime>
        <m3Cons>0.3423</m3Cons>
        <m3Consreading>212.3434</m3Consreading>
        ...
        ...
    <daydetail>
        <datetime>2013-01-15 00:01:00</datetime>
        <m3Cons>0.2312</m3Cons>
        <m3Consreading>212.5746</m3Consreading>
        ...
        ...

By default, the API service will return the last 7 days. You can specify a specific period by adding a start and/or an end date:

.../start/  20130101  /end/  20130131  
.../start/  20130101  
.../end/  20131231  

Use YYYYMMDD as the date format.

Note: The maximum period in one request is limited to 60 days. If you need innerdayvalues for a larger period, please split your request in to multiple periods

Note: By default the first value for eg. 14 january 2013 is given with DateTime: 2013-01-14 00:00:00 . See section 6. Metering time format for more information on other formats.

Back to top

8. Metering time format - ../tf/[0-3]

By default the last value for eg. 21 january 2009 is given with DateTime: 2013-01-21 24:00:00 as of ISO 8601, because it contains the last value of that day,
if you prefer another format you can use one parameters below. Please keep in mind that as well the default as the .../tf/1 format have duplicate values on de Daylight Saving end date!

.../tf/0
<!-- Example for .../tf/0 -->
<xml>
    <daydetail>
        <datetime>2013-01-14 23:45:00</datetime>
        <kwhCons>3.1832</kwhCons>
        <kwhConsReading>2131.7592</kwhConsReading>
        ...
        ...
    <daydetail>
        <datetime>2013-01-14 24:00:00</datetime>
        <kwhCons>2.4621</kwhCons>
        <kwhConsReading>2134.2213</kwhConsReading>
        ...
        ...
  [DEFAULT]  
<!-- Example for .../tf/1  [DEFAULT] or no time format specified -->
<xml>
    <daydetail>
        <datetime>2013-01-14 23:45:00</datetime>
        <kwhCons>3.1832</kwhCons>
        <kwhConsReading>2131.7592</kwhConsReading>
        ...
        ...
    <daydetail>
        <datetime>2013-01-15 00:00:00</datetime>
        <kwhCons>2.4621</kwhCons>
        <kwhConsReading>2134.2213</kwhConsReading>
        ...
        ...
.../tf/2
<!-- Example for .../tf/2    UTC Datetime format -->
<xml>
    <daydetail>
        <datetime>2013-01-14T23:45:00+01:00</datetime>
        <kwhCons>3.1832</kwhCons>
        <kwhConsReading>2131.7592</kwhConsReading>
        ...
        ...
    <daydetail>
        <datetime>2013-01-15T00:00:00+01:00</datetime>
        <kwhCons>2.4621</kwhCons>
        <kwhConsReading>2134.2213</kwhConsReading>
        ...
        ...
.../tf/3
<!-- Example for .../tf/3    UNIX Timestamp  -->
<xml>
    <daydetail>
        <timestamp>1358203500</timestamp>
        <kwhCons>3.1832</kwhCons>
        <kwhConsReading>2131.7592</kwhCons>
        ...
        ...
    <daydetail>
        <timestamp>1358204400</timestamp>
        <kwhCons>2.4621</kwhCons>
        <kwhConsReading>2134.2213</kwhCons>
        ...
        ...
.../tf/4
<!-- Example for .../tf/4    UTC Datetime (UTC time is communicated)  -->
<xml>
    <daydetail>
        <datetime>2013-01-14 22:45:00</datetime>
        <kwhCons>3.1832</kwhCons>
        <kwhConsReading>2131.7592</kwhConsReading>
        ...
        ...
    <daydetail>
        <datetime>2013-01-14 23:00:00</datetime>
        <kwhCons>2.4621</kwhCons>
        <kwhConsReading>2134.2213</kwhConsReading>
        ...
        ...
Back to top

9. Add EAN - ../ean/add/..

Adds an EAN to an existing client.

https://partner.hetmeetbedrijf.nl/api/ean/add/client/  CLIENT_ID  /code/  EAN_CODE  /eantype/  EAN_TYPE  /key/  YOUR_KEY  

CLIENT_ID is one of the id fields from the ../client/list call.
EAN_TYPE is one of the eantype fields from the ../ean/eantype call.

If the eantype is KVBE or KVBG and the optional vko parameter is omitted, the meterid parameter has to be supplied to correctly validate that the client is authorized to view the readingdata.

../meterid/  METER_ID  
METER_ID contains the last 8 numeric digits of the smart meter number at the location where the EAN is measured. These digits will be validated against the output from a call to the P4 system. In case of successful validation, the EAN will be granted access to the readingdata for the specified client and will be added to a virtually signed authorisation.

If you want to skip meterId checking and plan to manually upload a signed authorisation on paper, you can specify ../meterid/ paper

Optional parameters

If you are authorized by Ealyze to use VKO, you can provide this parameter to skip meterid validation and apply for 2-monthly readings of a KVBE or KVBG eantype
../vko/  true  
To be sure the system finds the EAN, provide a zipcode, streetnumber and, in case the address contains a streetnumber extension: an extension:
../zip/  ZIP_CODE  /streetnumber/  STREETNUMBER     .../extension/  EXTENSION     (not mandatory)  

By default the start date for readingdata will be the date this call is invoked. Optionally you can provide a different startdate:

../start/  YYYYMMDD  
<!-- Example for .../ean/add/client/9999/code/973266366322233112/eantype/KVBE/meterid/92822 -->
<ean>
  <id>1234</id>
  <code>973266366322233112</code>
  <authorisationstatus>Validatie in behandeling</authorisationstatus>
</ean>
Back to top

10. Delete EAN - ../ean/delete/..

Deletes an EAN to from existing client.

https://partner.hetmeetbedrijf.nl/api/ean/delete/client/  CLIENT_ID  /code/  EAN_CODE  /key/  YOUR_KEY  

CLIENT_ID is one of the id fields from the ../client/list call.


<!-- Example for .../ean/delete/client/9999/code/973266366322233112 -->
<ean>
  <id>1234</id>
  <code>973266366322233112</code>
  <status>Verwijderd</status>
</ean>
Back to top

11. Client overview - ../client/list/..

Retrieve a list of all clients in your account, including authorisations and EANs per authorisation.

https://partner.hetmeetbedrijf.nl/api/client/list/key/  YOUR_KEY  
Example of output:
<clients>
  <client>
    <id>999</id>
    <name>Klant BV</name>
    <kvk>1234567890</kvk>
    <address>Voorbeeldweg 58</address>
    <zip>1111AA</zip>
    <city>Amsterdam</city>
    <authorisations>
      <authorisation>
        <number>MA9999</number>
        <status>Getekend</status>
        <eans>
          <ean>871234567891234567</ean>
          ...
        </eans>
      </authorisation>
      ...
    </authorisations>
  </client>
  ...
</clients>
Back to top

12. Add client - ../client/add/..

Add a client to your account. To correctly function, url encode the client details

https://partner.hetmeetbedrijf.nl/api/client/add/name/  CLIENT_NAME  /address/  ADDRESS  /zip/  ZIP_CODE  /city/  CITY  /key/  YOUR_KEY  

Optional parameters

You can specify an optional client parameters to add more information to the client:

Kvk number

.../kvk/  KVK_NUMBER  
Name of the contact person in the clients organisation
.../contactname/  CONTACT_NAME  
Email address of the contact person in the clients organisation
.../contactemail/  CONTACT_EMAIL  
Name of the authorized sign person in the clients organisation
.../signname/  SIGN_NAME  
Position of the authorized sign person in the clients organisation
.../signposition/  SIGN_POSITION  

Example of output:
<!-- Example for .../client/add/name/Klant%20BV/address/Dorpsstraat%201/zip/1234AA/city/Amsterdam -->
<client>
  <id>9999</id>
  <name>Klant BV</name>
  <address>Dorpsstraat 1</address>
  <zip>1234AA</zip>
  <city>Amsterdam</city>
</client>
Back to top

13. Delete client - ../client/delete/..

Delete a client from your account.

CLIENT_ID is one of the id fields from the ../client/list call.

https://partner.hetmeetbedrijf.nl/api/client/delete/id/  CLIENT_ID  /key/  YOUR_KEY  
Example of output:
<!-- Example for .../client/delete/id/9999 -->
<client>
  <id>9999</id>
  <name>Klant BV</name>
  <status>Removed</status>
</client>
Back to top

14. Day data request - ../request/day/..

Make a day data request for a KVBE or KVBG EAN in your account. This request can be for a maximum of 30 days in the past. Future days are allowed.

EAN EAN Code.

https://partner.hetmeetbedrijf.nl/api/ean/requestdayvalues/code/  EAN_CODE  /date/  YYYYMMDD  /key/  YOUR_KEY  
Example of output:
<!-- Example for ../ean/requestdayvalues/code/871234567890123456/date/20170101 -->
<ean>
  <id>9999</id>
  <eanCode>871234567890123456</id>
  <status>Dayrequest for 2017-01-01 queued</status>
</ean>
In case the dayvalues are (already) present in the system the output wil be the same as the .../dayvalues/ request:
<day>
  <date>2017-01-01</date>
  <kwhConsReading>5901.0</kwhConsReading>
  <kwhConsLowReading>825.0</kwhConsLowReading>
  <kwhProdReading>0</kwhProdReading>
  <kwhProdLowReading>0</kwhProdLowReading>
</day>