- MDMB uses the Oauth2 for authorization. Software suppliers can use this link to request permission from MDMB users to trade on their behalf. This way you can easily and securely share data with the requesting party: Connect your software with Oauth
- At the bottom of this page, you'll find an example Postman collection (.json) containing the API calls supported by Mijn Data, Mijn Business (MDMB).
- The Swagger definition of the MDMB API can be found here.
- Using the MDMB API requires an API token. You can create these tokens on the settings page of MDMB. It is mandatory to include these tokens as headers in all requests.
Sending a report
Sending a report consists of three steps/API calls:
- Uploading the XBRL file (max 25 mb)
- Uploading attachments optionally (maximum 25 MB per attachment with a maximum of 150 MB in total incl. XBRL)
- Submitting the report
Uploading the XBRL file
For uploading the XBRL file, we use an HTTP multipart POST.
Request |
curl -i -X POST \ - H "x-api-key: $token" \ - H "Content-Type: multipart/form-data" \ - F "file=@valid.xbrl" \ https://acc.mijndatamijnbusiness.nl/api/reports |
Response |
{ "guid": "AMX5LQjUSyGhlFdIe71f-g", "filename": "valid.xbrl", "checksum": "14293581bf91d848a811708e7e120a9b87c389595e9752ded054fdc0c9b924e4", "cocNumber": null, "cocOrganizationName": null, "entryPoint": { "guid": "XSCXnm5nShutabIKHbcaPQ", "uri": "https://www.sbrnexus.nl/ft15/frc/20201211/entrypoints/frc-rpt-nt-inrichtingsjaarrekening-2020.xsd", "name": "FT15 nt-inrichtingsjaarrekening-2020" }, "sizeInBytes": 184831, "version": 0 } |
As a result, you will receive the generated report. This report includes the schema reference (entryPoint) of the file and the Chamber of Commerce number (cocNumber), once the coc is successfully validated. When submitting, reference to this report can be made by using the GUID from the result.
Uploading attachments
For certain message types, it's possible or necessary to include attachments as part of the submission. To determine which types and quantities are allowed, the message types need to be retrieved (see "Submitting Reports to the BIV").
Similar to the report submission, we use an HTTP multipart POST for uploading attachments.
Request |
curl -i -X POST \ -H "x-api-key: $token" \ -H "Content-Type: multipart/form-data" \ -F "file=@attachment.xbrl" \ https://acc.mijndatamijnbusiness.nl/api/attachments |
Response |
{ "guid": "--K3tyNmQ2mqEWZTWMMhiQ", "filename": "attachment.xbrl", "mimeType": "application/xml", "checksum": "14293581bf91d848a811708e7e120a9b87c389595e9752ded054fdc0c9b924e4", "version": 0, "sizeInBytes": 184831 } |
When submitting, reference to this attachment can be made using the GUID from the result.
Submitting the report
MDMB uses message types to indicate which type of report is sent to which receiving party. Message types represent different types of reports and are linked to allowed schema references (allowedEntryPoints) and receiving parties (allowedReceivers). This prevents accidentally submitting a report type to a receiving party that doesn't support it. Additionally, each message type has a maximum number of attachments that can be included in a submission (maximumNumberOfAttachments), and there are restrictions on the allowed types and quantities of attachments (allowedAttachments).
We retrieve the available message types using a GET request.
Request |
curl -i -H "x-api-key: $token" https://acc.mijndatamijnbusiness.nl/api/message-types |
Response |
[ { "guid": "fSXzCi52QrSWiwJv4DH7wg", "name": "Jaarrekening", "description": "Jaarrekening met OIN routering", "maximumNumberOfAttachments": 4, "allowedReceivers": [ { "receiver": { "guid": "AwvHWCDjQ3WmD7KCqRiZjA", "name": "Test Bank", "identityNumber": "00000000123456780000" }, "active": true }, (...) ], "allowedEntryPoints": [ { "entryPoint": { "guid": "XSCXnm5nShutabIKHbcaPQ", "uri": "https://www.sbrnexus.nl/ft15/frc/20201211/entrypoints/frc-rpt-nt-inrichtingsjaarrekening-2020.xsd", "name": "FT15 nt-inrichtingsjaarrekening-2020" }, "active": true }, (...) ], "allowedAttachments": [ { "dataType": "XBRL", "minimumNumberOfAttachments": 0, "maximumNumberOfAttachments": 4, "active": true }, (...) ], "active": true }, (...) ] |
The result contains many message types. This list will be updated at most once a day and can be cached for that period.
Now it is possible to send the message. We do this by creating a submission, called filing, with a POST request. Provide the submission reference using filing Reference.
Request |
curl -i -X POST -H "x-api-key: $token" -H "Content-Type: application/json" -d '{ "report": { "guid": "AMX5LQjUSyGhlFdIe71f-g" }, "attachments": [ { "guid": "--K3tyNmQ2mqEWZTWMMhiQ" } ], "filingReference": "Test aanlevering", "messageTypeGuid": "fSXzCi52QrSWiwJv4DH7wg", "receiver": { "guid": "AwvHWCDjQ3WmD7KCqRiZjA" } }' https://acc.mijndatamijnbusiness.nl/api/filings |
Response |
{ "guid": "mMeaU7cJR5C0LM8E80ZVKA", "report": { "guid": "AMX5LQjUSyGhlFdIe71f-g", "filename": "valid.xbrl", "checksum": "14293581bf91d848a811708e7e120a9b87c389595e9752ded054fdc0c9b924e4", "cocNumber": "30267975", "cocOrganizationName": null, "entryPoint": { "guid": "XSCXnm5nShutabIKHbcaPQ", "uri": "https://www.sbrnexus.nl/ft15/frc/20201211/entrypoints/frc-rpt-nt-inrichtingsjaarrekening-2020.xsd", "name": "FT15 nt-inrichtingsjaarrekening-2020" }, "sizeInBytes": 184831, "version": 1 }, "attachments": [ { "guid": "--K3tyNmQ2mqEWZTWMMhiQ", "filename": "attachment.xbrl", "mimeType": "application/xml", "checksum": "14293581bf91d848a811708e7e120a9b87c389595e9752ded054fdc0c9b924e4", "version": 0, "sizeInBytes": 184831 } ], "filingReference": "Test aanlevering", "receiver": { "guid": "AwvHWCDjQ3WmD7KCqRiZjA", "name": "Test Bank", "identityNumber": "00000000123456780000" }, "messageTypeGuid": "fSXzCi52QrSWiwJv4DH7wg", "createdBy": { "guid": "UZtTj1cATj6paTFfh0y1OQ", "organization": { "guid": "hX2SxdOaQpuFgbfPe9CLtg", "name": "Financiële Rapportages Coöperatief B.A.", "cocNumber": "34375187", "receiverGuid": null }, "firstName": "Test", "familyName": "Gebruiker", "email": "test.gebruiker@example.com", "termsAndConditionsAccepted": true, "receiveUpdates": false, "version": 0 }, "sentAt": "2021-02-24T09:24:29.107428Z", "externalReference": "BTA-210224-0000003", "bivFiledAt": "2021-02-24T10:24:28.986+01:00", "statusCode": "100", "statusType": "PENDING", "errorCode": null, "errorDescription": null, "version": 0 } |
The field externalReference contains the submission reference, and statusType indicates whether the submission has been successfully processed. The fields errorCode and errorDescription are filled if we cannot process the submission successfully.
The initial status of the submission will be returned as PENDING. With the following call, you can retrieve the current status. The response will correspond to the previous response.
curl -i -H "x-api-key: $token" https://acc.mijndatamijnbusiness.nl/api/filings/mMeaU7cJR5C0LM8E80ZVKA |
Below you will find an example Postman collection (.json) containing the API calls supported by Mijn Data, Mijn Business (MDMB):