Madaster Private API API Reference

Welcome to the Madaster Private API endpoint. This endpoint can be used to interact with the Madaster Platform and its resources. This API does not fully cover all functionality of the platform yet, please see below for the available functions and what they can be used for. For detailed information about the platform and this API, please refer to the Madaster Documentation or the Madaster API Documentation.

To access these resources, you need an authorization token. If you do not have one yet, see the chapter about Authorization in the API documentation. This token should be sent as a header with the name 'X-API-Key', which will authenticate the request with the token. The documentation below specifies which requests are available and which responses they might produce.

This API can be reached at the endpoint: https://api.madaster.com/
The interactive Swagger/OpenAPI documentation can be found at: https://api.madaster.com/swagger
If you prefer a static documentation: https://docs.madaster.com/api-docs

API Endpoint
https://api.madaster.com
Contact: service@madaster.com
Schemes: https
Version: 2.1

Authentication

Token

Token Authorization

name
X-API-Key
in
header
type
apiKey

Account

All actions related to the account entity.

Gets the current account for the token.

GET /api/v2.1/accounts/current

Sample request:

GET api/[version]/accounts/current

The account for the used token.

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "string",
  "accountType": "integer (int32)",
  "id": "string (uuid)"
}

Gets the available element databases for the token's account.

GET /api/v2.1/accounts/availabledatabases

Sample request:

GET api/[version]/accounts/availabledatabases

The available element databases.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": "string",
    "accountType": "integer (int32)",
    "id": "string (uuid)"
  }
]

Building

All actions related to the building entity.

Gets a building by its identifier.

GET /api/v2.1/buildings/{id}

Sample request:

GET api/[version]/buildings/[id]
id: string (uuid)
in path

The identifier of the building.

The request was successful and will return the building.

Response Content-Types: application/json
Response Example (200 OK)
{
  "portfolioId": "string (uuid)",
  "name": "string",
  "images": [
    "string"
  ],
  "cadastralDesignation": "string",
  "cadastralArea": "integer (int32)",
  "parcelnumber": "string",
  "publicLawRestriction": "string",
  "completionDate": "string (date-time)",
  "lastRenovationDate": "string (date-time)",
  "addressStreet": "string",
  "addressHousenumber": "string",
  "addressHousenumberAddition": "string",
  "addressZipcode": "string",
  "addressCity": "string",
  "addressCountry": "string",
  "buildingUsage": "string",
  "grossSurfaceArea": "number (double)",
  "energyLabel": "string",
  "energyPerformanceCoefficient": "number (double)",
  "energyIndex": "number (double)",
  "expectedLifespan": "integer (int32)",
  "expectedLifespanStructure": "integer (int32)",
  "expectedLifespanSkin": "integer (int32)",
  "expectedLifespanServices": "integer (int32)",
  "expectedLifespanSpacePlan": "integer (int32)",
  "expectedLifespanStuff": "integer (int32)",
  "breeamLabel": "integer (int32)",
  "gprLabel": "number (double)",
  "mpgLabel": "number (double)",
  "mpgLabelManual": "number (double)",
  "mpgLabelIndicative": "number (double)",
  "leedLabel": "string",
  "wellScoreBuilding": "integer (int32)",
  "wellScoreInterior": "integer (int32)",
  "wellScoreCoreAndShell": "integer (int32)",
  "isDirty": "boolean",
  "hasDirtyElements": "boolean",
  "mostRecentBimInfo": "string (date-time)",
  "geoLatitude": "number (double)",
  "geoLongtitude": "number (double)",
  "phaseType": "string (uuid)",
  "classificationType": "string (uuid)",
  "id": "string (uuid)"
}

Replaces a building.

PUT /api/v2.1/buildings/{id}

Sample request:

PUT api/[version]/buildings/[id]

The building model.

id: string (uuid)
in path

The identifier of the building.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "portfolioId": "string (uuid)",
  "name": "string",
  "cadastralDesignation": "string",
  "cadastralArea": "integer (int32)",
  "parcelnumber": "string",
  "publicLawRestriction": "string",
  "completionDate": "string (date-time)",
  "lastRenovationDate": "string (date-time)",
  "addressStreet": "string",
  "addressHousenumber": "string",
  "addressHousenumberAddition": "string",
  "addressZipcode": "string",
  "addressCity": "string",
  "addressCountry": "string",
  "buildingUsage": "string",
  "grossSurfaceArea": "number (double)",
  "energyLabel": "string",
  "energyPerformanceCoefficient": "number (double)",
  "energyIndex": "number (double)",
  "expectedLifespan": "integer (int32)",
  "expectedLifespanStructure": "integer (int32)",
  "expectedLifespanSkin": "integer (int32)",
  "expectedLifespanServices": "integer (int32)",
  "expectedLifespanSpacePlan": "integer (int32)",
  "expectedLifespanStuff": "integer (int32)",
  "breeamLabel": "integer (int32)",
  "gprLabel": "number (double)",
  "mpgLabel": "number (double)",
  "leedLabel": "string",
  "wellScoreBuilding": "integer (int32)",
  "wellScoreInterior": "integer (int32)",
  "wellScoreCoreAndShell": "integer (int32)",
  "classificationType": "string (uuid)"
}

The building was replaced in its entirety and the result will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "portfolioId": "string (uuid)",
  "name": "string",
  "images": [
    "string"
  ],
  "cadastralDesignation": "string",
  "cadastralArea": "integer (int32)",
  "parcelnumber": "string",
  "publicLawRestriction": "string",
  "completionDate": "string (date-time)",
  "lastRenovationDate": "string (date-time)",
  "addressStreet": "string",
  "addressHousenumber": "string",
  "addressHousenumberAddition": "string",
  "addressZipcode": "string",
  "addressCity": "string",
  "addressCountry": "string",
  "buildingUsage": "string",
  "grossSurfaceArea": "number (double)",
  "energyLabel": "string",
  "energyPerformanceCoefficient": "number (double)",
  "energyIndex": "number (double)",
  "expectedLifespan": "integer (int32)",
  "expectedLifespanStructure": "integer (int32)",
  "expectedLifespanSkin": "integer (int32)",
  "expectedLifespanServices": "integer (int32)",
  "expectedLifespanSpacePlan": "integer (int32)",
  "expectedLifespanStuff": "integer (int32)",
  "breeamLabel": "integer (int32)",
  "gprLabel": "number (double)",
  "mpgLabel": "number (double)",
  "mpgLabelManual": "number (double)",
  "mpgLabelIndicative": "number (double)",
  "leedLabel": "string",
  "wellScoreBuilding": "integer (int32)",
  "wellScoreInterior": "integer (int32)",
  "wellScoreCoreAndShell": "integer (int32)",
  "isDirty": "boolean",
  "hasDirtyElements": "boolean",
  "mostRecentBimInfo": "string (date-time)",
  "geoLatitude": "number (double)",
  "geoLongtitude": "number (double)",
  "phaseType": "string (uuid)",
  "classificationType": "string (uuid)",
  "id": "string (uuid)"
}

Deletes the building and all related data.

DELETE /api/v2.1/buildings/{id}
The building was successfully deleted. Sample request: ``` DELETE api/[version]/buildings/[id]/delete ```
id: string (uuid)
in path

The identifier of the building.

204 No Content

The building was successfully deleted.

Gets building validation parameters.

GET /api/v2.1/buildings/{id}/validation

Sample request:

GET api/[version]/buildings/[id]/validation
id: string (uuid)
in path

The identifier of the building.

The building validation paramaters for the active source files.

Response Content-Types: application/json
Response Example (200 OK)
{
  "percentageClassificationAssignedByNumber": 0.3,
  "percentageClassificationAssignedByVolume": 0.3,
  "percentageVolumeBaseQuantityAssignedByNumber": 0.3,
  "percentageAreaBaseQuantityAssignedByNumber": 0.3,
  "percentageLengthBaseQuantityAssignedByNumber": 0.3,
  "percentageBaseQuantitiesAssignedByNumber": 0.3,
  "percentageMaterialSpecifiedByNumber": 0.3,
  "percentageMaterialSpecifiedByVolume": 0.3,
  "percentageElementsWithKnownMassByNumber": 0.3,
  "percentageElementsMappedByNumber": 0.3,
  "percentageElementsMappedByVolume": 0.3
}

Gets all users for a building.

GET /api/v2.1/buildings/{id}/users

Sample request:

GET api/[version]/buildings/[id]/users
id: string (uuid)
in path

The identifier of the building.

The request was successful and will return all users.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "userId": "string (uuid)",
    "name": "string",
    "level": "integer (int32)",
    "userType": "integer (int32)",
    "isInvite": "boolean"
  }
]

Replaces the security of a users for a building.

PUT /api/v2.1/buildings/{id}/users

Sample request:

PUT api/[version]/portfolios/[id]/users

The users to set.

v1_1UserRightRequest
id: string (uuid)
in path

The identifier of the portfolio.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
[
  {
    "userId": "string (uuid)",
    "level": "integer (int32)"
  }
]

The users were set and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "userId": "string (uuid)",
  "name": "string",
  "level": "integer (int32)",
  "userType": "integer (int32)",
  "isInvite": "boolean"
}

Schedules the building for proccesing, recalculates all data.

POST /api/v2.1/buildings/{id}/process

Sample request:

POST api/[version]/buildings/[id]/process
id: string (uuid)
in path

The identifier of the building.

202 Accepted

The processing was accepted for generation.

Schedules the generation of a PDF building passport.

POST /api/v2.1/buildings/{id}/exportpassport

Sample request:

POST api/[version]/buildings/[id]/exportpassport
id: string (uuid)
in path

The identifier of the building.

accept-language: string nl, en en
in header

The culture to use for the request

202 Accepted

The pdf passport was accepted for generation.

Schedules the generation of a PDF building passport.

POST /api/v2.1/buildings/{id}/exportexcelpassport

Sample request:

POST api/[version]/buildings/[id]/exportexcelpassport
id: string (uuid)
in path

The identifier of the building.

accept-language: string nl, en en
in header

The culture to use for the request

202 Accepted

The excel passport was accepted for generation.

Gets the circular information of a building.

GET /api/v2.1/buildings/{id}/circular
id: string (uuid)
in path

The identifier of the building.

The request was successful and will return the building's circular information.

Response Content-Types: application/json
Response Example (200 OK)
{
  "circularityConstructionPhase": 0.09,
  "circularityUsagePhase": 0.63,
  "circularityEndOfLifePhase": 0.04,
  "ciScoreBuilding": 0.05,
  "correctionUnknownMaterials": 0.8,
  "correctionUnknownBrandLayer": 0.87,
  "madasterCiScore": 0.05
}

Gets the financial information of a building.

GET /api/v2.1/buildings/{id}/financial
id: string (uuid)
in path

The identifier of the building.

inflation: number (double)
in query

The inflation rate to use for the calculation, leave empty to use the default value.

bdbIndex: number (double)
in query

The BDB Index to use for the calculation, leave empty to use the default value.

discountRate: number (double)
in query

The discount rate to use for the calculation, leave empty to use the default value.

The request was successful and will return the building's financial information.

Response Content-Types: application/json
Response Example (200 OK)
{
  "currentValue": 3774692,
  "currentValuePerMaterialFamily": {
    "stone": -484427,
    "glass": -67714,
    "wood": -9731,
    "plastic": -38027,
    "organic": -10133,
    "metal": 4384724
  },
  "ncwValue": -4931739,
  "ncwValuePerBuildingLevel": [
    {
      "id": "26a9ccae-ca9d-4cf0-9683-503321791978",
      "label": "Site",
      "value": -1102967
    },
    {
      "id": "9804b68f-25b5-4224-a408-1eca54aaa5bc",
      "label": "Structure",
      "value": -2638551
    },
    {
      "id": "b3f780d4-3a36-4dce-a8d0-e98557f73713",
      "label": "Skin",
      "value": -794324
    },
    {
      "id": "e8cf6e3d-35e4-4c61-8d72-fa417b0e9328",
      "label": "Services",
      "value": -173276
    },
    {
      "id": "f70048be-590e-4e5a-8a1f-09763d26ec87",
      "label": "Space plan",
      "value": -222791
    },
    {
      "id": "82c1967b-1f20-4c1f-8fe2-685a23ab01be",
      "label": "Stuff",
      "value": 157
    },
    {
      "id": "e2f286ba-6c71-425e-8d99-b9a00895be95",
      "label": "Unknown",
      "value": 13
    }
  ]
}

Adds an image to a building.

POST /api/v2.1/buildings/{id}/images/{fileName}

Sample request:

POST api/[version]/buildings/[id]/images

The binary file data

id: string (uuid)
in path

The identifier of the building.

fileName: string
in path

The name of the uploaded file.

Request Content-Types: image/png, image/jpeg
Request Example
"string (byte)"
200 OK

The image was added to this building, and its file name will be returned.

type
string
Response Content-Types: application/json
Response Example (200 OK)
"string"

Gets all buildings.

GET /api/v2.1/buildings

Sample request:

GET api/[version]/buildings

The request was successful and will return all buildings.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "portfolioId": "string (uuid)",
    "name": "string",
    "images": [
      "string"
    ],
    "cadastralDesignation": "string",
    "cadastralArea": "integer (int32)",
    "parcelnumber": "string",
    "publicLawRestriction": "string",
    "completionDate": "string (date-time)",
    "lastRenovationDate": "string (date-time)",
    "addressStreet": "string",
    "addressHousenumber": "string",
    "addressHousenumberAddition": "string",
    "addressZipcode": "string",
    "addressCity": "string",
    "addressCountry": "string",
    "buildingUsage": "string",
    "grossSurfaceArea": "number (double)",
    "energyLabel": "string",
    "energyPerformanceCoefficient": "number (double)",
    "energyIndex": "number (double)",
    "expectedLifespan": "integer (int32)",
    "expectedLifespanStructure": "integer (int32)",
    "expectedLifespanSkin": "integer (int32)",
    "expectedLifespanServices": "integer (int32)",
    "expectedLifespanSpacePlan": "integer (int32)",
    "expectedLifespanStuff": "integer (int32)",
    "breeamLabel": "integer (int32)",
    "gprLabel": "number (double)",
    "mpgLabel": "number (double)",
    "mpgLabelManual": "number (double)",
    "mpgLabelIndicative": "number (double)",
    "leedLabel": "string",
    "wellScoreBuilding": "integer (int32)",
    "wellScoreInterior": "integer (int32)",
    "wellScoreCoreAndShell": "integer (int32)",
    "isDirty": "boolean",
    "hasDirtyElements": "boolean",
    "mostRecentBimInfo": "string (date-time)",
    "geoLatitude": "number (double)",
    "geoLongtitude": "number (double)",
    "phaseType": "string (uuid)",
    "classificationType": "string (uuid)",
    "id": "string (uuid)"
  }
]

Adds a building.

POST /api/v2.1/buildings

Sample request:

POST api/[version]/buildings

The building model.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "portfolioId": "string (uuid)",
  "name": "string",
  "cadastralDesignation": "string",
  "cadastralArea": "integer (int32)",
  "parcelnumber": "string",
  "publicLawRestriction": "string",
  "completionDate": "string (date-time)",
  "lastRenovationDate": "string (date-time)",
  "addressStreet": "string",
  "addressHousenumber": "string",
  "addressHousenumberAddition": "string",
  "addressZipcode": "string",
  "addressCity": "string",
  "addressCountry": "string",
  "buildingUsage": "string",
  "grossSurfaceArea": "number (double)",
  "energyLabel": "string",
  "energyPerformanceCoefficient": "number (double)",
  "energyIndex": "number (double)",
  "expectedLifespan": "integer (int32)",
  "expectedLifespanStructure": "integer (int32)",
  "expectedLifespanSkin": "integer (int32)",
  "expectedLifespanServices": "integer (int32)",
  "expectedLifespanSpacePlan": "integer (int32)",
  "expectedLifespanStuff": "integer (int32)",
  "breeamLabel": "integer (int32)",
  "gprLabel": "number (double)",
  "mpgLabel": "number (double)",
  "leedLabel": "string",
  "wellScoreBuilding": "integer (int32)",
  "wellScoreInterior": "integer (int32)",
  "wellScoreCoreAndShell": "integer (int32)",
  "classificationType": "string (uuid)"
}
201 Created

The building was created and the location of the resource will be returned in the 'location' header.

Response Content-Types: application/json
Response Example (201 Created)
{
  "portfolioId": "string (uuid)",
  "name": "string",
  "images": [
    "string"
  ],
  "cadastralDesignation": "string",
  "cadastralArea": "integer (int32)",
  "parcelnumber": "string",
  "publicLawRestriction": "string",
  "completionDate": "string (date-time)",
  "lastRenovationDate": "string (date-time)",
  "addressStreet": "string",
  "addressHousenumber": "string",
  "addressHousenumberAddition": "string",
  "addressZipcode": "string",
  "addressCity": "string",
  "addressCountry": "string",
  "buildingUsage": "string",
  "grossSurfaceArea": "number (double)",
  "energyLabel": "string",
  "energyPerformanceCoefficient": "number (double)",
  "energyIndex": "number (double)",
  "expectedLifespan": "integer (int32)",
  "expectedLifespanStructure": "integer (int32)",
  "expectedLifespanSkin": "integer (int32)",
  "expectedLifespanServices": "integer (int32)",
  "expectedLifespanSpacePlan": "integer (int32)",
  "expectedLifespanStuff": "integer (int32)",
  "breeamLabel": "integer (int32)",
  "gprLabel": "number (double)",
  "mpgLabel": "number (double)",
  "mpgLabelManual": "number (double)",
  "mpgLabelIndicative": "number (double)",
  "leedLabel": "string",
  "wellScoreBuilding": "integer (int32)",
  "wellScoreInterior": "integer (int32)",
  "wellScoreCoreAndShell": "integer (int32)",
  "isDirty": "boolean",
  "hasDirtyElements": "boolean",
  "mostRecentBimInfo": "string (date-time)",
  "geoLatitude": "number (double)",
  "geoLongtitude": "number (double)",
  "phaseType": "string (uuid)",
  "classificationType": "string (uuid)",
  "id": "string (uuid)"
}

BuildingFile

All actions related to the building file entity.

Gets a building file status by its identifier.

GET /api/v2.1/buildings/{buildingId}/files/{id}/status

Sample request:

GET api/[version]/buildings/[buildingId]/files/[id]/status
buildingId: string (uuid)
in path

The identifier of the building.

id: string (uuid)
in path

The identifier of the building file.

The request was successful and will return the building file.

Response Content-Types: application/json
Response Example (200 OK)
{
  "status": "integer (int32)",
  "elementProcessedCount": "integer (int32)",
  "elementCount": "integer (int32)",
  "statusMessage": "string",
  "id": "string (uuid)"
}

Activates or deactivates a building file.

POST /api/v2.1/buildings/{buildingId}/files/{id}/active

Sample request:

POST api/[version]/buildings/[buildingId]/files/[id]/active

The new active-status.

buildingId: string (uuid)
in path

The identifier of the building.

id: string (uuid)
in path

The identifier of the building file.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
"boolean"

The active-status of the building file was updated and the building file will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "buildingId": "string (uuid)",
  "isActive": "boolean",
  "isDirty": "boolean",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "integer (int32)",
  "type": "integer (int32)",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "validation": {
    "percentageClassificationAssignedByNumber": 0.3,
    "percentageClassificationAssignedByVolume": 0.3,
    "percentageVolumeBaseQuantityAssignedByNumber": 0.3,
    "percentageAreaBaseQuantityAssignedByNumber": 0.3,
    "percentageLengthBaseQuantityAssignedByNumber": 0.3,
    "percentageBaseQuantitiesAssignedByNumber": 0.3,
    "percentageMaterialSpecifiedByNumber": 0.3,
    "percentageMaterialSpecifiedByVolume": 0.3,
    "percentageElementsWithKnownMassByNumber": 0.3,
    "percentageElementsMappedByNumber": 0.3,
    "percentageElementsMappedByVolume": 0.3
  },
  "id": "string (uuid)"
}

Gets a download url for the building file.

GET /api/v2.1/buildings/{buildingId}/files/{id}/download

Sample request:

GET api/[version]/buildings/[buildingId]/file/[id]/download
buildingId: string (uuid)
in path

The identifier of the building.

id: string (uuid)
in path

The identifier of the building file.

The request was successful and will return the building file.

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "string",
  "expirationDateTime": "string (date-time)"
}

Gets a building file by its identifier.

GET /api/v2.1/buildings/{buildingId}/files/{id}

Sample request:

GET api/[version]/buildings/[buildingId]/files/[id]
buildingId: string (uuid)
in path

The identifier of the building.

id: string (uuid)
in path

The identifier of the building file.

The request was successful and will return the building file.

Response Content-Types: application/json
Response Example (200 OK)
{
  "buildingId": "string (uuid)",
  "isActive": "boolean",
  "isDirty": "boolean",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "integer (int32)",
  "type": "integer (int32)",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "validation": {
    "percentageClassificationAssignedByNumber": 0.3,
    "percentageClassificationAssignedByVolume": 0.3,
    "percentageVolumeBaseQuantityAssignedByNumber": 0.3,
    "percentageAreaBaseQuantityAssignedByNumber": 0.3,
    "percentageLengthBaseQuantityAssignedByNumber": 0.3,
    "percentageBaseQuantitiesAssignedByNumber": 0.3,
    "percentageMaterialSpecifiedByNumber": 0.3,
    "percentageMaterialSpecifiedByVolume": 0.3,
    "percentageElementsWithKnownMassByNumber": 0.3,
    "percentageElementsMappedByNumber": 0.3,
    "percentageElementsMappedByVolume": 0.3
  },
  "preferredAccountIds": [
    "string (uuid)"
  ],
  "id": "string (uuid)"
}

Deletes a building file.

DELETE /api/v2.1/buildings/{buildingId}/files/{id}

Sample request:

DELETE api/[version]/buildings/[buildingId]/file/[id]
buildingId: string (uuid)
in path

The building identifier.

id: string (uuid)
in path

The identifier of the building.

204 No Content

The building was successfully deleted.

Sets the status of a file to 'importing', so element can be added or updated can be made.

POST /api/v2.1/buildings/{buildingId}/files/{id}/setimporting

Sample request:

POST api/[version]/buildings/[buildingId]/files/[id]/setimporting
buildingId: string (uuid)
in path

The identifier of the building.

id: string (uuid)
in path

The identifier of the building file.

204 No Content

The building file was set to 'importing', no content will be returned.

Starts the refinement of a building file.

POST /api/v2.1/buildings/{buildingId}/files/{id}/startrefinement

Sample request:

POST api/[version]/buildings/[buildingId]/files/[id]/startrefinement
buildingId: string (uuid)
in path

The identifier of the building.

id: string (uuid)
in path

The identifier of the building file.

202 Accepted

The refinement of the building file was started and the location to fetch it's status can be found in the header.

Gets all building files.

GET /api/v2.1/buildings/{buildingId}/files

Sample request:

GET api/[version]/buildings/[buildingId]/files
buildingId: string (uuid)
in path

(no description)

The request was successful and will return all building files.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "buildingId": "string (uuid)",
    "isActive": "boolean",
    "isDirty": "boolean",
    "fileName": "string",
    "fileSize": "integer (int64)",
    "status": "integer (int32)",
    "type": "integer (int32)",
    "lastModifiedDate": "string (date-time)",
    "tags": [
      "string"
    ],
    "validation": {
      "percentageClassificationAssignedByNumber": 0.3,
      "percentageClassificationAssignedByVolume": 0.3,
      "percentageVolumeBaseQuantityAssignedByNumber": 0.3,
      "percentageAreaBaseQuantityAssignedByNumber": 0.3,
      "percentageLengthBaseQuantityAssignedByNumber": 0.3,
      "percentageBaseQuantitiesAssignedByNumber": 0.3,
      "percentageMaterialSpecifiedByNumber": 0.3,
      "percentageMaterialSpecifiedByVolume": 0.3,
      "percentageElementsWithKnownMassByNumber": 0.3,
      "percentageElementsMappedByNumber": 0.3,
      "percentageElementsMappedByVolume": 0.3
    },
    "preferredAccountIds": [
      "string (uuid)"
    ],
    "id": "string (uuid)"
  }
]

Adds a building file.

POST /api/v2.1/buildings/{buildingId}/files

Sample request:

POST api/[version]/buildings/[buildingId]/files

The building file model.

buildingId: string (uuid)
in path

The building identifier.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "type": "integer (int32)",
  "tags": [
    "string"
  ],
  "name": "string",
  "preferredAccountIds": [
    "string (uuid)"
  ]
}

The building file was created and the location of the resource will be returned in the 'location' header.

Response Content-Types: application/json
Response Example (201 Created)
{
  "buildingId": "string (uuid)",
  "isActive": "boolean",
  "isDirty": "boolean",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "integer (int32)",
  "type": "integer (int32)",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "validation": {
    "percentageClassificationAssignedByNumber": 0.3,
    "percentageClassificationAssignedByVolume": 0.3,
    "percentageVolumeBaseQuantityAssignedByNumber": 0.3,
    "percentageAreaBaseQuantityAssignedByNumber": 0.3,
    "percentageLengthBaseQuantityAssignedByNumber": 0.3,
    "percentageBaseQuantitiesAssignedByNumber": 0.3,
    "percentageMaterialSpecifiedByNumber": 0.3,
    "percentageMaterialSpecifiedByVolume": 0.3,
    "percentageElementsWithKnownMassByNumber": 0.3,
    "percentageElementsMappedByNumber": 0.3,
    "percentageElementsMappedByVolume": 0.3
  },
  "preferredAccountIds": [
    "string (uuid)"
  ],
  "id": "string (uuid)"
}

Uploads a building file.

POST /api/v2.1/buildings/{buildingId}/files/{id}/upload/{fileName}

Sample request:

POST api/[version]/buildings/[buildingId]/files/[id]/upload

The binary file data

buildingId: string (uuid)
in path

The building identifier.

id: string (uuid)
in path

The building file identifier.

fileName: string
in path

The name of the uploaded file.

Request Content-Types: application/octet-stream
Request Example
"string (byte)"
202 Accepted

The building file was successfully uploaded, and scheduled for further processing.

204 No Content

The building file was successfully uploaded.

BuildingFileElement

All actions related to the building file element entity.

Gets a building file element by its identifier and its building file's identifier.

GET /api/v2.1/buildings/{buildingId}/files/{fileId}/elements/{id}

Sample request:

GET api/[version]/buildings/[buildingId]/files/[fileId]/elements/[id]
buildingId: string (uuid)
in path

The identifier of the building.

fileId: string (uuid)
in path

The identifier of the building file.

id: string
in path

The identifier of the element.

The request was successful and will return the building file element.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string",
  "buildingFileId": "string (uuid)",
  "materialName": "string",
  "typeName": "string",
  "elementClass": "string",
  "volume": "number (double)",
  "area": "number (double)",
  "height": "number (double)",
  "width": "number (double)",
  "length": "number (double)",
  "weight": "number (double)",
  "mapping": {
    "type": "integer (int32)",
    "id": "string (uuid)"
  },
  "phaseMatch": {
    "name": "string",
    "id": "string (uuid)"
  },
  "brandLayerMatch": {
    "name": "string",
    "id": "string (uuid)"
  },
  "classificationMatch": {
    "name": "string",
    "code": "string",
    "id": "string (uuid)"
  },
  "phaseLookup": [
    "string"
  ],
  "classificationLookup": [
    "string"
  ],
  "floor": "string"
}

Updates an existing building file element.

PUT /api/v2.1/buildings/{buildingId}/files/{fileId}/elements/{id}

Sample request:

PUT api/[version]/buildings/[buildingId]/files/[fileId]/elements/[id]

The element to create.

buildingId: string (uuid)
in path

The identifier of the building.

fileId: string (uuid)
in path

The identifier of the building file.

id: string
in path

The identifier of the element.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "id": "string",
  "materialName": "string",
  "typeName": "string",
  "elementClass": "string",
  "volume": "number (double)",
  "area": "number (double)",
  "height": "number (double)",
  "width": "number (double)",
  "length": "number (double)",
  "weight": "number (double)",
  "phaseLookup": "string",
  "classificationLookup": "string",
  "floor": "string"
}

The building file element was replaced in its entirety and the result will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string",
  "buildingFileId": "string (uuid)",
  "materialName": "string",
  "typeName": "string",
  "elementClass": "string",
  "volume": "number (double)",
  "area": "number (double)",
  "height": "number (double)",
  "width": "number (double)",
  "length": "number (double)",
  "weight": "number (double)",
  "mapping": {
    "type": "integer (int32)",
    "id": "string (uuid)"
  },
  "phaseMatch": {
    "name": "string",
    "id": "string (uuid)"
  },
  "brandLayerMatch": {
    "name": "string",
    "id": "string (uuid)"
  },
  "classificationMatch": {
    "name": "string",
    "code": "string",
    "id": "string (uuid)"
  },
  "phaseLookup": [
    "string"
  ],
  "classificationLookup": [
    "string"
  ],
  "floor": "string"
}

Deletes an existing building file element.

DELETE /api/v2.1/buildings/{buildingId}/files/{fileId}/elements/{id}

Sample request:

DELETE api/[version]/buildings/[buildingid]/files/[fileid]/elements/[id]
buildingId: string (uuid)
in path

The identifier of the building.

fileId: string (uuid)
in path

The identifier of the building file.

id: string
in path

The identifier of the element.

204 No Content

The building file element was successfully deleted.

Gets a building file's elements by its identifier.

GET /api/v2.1/buildings/{buildingId}/files/{fileId}/elements

Sample request:

GET api/[version]/buildings/[buildingId]/files/[fileId]/elements

This API is ODATA enabled, the following filters can be used:

  • $select
  • $filter
  • $skip
  • $top

READ MORE

buildingId: string (uuid)
in path

The identifier of the building.

fileId: string (uuid)
in path

The identifier of the building file.

The request was successful and will return the building file element.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string",
    "buildingFileId": "string (uuid)",
    "materialName": "string",
    "typeName": "string",
    "elementClass": "string",
    "volume": "number (double)",
    "area": "number (double)",
    "height": "number (double)",
    "width": "number (double)",
    "length": "number (double)",
    "weight": "number (double)",
    "mapping": {
      "type": "integer (int32)",
      "id": "string (uuid)"
    },
    "phaseMatch": {
      "name": "string",
      "id": "string (uuid)"
    },
    "brandLayerMatch": {
      "name": "string",
      "id": "string (uuid)"
    },
    "classificationMatch": {
      "name": "string",
      "code": "string",
      "id": "string (uuid)"
    },
    "phaseLookup": [
      "string"
    ],
    "classificationLookup": [
      "string"
    ],
    "floor": "string"
  }
]

Create a new building file element.

POST /api/v2.1/buildings/{buildingId}/files/{fileId}/elements

Sample request:

POST api/[version]/buildings/[buildingId]/files/[fileId]/elements

The element to create.

buildingId: string (uuid)
in path

The identifier of the building.

fileId: string (uuid)
in path

The identifier of the building file.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "id": "string",
  "materialName": "string",
  "typeName": "string",
  "elementClass": "string",
  "volume": "number (double)",
  "area": "number (double)",
  "height": "number (double)",
  "width": "number (double)",
  "length": "number (double)",
  "weight": "number (double)",
  "phaseLookup": "string",
  "classificationLookup": "string",
  "floor": "string"
}

The building file element was created and the location of the resource will be returned in the 'location' header.

Response Content-Types: application/json
Response Example (201 Created)
{
  "id": "string",
  "buildingFileId": "string (uuid)",
  "materialName": "string",
  "typeName": "string",
  "elementClass": "string",
  "volume": "number (double)",
  "area": "number (double)",
  "height": "number (double)",
  "width": "number (double)",
  "length": "number (double)",
  "weight": "number (double)",
  "mapping": {
    "type": "integer (int32)",
    "id": "string (uuid)"
  },
  "phaseMatch": {
    "name": "string",
    "id": "string (uuid)"
  },
  "brandLayerMatch": {
    "name": "string",
    "id": "string (uuid)"
  },
  "classificationMatch": {
    "name": "string",
    "code": "string",
    "id": "string (uuid)"
  },
  "phaseLookup": [
    "string"
  ],
  "classificationLookup": [
    "string"
  ],
  "floor": "string"
}

Material

All actions related to the material entity.

Gets all materials.

GET /api/v2.1/materials

Sample request:

GET api/[version]/materials
200 OK

The request was successful and will return all materials.

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": {
      "en": "material name",
      "nl": "materiaalnaam"
    },
    "elementFamily": "family",
    "description": {
      "en": "material description",
      "nl": "materiaalbeschrijving"
    },
    "supplier": "supplier",
    "specificWeight": 50.5,
    "lifeTime": 50,
    "circular": {
      "recycledPercentageFeedstock": 0.4,
      "rapidRenewablesPercentageFeedstock": 0.4,
      "virginPercentageFeedstock": 0.2,
      "recycledPercentageEndOfLife": 0.4,
      "landfillPercentageEndOfLife": 0.4,
      "incinerationPercentageEndOfLife": 0.2,
      "efficiencyPercentageRecyclingFeedstock": 0.5,
      "efficiencyPercentageRecyclingEndOfLife": 0.5
    },
    "financial": {
      "importType": 0,
      "priceSetId": "priceset",
      "transportCosts": 50,
      "handlingFeedstockEuroKg": 50,
      "handlingFeedstockPercentage": 0.5
    },
    "id": "00000000-0000-0000-0000-000000000000"
  }
]

Adds a material.

POST /api/v2.1/materials

Sample request:

POST api/[version]/materials

The material model.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "name": {
    "en": "material name",
    "nl": "materiaalnaam"
  },
  "elementFamily": "family",
  "description": {
    "en": "material description",
    "nl": "materiaalbeschrijving"
  },
  "supplier": "supplier",
  "specificWeight": 50.5,
  "lifeTime": 50,
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5
  },
  "financial": {
    "importType": 0,
    "priceSetId": "priceset",
    "transportCosts": 50,
    "handlingFeedstockEuroKg": 50,
    "handlingFeedstockPercentage": 0.5
  },
  "id": "00000000-0000-0000-0000-000000000000"
}
201 Created

The material was created and the location of the resource will be returned in the 'location' header.

Response Content-Types: application/json
Response Example (201 Created)
{
  "name": {
    "en": "material name",
    "nl": "materiaalnaam"
  },
  "elementFamily": "family",
  "description": {
    "en": "material description",
    "nl": "materiaalbeschrijving"
  },
  "supplier": "supplier",
  "specificWeight": 50.5,
  "lifeTime": 50,
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5
  },
  "financial": {
    "importType": 0,
    "priceSetId": "priceset",
    "transportCosts": 50,
    "handlingFeedstockEuroKg": 50,
    "handlingFeedstockPercentage": 0.5
  },
  "id": "00000000-0000-0000-0000-000000000000"
}

Gets a material by its identifier.

GET /api/v2.1/materials/{id}

Sample request:

GET api/[version]/materials/[id]
id: string (uuid)
in path

The identifier of the material.

200 OK

The request was successful and will return the material.

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": {
    "en": "material name",
    "nl": "materiaalnaam"
  },
  "elementFamily": "family",
  "description": {
    "en": "material description",
    "nl": "materiaalbeschrijving"
  },
  "supplier": "supplier",
  "specificWeight": 50.5,
  "lifeTime": 50,
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5
  },
  "financial": {
    "importType": 0,
    "priceSetId": "priceset",
    "transportCosts": 50,
    "handlingFeedstockEuroKg": 50,
    "handlingFeedstockPercentage": 0.5
  },
  "id": "00000000-0000-0000-0000-000000000000"
}

Replaces a material.

PUT /api/v2.1/materials/{id}

Sample request:

PUT api/[version]/materials/[id]

The material model.

id: string (uuid)
in path

The identifier.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "name": {
    "en": "material name",
    "nl": "materiaalnaam"
  },
  "elementFamily": "family",
  "description": {
    "en": "material description",
    "nl": "materiaalbeschrijving"
  },
  "supplier": "supplier",
  "specificWeight": 50.5,
  "lifeTime": 50,
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5
  },
  "financial": {
    "importType": 0,
    "priceSetId": "priceset",
    "transportCosts": 50,
    "handlingFeedstockEuroKg": 50,
    "handlingFeedstockPercentage": 0.5
  },
  "id": "00000000-0000-0000-0000-000000000000"
}
200 OK

The material was replaced in its entirety and the result will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": {
    "en": "material name",
    "nl": "materiaalnaam"
  },
  "elementFamily": "family",
  "description": {
    "en": "material description",
    "nl": "materiaalbeschrijving"
  },
  "supplier": "supplier",
  "specificWeight": 50.5,
  "lifeTime": 50,
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5
  },
  "financial": {
    "importType": 0,
    "priceSetId": "priceset",
    "transportCosts": 50,
    "handlingFeedstockEuroKg": 50,
    "handlingFeedstockPercentage": 0.5
  },
  "id": "00000000-0000-0000-0000-000000000000"
}

Gets the financial values of a material, for manual import mode.

GET /api/v2.1/materials/{id}/financialvalues

Sample request:

GET api/[version]/materials/[id]/financialvalues
id: string (uuid)
in path

The identifier of the material.

The request was successful and will return the material's financial values.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "value": 50.5,
    "valueDate": "2019-04-01T14:52:30.3970858Z",
    "currency": "EUR",
    "unit": 2
  }
]

Replaces the financial values for a material, for manual import mode.

PUT /api/v2.1/materials/{id}/financialvalues

Sample request:

PUT api/[version]/materials/[id]/financialvalues

The values to set.

MaterialFinancialValue
id: string (uuid)
in path

The identifier of the material.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
[
  {
    "value": 50.5,
    "valueDate": "2019-04-01T14:52:30.3970858Z",
    "currency": "EUR",
    "unit": 2
  }
]

The financial values were set and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "value": 50.5,
    "valueDate": "2019-04-01T14:52:30.3970858Z",
    "currency": "EUR",
    "unit": 2
  }
]

Adds a financial value for a material, for manual import mode.

POST /api/v2.1/materials/{id}/financialvalues

Sample request:

POST api/[version]/materials/[id]/financialvalues

The value to add.

id: string (uuid)
in path

The identifier of the material.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "value": 50.5,
  "valueDate": "2019-04-01T14:52:30.3970858Z",
  "currency": "EUR",
  "unit": 2
}

The financial value was added and the object will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "value": 50.5,
  "valueDate": "2019-04-01T14:52:30.3970858Z",
  "currency": "EUR",
  "unit": 2
}

Gets the matches of a material.

GET /api/v2.1/materials/{id}/matches

Sample request:

GET api/[version]/materials/[id]/matches
id: string (uuid)
in path

The identifier of the material.

The request was successful and will return the material's matches.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "value": "string",
    "matchType": "integer (int32)"
  }
]

Replaces the matches for a material.

PUT /api/v2.1/materials/{id}/matches

Sample request:

PUT api/[version]/materials/[id]/matches

The matches to set.

v2_0MaterialMatch
id: string (uuid)
in path

The identifier of the material.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
[
  {
    "value": "string",
    "matchType": "integer (int32)"
  }
]

The matches were set and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "value": "string",
    "matchType": "integer (int32)"
  }
]

Adds a match for a material.

POST /api/v2.1/materials/{id}/matches

Sample request:

POST api/[version]/materials/[id]/matches

The match to add.

id: string (uuid)
in path

The identifier of the material.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "value": "string",
  "matchType": "integer (int32)"
}

The match was added and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "value": "string",
  "matchType": "integer (int32)"
}

Portfolio

All actions related to the portfolio entity.

Gets all portfolios.

GET /api/v2.1/portfolios

Sample request:

GET api/[version]/portfolios

The request was successful and will return all portfolios.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": "A portfolio",
    "logo": "https://madaster.blob.core.windows.net/assets/00000000-0000-0000-0000-000000000000/portfolio.jpg",
    "id": "00000000-0000-0000-0000-000000000000"
  }
]

Adds a portfolio.

POST /api/v2.1/portfolios

Sample request:

POST api/[version]/portfolios

The portfolio model.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "name": "A portfolio"
}
201 Created

The portfolio was created and the location of the resource will be returned in the 'location' header.

Response Content-Types: application/json
Response Example (201 Created)
{
  "name": "A portfolio",
  "logo": "https://madaster.blob.core.windows.net/assets/00000000-0000-0000-0000-000000000000/portfolio.jpg",
  "id": "00000000-0000-0000-0000-000000000000"
}

Gets a portfolio by its identifier.

GET /api/v2.1/portfolios/{id}

Sample request:

GET api/[version]/portfolios/[id]
id: string (uuid)
in path

The identifier of the portfolio.

The request was successful and will return the portfolio.

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "A portfolio",
  "logo": "https://madaster.blob.core.windows.net/assets/00000000-0000-0000-0000-000000000000/portfolio.jpg",
  "id": "00000000-0000-0000-0000-000000000000"
}

Replaces a portfolio.

PUT /api/v2.1/portfolios/{id}

Sample request:

PUT api/[version]/portfolios/[id]

The portfolio model.

id: string (uuid)
in path

The identifier of the portfolio.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "name": "A portfolio"
}

The portfolio was replaced in its entirety and the result will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": "A portfolio",
  "logo": "https://madaster.blob.core.windows.net/assets/00000000-0000-0000-0000-000000000000/portfolio.jpg",
  "id": "00000000-0000-0000-0000-000000000000"
}

Deletes a portfolio.

DELETE /api/v2.1/portfolios/{id}

Sample request:

DELETE api/[version]/portfolios/[id]
id: string (uuid)
in path

The identifier of the portfolio.

204 No Content

The portfolio was successfully deleted.

Gets all buildings for a portfolio.

GET /api/v2.1/portfolios/{id}/buildings

Sample request:

GET api/[version]/portfolios/[id]/buildings
id: string (uuid)
in path

The identifier of the portfolio.

The request was successful and will return all buildings.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "portfolioId": "string (uuid)",
    "name": "string",
    "images": [
      "string"
    ],
    "cadastralDesignation": "string",
    "cadastralArea": "integer (int32)",
    "parcelnumber": "string",
    "publicLawRestriction": "string",
    "completionDate": "string (date-time)",
    "lastRenovationDate": "string (date-time)",
    "addressStreet": "string",
    "addressHousenumber": "string",
    "addressHousenumberAddition": "string",
    "addressZipcode": "string",
    "addressCity": "string",
    "addressCountry": "string",
    "buildingUsage": "string",
    "grossSurfaceArea": "number (double)",
    "energyLabel": "string",
    "energyPerformanceCoefficient": "number (double)",
    "energyIndex": "number (double)",
    "expectedLifespan": "integer (int32)",
    "expectedLifespanStructure": "integer (int32)",
    "expectedLifespanSkin": "integer (int32)",
    "expectedLifespanServices": "integer (int32)",
    "expectedLifespanSpacePlan": "integer (int32)",
    "expectedLifespanStuff": "integer (int32)",
    "breeamLabel": "integer (int32)",
    "gprLabel": "number (double)",
    "mpgLabel": "number (double)",
    "mpgLabelManual": "number (double)",
    "mpgLabelIndicative": "number (double)",
    "leedLabel": "string",
    "isDirty": "boolean",
    "hasDirtyElements": "boolean",
    "mostRecentBimInfo": "string (date-time)",
    "geoLatitude": "number (double)",
    "geoLongtitude": "number (double)",
    "phaseType": "string (uuid)",
    "classificationType": "string (uuid)",
    "id": "string (uuid)"
  }
]

Gets all users for a portfolio.

GET /api/v2.1/portfolios/{id}/users

Sample request:

GET api/[version]/portfolios/[id]/users
id: string (uuid)
in path

The identifier of the portfolio.

The request was successful and will return all users.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "userId": "string (uuid)",
    "name": "string",
    "level": "integer (int32)",
    "userType": "integer (int32)",
    "isInvite": "boolean"
  }
]

Replaces the security of a users for a portfolio.

PUT /api/v2.1/portfolios/{id}/users

Sample request:

PUT api/[version]/portfolios/[id]/users

The users to set.

v1_1UserRightRequest
id: string (uuid)
in path

The identifier of the portfolio.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
[
  {
    "userId": "string (uuid)",
    "level": "integer (int32)"
  }
]

The users were set and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "userId": "string (uuid)",
  "name": "string",
  "level": "integer (int32)",
  "userType": "integer (int32)",
  "isInvite": "boolean"
}

Schedules the generation of a PDF portfolio passport.

POST /api/v2.1/portfolios/{id}/passport

Sample request:

POST api/[version]/portfolios/[id]/passport

The request information to create the passport.

id: string (uuid)
in path

The identifier of the portfolio.

accept-language: string nl, en en
in header

The culture to use for the request

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "buildingIds": [
    "string (uuid)"
  ]
}

The passport file was created and the location of the resource will be returned in the 'location' header.

Response Content-Types: application/json
Response Example (202 Accepted)
{
  "portfolioId": "string (uuid)",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "integer (int32)",
  "type": "integer (int32)",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "id": "string (uuid)"
}

Sets the logo of a portfolio.

POST /api/v2.1/portfolios/{id}/logo/{fileName}

Sample request:

POST api/[version]/portfolios/[id]/logo

The binary file data

id: string (uuid)
in path

The identifier of the portfolio.

fileName: string
in path

The name of the uploaded file.

Request Content-Types: image/png, image/jpeg
Request Example
"string (byte)"
200 OK

The logo was updated and set for this portfolio, and its file name will be returned.

type
string
Response Content-Types: application/json
Response Example (200 OK)
"string"

Gets the available element databases for files in this portfolio.

GET /api/v2.1/portfolios/{id}/availabledatabases

Sample request:

GET api/[version]/portfolios/[id]/availabledatabases
id: string (uuid)
in path

(no description)

The available element databases.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": "string",
    "accountType": "integer (int32)",
    "id": "string (uuid)"
  }
]

PortfolioFile

All actions related to the portfolio file entity.

Gets all portfolio files for a portfolio.

GET /api/v2.1/portfolios/{portfolioId}/files

Sample request:

GET api/[version]/portfolios/[portfolioId]/file
portfolioId: string (uuid)
in path

The identifier of the portfolio.

The request was successful and will return all portfolio files.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "portfolioId": "string (uuid)",
    "fileName": "string",
    "fileSize": "integer (int64)",
    "status": "integer (int32)",
    "type": "integer (int32)",
    "lastModifiedDate": "string (date-time)",
    "tags": [
      "string"
    ],
    "id": "string (uuid)"
  }
]

Adds a portfolio file.

POST /api/v2.1/portfolios/{portfolioId}/files

Sample request:

POST api/[version]/portfolios/[portfolioId]/file

The portfolio file model.

portfolioId: string (uuid)
in path

The identifier of the portfolio.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "name": "string",
  "tags": [
    "string"
  ]
}

The portfolio file was created and the location of the resource will be returned in the 'location' header.

Response Content-Types: application/json
Response Example (201 Created)
{
  "portfolioId": "string (uuid)",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "integer (int32)",
  "type": "integer (int32)",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "id": "string (uuid)"
}

Gets a portfolio file by its identifier.

GET /api/v2.1/portfolios/{portfolioId}/files/{id}

Sample request:

GET api/[version]/portfolios/[portfolioId]/file/[id]
portfolioId: string (uuid)
in path

The identifier of the portfolio.

id: string (uuid)
in path

The identifier of the portfolio file.

The request was successful and will return the portfolio file.

Response Content-Types: application/json
Response Example (200 OK)
{
  "portfolioId": "string (uuid)",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "integer (int32)",
  "type": "integer (int32)",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "id": "string (uuid)"
}

Deletes a portfolio file.

DELETE /api/v2.1/portfolios/{portfolioId}/files/{id}

Sample request:

DELETE api/[version]/portfolios/[portfolioId]/file/[id]
portfolioId: string (uuid)
in path

The portfolio identifier.

id: string (uuid)
in path

The identifier of the portfolio.

204 No Content

The portfolio was successfully deleted.

Gets a portfolio file status by its identifier.

GET /api/v2.1/portfolios/{portfolioId}/files/{id}/status

Sample request:

GET api/[version]/portfolios/[portfolioId]/file/[id]/status
portfolioId: string (uuid)
in path

The identifier of the portfolio.

id: string (uuid)
in path

The identifier of the portfolio file.

The request was successful and will return the portfolio file.

Response Content-Types: application/json
Response Example (200 OK)
{
  "status": "integer (int32)",
  "statusMessage": "string",
  "id": "string (uuid)"
}

Gets a download url for the portfolio file.

GET /api/v2.1/portfolios/{portfolioId}/files/{id}/download

Sample request:

GET api/[version]/portfolios/[portfolioId]/file/[id]/download
portfolioId: string (uuid)
in path

The identifier of the portfolio.

id: string (uuid)
in path

The identifier of the portfolio file.

The request was successful and will return the portfolio file.

Response Content-Types: application/json
Response Example (200 OK)
{
  "url": "string",
  "expirationDateTime": "string (date-time)"
}

Uploads a portfolio file.

POST /api/v2.1/portfolios/{portfolioId}/files/{id}/upload/{fileName}

Sample request:

POST api/[version]/portfolios/[portfolioId]/file/upload

The binary file data

portfolioId: string (uuid)
in path

The portfolio identifier.

id: string (uuid)
in path

The portfolio file identifier.

fileName: string
in path

The name of the uploaded file.

Request Content-Types: application/octet-stream
Request Example
"string (byte)"
204 No Content

The portfolio file was successfully uploaded.

409 Conflict

The portfolio file is already uploaded.

Product

All actions related to the product entity.

Gets all products.

GET /api/v2.1/products

Sample request:

GET api/[version]/products
200 OK

The request was successful and will return all products.

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": {
      "en": "product name",
      "nl": "productnaam"
    },
    "type": 40,
    "description": {
      "en": "product description",
      "nl": "productbeschrijving"
    },
    "supplier": "supplier",
    "productCode": "12345A",
    "circular": {
      "recycledPercentageFeedstock": 0.4,
      "rapidRenewablesPercentageFeedstock": 0.4,
      "virginPercentageFeedstock": 0.2,
      "recycledPercentageEndOfLife": 0.4,
      "landfillPercentageEndOfLife": 0.4,
      "incinerationPercentageEndOfLife": 0.2,
      "efficiencyPercentageRecyclingFeedstock": 0.5,
      "efficiencyPercentageRecyclingEndOfLife": 0.5,
      "technicalLifetime": 50,
      "functionalLifetime": 50,
      "productReusedPercentageFeedstock": 0.5,
      "productRecycledPercentageFeedstock": 0.2,
      "productRapidRenewablesPercentageFeedstock": 0.2,
      "productVirginPercentageFeedstock": 0.1,
      "productReusedPercentageEndOfLife": 0.5,
      "productRecycledPercentageEndOfLife": 0.2,
      "productLandfillPercentageEndOfLife": 0.2,
      "productIncinerationPercentageEndOfLife": 0.1
    },
    "fixedDimensions": [
      {
        "dimensionValue": 0.3,
        "dimensionType": 0
      }
    ],
    "defaultDimensions": [
      {
        "dimensionValue": 0.2,
        "dimensionType": 1
      },
      {
        "dimensionValue": 0.4,
        "dimensionType": 2
      }
    ],
    "id": "00000000-0000-0000-0000-000000000000"
  }
]

Adds a product.

POST /api/v2.1/products

Sample request:

POST api/[version]/products

The product model.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "name": {
    "en": "english value",
    "nl": "nederlandse waarde"
  },
  "type": "integer (int32)",
  "description": {
    "en": "english value",
    "nl": "nederlandse waarde"
  },
  "supplier": "string",
  "productCode": "string",
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5,
    "technicalLifetime": 50,
    "functionalLifetime": 50,
    "productReusedPercentageFeedstock": 0.5,
    "productRecycledPercentageFeedstock": 0.2,
    "productRapidRenewablesPercentageFeedstock": 0.2,
    "productVirginPercentageFeedstock": 0.1,
    "productReusedPercentageEndOfLife": 0.5,
    "productRecycledPercentageEndOfLife": 0.2,
    "productLandfillPercentageEndOfLife": 0.2,
    "productIncinerationPercentageEndOfLife": 0.1
  },
  "fixedDimensions": [
    {
      "dimensionValue": 0.5,
      "dimensionType": 0
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": 0.5,
      "dimensionType": 0
    }
  ],
  "id": "string (uuid)"
}
201 Created

The product was created and the location of the resource will be returned in the 'location' header.

Response Content-Types: application/json
Response Example (201 Created)
{
  "name": {
    "en": "english value",
    "nl": "nederlandse waarde"
  },
  "type": "integer (int32)",
  "description": {
    "en": "english value",
    "nl": "nederlandse waarde"
  },
  "supplier": "string",
  "productCode": "string",
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5,
    "technicalLifetime": 50,
    "functionalLifetime": 50,
    "productReusedPercentageFeedstock": 0.5,
    "productRecycledPercentageFeedstock": 0.2,
    "productRapidRenewablesPercentageFeedstock": 0.2,
    "productVirginPercentageFeedstock": 0.1,
    "productReusedPercentageEndOfLife": 0.5,
    "productRecycledPercentageEndOfLife": 0.2,
    "productLandfillPercentageEndOfLife": 0.2,
    "productIncinerationPercentageEndOfLife": 0.1
  },
  "fixedDimensions": [
    {
      "dimensionValue": 0.5,
      "dimensionType": 0
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": 0.5,
      "dimensionType": 0
    }
  ],
  "id": "string (uuid)"
}

Gets a product by its identifier.

GET /api/v2.1/products/{id}

Sample request:

GET api/[version]/products/[id]
id: string (uuid)
in path

The identifier of the product.

200 OK

The request was successful and will return the product.

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": {
    "en": "product name",
    "nl": "productnaam"
  },
  "type": 40,
  "description": {
    "en": "product description",
    "nl": "productbeschrijving"
  },
  "supplier": "supplier",
  "productCode": "12345A",
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5,
    "technicalLifetime": 50,
    "functionalLifetime": 50,
    "productReusedPercentageFeedstock": 0.5,
    "productRecycledPercentageFeedstock": 0.2,
    "productRapidRenewablesPercentageFeedstock": 0.2,
    "productVirginPercentageFeedstock": 0.1,
    "productReusedPercentageEndOfLife": 0.5,
    "productRecycledPercentageEndOfLife": 0.2,
    "productLandfillPercentageEndOfLife": 0.2,
    "productIncinerationPercentageEndOfLife": 0.1
  },
  "fixedDimensions": [
    {
      "dimensionValue": 0.3,
      "dimensionType": 0
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": 0.2,
      "dimensionType": 1
    },
    {
      "dimensionValue": 0.4,
      "dimensionType": 2
    }
  ],
  "id": "00000000-0000-0000-0000-000000000000"
}

Replaces a product.

PUT /api/v2.1/products/{id}

Sample request:

PUT api/[version]/products/[id]

The product model.

id: string (uuid)
in path

The identifier.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "name": {
    "en": "english value",
    "nl": "nederlandse waarde"
  },
  "type": "integer (int32)",
  "description": {
    "en": "english value",
    "nl": "nederlandse waarde"
  },
  "supplier": "string",
  "productCode": "string",
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5,
    "technicalLifetime": 50,
    "functionalLifetime": 50,
    "productReusedPercentageFeedstock": 0.5,
    "productRecycledPercentageFeedstock": 0.2,
    "productRapidRenewablesPercentageFeedstock": 0.2,
    "productVirginPercentageFeedstock": 0.1,
    "productReusedPercentageEndOfLife": 0.5,
    "productRecycledPercentageEndOfLife": 0.2,
    "productLandfillPercentageEndOfLife": 0.2,
    "productIncinerationPercentageEndOfLife": 0.1
  },
  "fixedDimensions": [
    {
      "dimensionValue": 0.5,
      "dimensionType": 0
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": 0.5,
      "dimensionType": 0
    }
  ],
  "id": "string (uuid)"
}
200 OK

The product was replaced in its entirety and the result will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "name": {
    "en": "english value",
    "nl": "nederlandse waarde"
  },
  "type": "integer (int32)",
  "description": {
    "en": "english value",
    "nl": "nederlandse waarde"
  },
  "supplier": "string",
  "productCode": "string",
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5,
    "technicalLifetime": 50,
    "functionalLifetime": 50,
    "productReusedPercentageFeedstock": 0.5,
    "productRecycledPercentageFeedstock": 0.2,
    "productRapidRenewablesPercentageFeedstock": 0.2,
    "productVirginPercentageFeedstock": 0.1,
    "productReusedPercentageEndOfLife": 0.5,
    "productRecycledPercentageEndOfLife": 0.2,
    "productLandfillPercentageEndOfLife": 0.2,
    "productIncinerationPercentageEndOfLife": 0.1
  },
  "fixedDimensions": [
    {
      "dimensionValue": 0.5,
      "dimensionType": 0
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": 0.5,
      "dimensionType": 0
    }
  ],
  "id": "string (uuid)"
}

Gets the financial values of a product.

GET /api/v2.1/products/{id}/financialvalues

Sample request:

GET api/[version]/products/[id]/financialvalues
id: string (uuid)
in path

The identifier of the product.

The request was successful and will return the product's financial values.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "value": 50.5,
    "valueDate": "2019-04-01T14:52:30.9437348Z",
    "currency": "EUR",
    "unit": 2
  }
]

Replaces the financial values for a product.

PUT /api/v2.1/products/{id}/financialvalues

Sample request:

PUT api/[version]/products/[id]/financialvalues

The values to set.

ProductFinancialValue
id: string (uuid)
in path

The identifier of the product.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
[
  {
    "value": 50.5,
    "valueDate": "2019-04-01T14:52:30.9437348Z",
    "currency": "EUR",
    "unit": 2
  }
]

The financial values were set and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "value": 50.5,
    "valueDate": "2019-04-01T14:52:30.9437348Z",
    "currency": "EUR",
    "unit": 2
  }
]

Adds a financial value for a product.

POST /api/v2.1/products/{id}/financialvalues

Sample request:

POST api/[version]/products/[id]/financialvalues

The value to add.

id: string (uuid)
in path

The identifier of the product.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "value": 50.5,
  "valueDate": "2019-04-01T14:52:30.9437348Z",
  "currency": "EUR",
  "unit": 2
}

The financial value was added and the object will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "value": 50.5,
  "valueDate": "2019-04-01T14:52:30.9437348Z",
  "currency": "EUR",
  "unit": 2
}

Gets the children of a product.

GET /api/v2.1/products/{id}/children

Sample request:

GET api/[version]/products/[id]/children
id: string (uuid)
in path

The identifier of the product.

200 OK

The request was successful and will return the product's children.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "value": 0.3,
    "childId": "00000000-0000-0000-0000-000000000000",
    "circular": {
      "inheritFeedstockPercentages": true,
      "recycledPercentageFeedstock": 0,
      "rapidRenewablesPercentageFeedstock": 0,
      "inheritEndOfLifePercentages": false,
      "recycledPercentageEndOfLife": 0.4,
      "landfillPercentageEndOfLife": 0.3,
      "inheritEfficiencyPercentages": true,
      "efficiencyPercentageRecyclingFeedstock": 0,
      "efficiencyPercentageRecyclingEndOfLife": 0
    }
  }
]

Replaces the children for a product.

PUT /api/v2.1/products/{id}/children

Sample request:

PUT api/[version]/products/[id]/children 

The matches to set.

ProductChild
id: string (uuid)
in path

The identifier of the product.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
[
  {
    "value": 0.3,
    "childId": "00000000-0000-0000-0000-000000000000",
    "circular": {
      "inheritFeedstockPercentages": true,
      "recycledPercentageFeedstock": 0,
      "rapidRenewablesPercentageFeedstock": 0,
      "inheritEndOfLifePercentages": false,
      "recycledPercentageEndOfLife": 0.4,
      "landfillPercentageEndOfLife": 0.3,
      "inheritEfficiencyPercentages": true,
      "efficiencyPercentageRecyclingFeedstock": 0,
      "efficiencyPercentageRecyclingEndOfLife": 0
    }
  }
]
200 OK

The children were set and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "value": 0.3,
    "childId": "00000000-0000-0000-0000-000000000000",
    "circular": {
      "inheritFeedstockPercentages": true,
      "recycledPercentageFeedstock": 0,
      "rapidRenewablesPercentageFeedstock": 0,
      "inheritEndOfLifePercentages": false,
      "recycledPercentageEndOfLife": 0.4,
      "landfillPercentageEndOfLife": 0.3,
      "inheritEfficiencyPercentages": true,
      "efficiencyPercentageRecyclingFeedstock": 0,
      "efficiencyPercentageRecyclingEndOfLife": 0
    }
  }
]

Adds a child for a product.

POST /api/v2.1/products/{id}/children

Sample request:

POST api/[version]/products/[id]/children

The child to add.

id: string (uuid)
in path

The identifier of the product.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "value": 0.3,
  "childId": "00000000-0000-0000-0000-000000000000",
  "circular": {
    "inheritFeedstockPercentages": true,
    "recycledPercentageFeedstock": 0,
    "rapidRenewablesPercentageFeedstock": 0,
    "inheritEndOfLifePercentages": false,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.3,
    "inheritEfficiencyPercentages": true,
    "efficiencyPercentageRecyclingFeedstock": 0,
    "efficiencyPercentageRecyclingEndOfLife": 0
  }
}
201 Created

The child was added and will be returned.

Response Content-Types: application/json
Response Example (201 Created)
{
  "value": 0.3,
  "childId": "00000000-0000-0000-0000-000000000000",
  "circular": {
    "inheritFeedstockPercentages": true,
    "recycledPercentageFeedstock": 0,
    "rapidRenewablesPercentageFeedstock": 0,
    "inheritEndOfLifePercentages": false,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.3,
    "inheritEfficiencyPercentages": true,
    "efficiencyPercentageRecyclingFeedstock": 0,
    "efficiencyPercentageRecyclingEndOfLife": 0
  }
}

Gets the matches of a product.

GET /api/v2.1/products/{id}/matches

Sample request:

GET api/[version]/products/[id]/matches
id: string (uuid)
in path

The identifier of the product.

The request was successful and will return the product's matches.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "value": "string",
    "matchType": "integer (int32)"
  }
]

Replaces the matches for a product.

PUT /api/v2.1/products/{id}/matches

Sample request:

PUT api/[version]/products/[id]/matches

The matches to set.

v2_0ProductMatch
id: string (uuid)
in path

The identifier of the product.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
[
  {
    "value": "string",
    "matchType": "integer (int32)"
  }
]

The matches were set and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "value": "string",
    "matchType": "integer (int32)"
  }
]

Adds a match for a product.

POST /api/v2.1/products/{id}/matches

Sample request:

POST api/[version]/products/[id]/matches

The match to add.

id: string (uuid)
in path

The identifier of the product.

Request Content-Types: application/json-patch+json, application/json, text/json, application/*+json
Request Example
{
  "value": "string",
  "matchType": "integer (int32)"
}
201 Created

The match was added and will be returned.

Response Content-Types: application/json
Response Example (201 Created)
{
  "value": "string",
  "matchType": "integer (int32)"
}

System

All actions not related to any entity.

Gets the available classification methods.

GET /api/v2.1/system/classificationmethods

Sample request:

GET api/[version]/system/classificationmethods

The classification methods.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "name": {
      "en": "english value",
      "nl": "nederlandse waarde"
    },
    "classificationTypeId": "string (uuid)",
    "classificationLevelTypeId": "string (uuid)",
    "id": "string (uuid)"
  }
]

Schema Definitions

v2_0AccountResponse: object

name: string
accountType: integer (int32) 1, 2, 3
id: string (uuid)
Example
{
  "name": "string",
  "accountType": "integer (int32)",
  "id": "string (uuid)"
}

v2_0BuildingResponse: object

portfolioId: string (uuid)
name: string
images: string[]
string
cadastralDesignation: string
cadastralArea: integer (int32)
parcelnumber: string
publicLawRestriction: string
completionDate: string (date-time)
lastRenovationDate: string (date-time)
addressStreet: string
addressHousenumber: string
addressHousenumberAddition: string
addressZipcode: string
addressCity: string
addressCountry: string
buildingUsage: string
grossSurfaceArea: number (double)
energyLabel: string
energyPerformanceCoefficient: number (double)
energyIndex: number (double)
expectedLifespan: integer (int32)
expectedLifespanStructure: integer (int32)
expectedLifespanSkin: integer (int32)
expectedLifespanServices: integer (int32)
expectedLifespanSpacePlan: integer (int32)
expectedLifespanStuff: integer (int32)
breeamLabel: integer (int32)
gprLabel: number (double)
mpgLabel: number (double)
mpgLabelManual: number (double)
mpgLabelIndicative: number (double)
leedLabel: string
wellScoreBuilding: integer (int32)
wellScoreInterior: integer (int32)
wellScoreCoreAndShell: integer (int32)
isDirty: boolean
hasDirtyElements: boolean
mostRecentBimInfo: string (date-time)
geoLatitude: number (double)
geoLongtitude: number (double)
phaseType: string (uuid)
classificationType: string (uuid)
id: string (uuid)
Example
{
  "portfolioId": "string (uuid)",
  "name": "string",
  "images": [
    "string"
  ],
  "cadastralDesignation": "string",
  "cadastralArea": "integer (int32)",
  "parcelnumber": "string",
  "publicLawRestriction": "string",
  "completionDate": "string (date-time)",
  "lastRenovationDate": "string (date-time)",
  "addressStreet": "string",
  "addressHousenumber": "string",
  "addressHousenumberAddition": "string",
  "addressZipcode": "string",
  "addressCity": "string",
  "addressCountry": "string",
  "buildingUsage": "string",
  "grossSurfaceArea": "number (double)",
  "energyLabel": "string",
  "energyPerformanceCoefficient": "number (double)",
  "energyIndex": "number (double)",
  "expectedLifespan": "integer (int32)",
  "expectedLifespanStructure": "integer (int32)",
  "expectedLifespanSkin": "integer (int32)",
  "expectedLifespanServices": "integer (int32)",
  "expectedLifespanSpacePlan": "integer (int32)",
  "expectedLifespanStuff": "integer (int32)",
  "breeamLabel": "integer (int32)",
  "gprLabel": "number (double)",
  "mpgLabel": "number (double)",
  "mpgLabelManual": "number (double)",
  "mpgLabelIndicative": "number (double)",
  "leedLabel": "string",
  "wellScoreBuilding": "integer (int32)",
  "wellScoreInterior": "integer (int32)",
  "wellScoreCoreAndShell": "integer (int32)",
  "isDirty": "boolean",
  "hasDirtyElements": "boolean",
  "mostRecentBimInfo": "string (date-time)",
  "geoLatitude": "number (double)",
  "geoLongtitude": "number (double)",
  "phaseType": "string (uuid)",
  "classificationType": "string (uuid)",
  "id": "string (uuid)"
}

v2_1BuildingRequest: object

portfolioId: string (uuid)
name: string
cadastralDesignation: string
cadastralArea: integer (int32)
parcelnumber: string
publicLawRestriction: string
completionDate: string (date-time)
lastRenovationDate: string (date-time)
addressStreet: string
addressHousenumber: string
addressHousenumberAddition: string
addressZipcode: string
addressCity: string
addressCountry: string
buildingUsage: string
grossSurfaceArea: number (double)
energyLabel: string
energyPerformanceCoefficient: number (double)
energyIndex: number (double)
expectedLifespan: integer (int32)
expectedLifespanStructure: integer (int32)
expectedLifespanSkin: integer (int32)
expectedLifespanServices: integer (int32)
expectedLifespanSpacePlan: integer (int32)
expectedLifespanStuff: integer (int32)
breeamLabel: integer (int32)
gprLabel: number (double)
mpgLabel: number (double)
leedLabel: string
wellScoreBuilding: integer (int32)
wellScoreInterior: integer (int32)
wellScoreCoreAndShell: integer (int32)
classificationType: string (uuid)
Example
{
  "portfolioId": "string (uuid)",
  "name": "string",
  "cadastralDesignation": "string",
  "cadastralArea": "integer (int32)",
  "parcelnumber": "string",
  "publicLawRestriction": "string",
  "completionDate": "string (date-time)",
  "lastRenovationDate": "string (date-time)",
  "addressStreet": "string",
  "addressHousenumber": "string",
  "addressHousenumberAddition": "string",
  "addressZipcode": "string",
  "addressCity": "string",
  "addressCountry": "string",
  "buildingUsage": "string",
  "grossSurfaceArea": "number (double)",
  "energyLabel": "string",
  "energyPerformanceCoefficient": "number (double)",
  "energyIndex": "number (double)",
  "expectedLifespan": "integer (int32)",
  "expectedLifespanStructure": "integer (int32)",
  "expectedLifespanSkin": "integer (int32)",
  "expectedLifespanServices": "integer (int32)",
  "expectedLifespanSpacePlan": "integer (int32)",
  "expectedLifespanStuff": "integer (int32)",
  "breeamLabel": "integer (int32)",
  "gprLabel": "number (double)",
  "mpgLabel": "number (double)",
  "leedLabel": "string",
  "wellScoreBuilding": "integer (int32)",
  "wellScoreInterior": "integer (int32)",
  "wellScoreCoreAndShell": "integer (int32)",
  "classificationType": "string (uuid)"
}

v1_1BuildingValidation: object

Validation data about a building

percentageClassificationAssignedByNumber: number (double)

The percentage of elements that have an assigned classifications, counted by number of elements

percentageClassificationAssignedByVolume: number (double)

The percentage of elements that have an assigned classifications, counted by volume of elements

percentageVolumeBaseQuantityAssignedByNumber: number (double)

The percentage of elements that have a volume base quantity, counted by number of elements

percentageAreaBaseQuantityAssignedByNumber: number (double)

The percentage of elements that have an area base quantity, counted by number of elements

percentageLengthBaseQuantityAssignedByNumber: number (double)

The percentage of elements that have a length base quantity, counted by number of elements

percentageBaseQuantitiesAssignedByNumber: number (double)

The percentage of elements that have base quantity information, counted by number of elements

percentageMaterialSpecifiedByNumber: number (double)

The percentage of elements that have a material specified, counted by number of elements

percentageMaterialSpecifiedByVolume: number (double)

The percentage of elements that have a material specified, counted by volume of elements

percentageElementsWithKnownMassByNumber: number (double)

The percentage of elements that have a known mass, counted by number of elements

percentageElementsMappedByNumber: number (double)

The percentage of elements that have been mapped to an element, counted by number of elements

percentageElementsMappedByVolume: number (double)

The percentage of elements that have been mapped to an element, counted by volume of elements

Example
{
  "percentageClassificationAssignedByNumber": 0.3,
  "percentageClassificationAssignedByVolume": 0.3,
  "percentageVolumeBaseQuantityAssignedByNumber": 0.3,
  "percentageAreaBaseQuantityAssignedByNumber": 0.3,
  "percentageLengthBaseQuantityAssignedByNumber": 0.3,
  "percentageBaseQuantitiesAssignedByNumber": 0.3,
  "percentageMaterialSpecifiedByNumber": 0.3,
  "percentageMaterialSpecifiedByVolume": 0.3,
  "percentageElementsWithKnownMassByNumber": 0.3,
  "percentageElementsMappedByNumber": 0.3,
  "percentageElementsMappedByVolume": 0.3
}

v1_1UserRightResponse: object

userId: string (uuid)
name: string
level: integer (int32) 0, 50, 70, 90
userType: integer (int32) 0, 1
isInvite: boolean
Example
{
  "userId": "string (uuid)",
  "name": "string",
  "level": "integer (int32)",
  "userType": "integer (int32)",
  "isInvite": "boolean"
}

v1_1UserRightRequest: object

userId: string (uuid)
level: integer (int32) 0, 50, 70, 90
Example
{
  "userId": "string (uuid)",
  "level": "integer (int32)"
}

v1_1BuildingCircularInformation: object

Circular information about a building

circularityConstructionPhase: number (double)

The use of non-virgin materials during the construction phase.

circularityUsagePhase: number (double)

The utility of the building.

circularityEndOfLifePhase: number (double)

The percentage of the content that is recoverable during the end-of-life phase.

ciScoreBuilding: number (double)

The combined CI score of the building using the circularity of the phases.

correctionUnknownMaterials: number (double)

The applicable correction for the amount of elements that have a known material.

correctionUnknownBrandLayer: number (double)

The applicable correction for the amount of elements that have a known brand layer.

madasterCiScore: number (double)

The final Madaster CI score, taking into account the corrections on the CI score.

Example
{
  "circularityConstructionPhase": 0.09,
  "circularityUsagePhase": 0.63,
  "circularityEndOfLifePhase": 0.04,
  "ciScoreBuilding": 0.05,
  "correctionUnknownMaterials": 0.8,
  "correctionUnknownBrandLayer": 0.87,
  "madasterCiScore": 0.05
}

v1_1BuildingFinancialInformation: object

Financial information about a building

currentValue: number (double)

The current value of the building, combining the value of all material families at the current time.

currentValuePerMaterialFamily: object

The current value of the building per material family.

ncwValue: number (double)

The netto value (NCW) of the building, taking into account rates and indexes, combining the value of all building levels.

ncwValuePerBuildingLevel: v1_1BuildingFinancialInformationPerBuildingLevel

The netto value (NCW) of the building, taking into account rates and indexes, per building level.

v1_1BuildingFinancialInformationPerBuildingLevel
Example
{
  "currentValue": 3774692,
  "currentValuePerMaterialFamily": {
    "stone": -484427,
    "glass": -67714,
    "wood": -9731,
    "plastic": -38027,
    "organic": -10133,
    "metal": 4384724
  },
  "ncwValue": -4931739,
  "ncwValuePerBuildingLevel": [
    {
      "id": "26a9ccae-ca9d-4cf0-9683-503321791978",
      "label": "Site",
      "value": -1102967
    },
    {
      "id": "9804b68f-25b5-4224-a408-1eca54aaa5bc",
      "label": "Structure",
      "value": -2638551
    },
    {
      "id": "b3f780d4-3a36-4dce-a8d0-e98557f73713",
      "label": "Skin",
      "value": -794324
    },
    {
      "id": "e8cf6e3d-35e4-4c61-8d72-fa417b0e9328",
      "label": "Services",
      "value": -173276
    },
    {
      "id": "f70048be-590e-4e5a-8a1f-09763d26ec87",
      "label": "Space plan",
      "value": -222791
    },
    {
      "id": "82c1967b-1f20-4c1f-8fe2-685a23ab01be",
      "label": "Stuff",
      "value": 157
    },
    {
      "id": "e2f286ba-6c71-425e-8d99-b9a00895be95",
      "label": "Unknown",
      "value": 13
    }
  ]
}

v1_1BuildingFinancialInformationPerBuildingLevel: object

id: string (uuid)
label: string
value: number (double)
Example
{
  "id": "string (uuid)",
  "label": "string",
  "value": "number (double)"
}

BuildingFileStatusResponse: object

status: integer (int32) 0, 1, 2, 3, 4, 5, 6, 7, 8, 99
elementProcessedCount: integer (int32)
elementCount: integer (int32)
statusMessage: string
id: string (uuid)
Example
{
  "status": "integer (int32)",
  "elementProcessedCount": "integer (int32)",
  "elementCount": "integer (int32)",
  "statusMessage": "string",
  "id": "string (uuid)"
}

BuildingFileResponse: object

buildingId: string (uuid)
isActive: boolean
isDirty: boolean
fileName: string
fileSize: integer (int64)
status: integer (int32) 0, 1, 2, 3, 4, 5, 6, 7, 8, 99
type: integer (int32) 0, 1, 1000, 1001
lastModifiedDate: string (date-time)
tags: string[]
string
validation: BuildingFileValidation
id: string (uuid)
Example
{
  "buildingId": "string (uuid)",
  "isActive": "boolean",
  "isDirty": "boolean",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "integer (int32)",
  "type": "integer (int32)",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "validation": {
    "percentageClassificationAssignedByNumber": 0.3,
    "percentageClassificationAssignedByVolume": 0.3,
    "percentageVolumeBaseQuantityAssignedByNumber": 0.3,
    "percentageAreaBaseQuantityAssignedByNumber": 0.3,
    "percentageLengthBaseQuantityAssignedByNumber": 0.3,
    "percentageBaseQuantitiesAssignedByNumber": 0.3,
    "percentageMaterialSpecifiedByNumber": 0.3,
    "percentageMaterialSpecifiedByVolume": 0.3,
    "percentageElementsWithKnownMassByNumber": 0.3,
    "percentageElementsMappedByNumber": 0.3,
    "percentageElementsMappedByVolume": 0.3
  },
  "id": "string (uuid)"
}

BuildingFileValidation: object

Validation data about a building file

percentageClassificationAssignedByNumber: number (double)

The percentage of elements that have an assigned classifications, counted by number of elements

percentageClassificationAssignedByVolume: number (double)

The percentage of elements that have an assigned classifications, counted by volume of elements

percentageVolumeBaseQuantityAssignedByNumber: number (double)

The percentage of elements that have a volume base quantity, counted by number of elements

percentageAreaBaseQuantityAssignedByNumber: number (double)

The percentage of elements that have an area base quantity, counted by number of elements

percentageLengthBaseQuantityAssignedByNumber: number (double)

The percentage of elements that have a length base quantity, counted by number of elements

percentageBaseQuantitiesAssignedByNumber: number (double)

The percentage of elements that have base quantity information, counted by number of elements

percentageMaterialSpecifiedByNumber: number (double)

The percentage of elements that have a material specified, counted by number of elements

percentageMaterialSpecifiedByVolume: number (double)

The percentage of elements that have a material specified, counted by volume of elements

percentageElementsWithKnownMassByNumber: number (double)

The percentage of elements that have a known mass, counted by number of elements

percentageElementsMappedByNumber: number (double)

The percentage of elements that have been mapped to an element, counted by number of elements

percentageElementsMappedByVolume: number (double)

The percentage of elements that have been mapped to an element, counted by volume of elements

Example
{
  "percentageClassificationAssignedByNumber": 0.3,
  "percentageClassificationAssignedByVolume": 0.3,
  "percentageVolumeBaseQuantityAssignedByNumber": 0.3,
  "percentageAreaBaseQuantityAssignedByNumber": 0.3,
  "percentageLengthBaseQuantityAssignedByNumber": 0.3,
  "percentageBaseQuantitiesAssignedByNumber": 0.3,
  "percentageMaterialSpecifiedByNumber": 0.3,
  "percentageMaterialSpecifiedByVolume": 0.3,
  "percentageElementsWithKnownMassByNumber": 0.3,
  "percentageElementsMappedByNumber": 0.3,
  "percentageElementsMappedByVolume": 0.3
}

v1_1FileDownloadResponse: object

url: string
expirationDateTime: string (date-time)
Example
{
  "url": "string",
  "expirationDateTime": "string (date-time)"
}

v2_0BuildingFileResponse: object

buildingId: string (uuid)
isActive: boolean
isDirty: boolean
fileName: string
fileSize: integer (int64)
status: integer (int32) 0, 1, 2, 3, 4, 5, 6, 7, 8, 99
type: integer (int32) 0, 1, 1000, 1001
lastModifiedDate: string (date-time)
tags: string[]
string
validation: BuildingFileValidation
preferredAccountIds: string[]
string (uuid)
id: string (uuid)
Example
{
  "buildingId": "string (uuid)",
  "isActive": "boolean",
  "isDirty": "boolean",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "integer (int32)",
  "type": "integer (int32)",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "validation": {
    "percentageClassificationAssignedByNumber": 0.3,
    "percentageClassificationAssignedByVolume": 0.3,
    "percentageVolumeBaseQuantityAssignedByNumber": 0.3,
    "percentageAreaBaseQuantityAssignedByNumber": 0.3,
    "percentageLengthBaseQuantityAssignedByNumber": 0.3,
    "percentageBaseQuantitiesAssignedByNumber": 0.3,
    "percentageMaterialSpecifiedByNumber": 0.3,
    "percentageMaterialSpecifiedByVolume": 0.3,
    "percentageElementsWithKnownMassByNumber": 0.3,
    "percentageElementsMappedByNumber": 0.3,
    "percentageElementsMappedByVolume": 0.3
  },
  "preferredAccountIds": [
    "string (uuid)"
  ],
  "id": "string (uuid)"
}

v2_0BuildingFileRequest: object

type: integer (int32) 0, 1
tags: string[]
string
name: string
preferredAccountIds: string[]
string (uuid)
Example
{
  "type": "integer (int32)",
  "tags": [
    "string"
  ],
  "name": "string",
  "preferredAccountIds": [
    "string (uuid)"
  ]
}

v1_2BuildingFileElementResponse: object

id: string
buildingFileId: string (uuid)
materialName: string
typeName: string
elementClass: string
volume: number (double)
area: number (double)
height: number (double)
width: number (double)
length: number (double)
weight: number (double)
mapping: v1_2Mapping
phaseMatch: v1_2PhaseMatch
brandLayerMatch: v1_2BrandLayerMatch
classificationMatch: v1_2ClassificationMatch
phaseLookup: string[]
string
classificationLookup: string[]
string
floor: string
Example
{
  "id": "string",
  "buildingFileId": "string (uuid)",
  "materialName": "string",
  "typeName": "string",
  "elementClass": "string",
  "volume": "number (double)",
  "area": "number (double)",
  "height": "number (double)",
  "width": "number (double)",
  "length": "number (double)",
  "weight": "number (double)",
  "mapping": {
    "type": "integer (int32)",
    "id": "string (uuid)"
  },
  "phaseMatch": {
    "name": "string",
    "id": "string (uuid)"
  },
  "brandLayerMatch": {
    "name": "string",
    "id": "string (uuid)"
  },
  "classificationMatch": {
    "name": "string",
    "code": "string",
    "id": "string (uuid)"
  },
  "phaseLookup": [
    "string"
  ],
  "classificationLookup": [
    "string"
  ],
  "floor": "string"
}

v1_2Mapping: object

type: integer (int32) 10, 20, 30, 40, 50
id: string (uuid)
Example
{
  "type": "integer (int32)",
  "id": "string (uuid)"
}

v1_2PhaseMatch: object

name: string
id: string (uuid)
Example
{
  "name": "string",
  "id": "string (uuid)"
}

v1_2BrandLayerMatch: object

name: string
id: string (uuid)
Example
{
  "name": "string",
  "id": "string (uuid)"
}

v1_2ClassificationMatch: object

name: string
code: string
id: string (uuid)
Example
{
  "name": "string",
  "code": "string",
  "id": "string (uuid)"
}

v1_2BuildingFileElementRequest: object

id: string
materialName: string
typeName: string
elementClass: string
volume: number (double)
area: number (double)
height: number (double)
width: number (double)
length: number (double)
weight: number (double)
phaseLookup: string
classificationLookup: string
floor: string
Example
{
  "id": "string",
  "materialName": "string",
  "typeName": "string",
  "elementClass": "string",
  "volume": "number (double)",
  "area": "number (double)",
  "height": "number (double)",
  "width": "number (double)",
  "length": "number (double)",
  "weight": "number (double)",
  "phaseLookup": "string",
  "classificationLookup": "string",
  "floor": "string"
}

Material: object

A material

name: object

The name of the material

nl: string
en: string
de: string
it: string
fr: string
es: string
elementFamily: string

The element family

description: object

The description of the element

nl: string
en: string
de: string
it: string
fr: string
es: string
supplier: string

The supplier of the material

specificWeight: number (double)

The specific weight of the material, in kg / m3

lifeTime: integer (int32)

The lifetime of the material, in years

circular: MaterialCircularInformation

The circular properties of the material

financial: MaterialFinancialInformation

The financial properties of the material

id: string (uuid)

The unique identifier

Example
{
  "name": {
    "en": "material name",
    "nl": "materiaalnaam"
  },
  "elementFamily": "family",
  "description": {
    "en": "material description",
    "nl": "materiaalbeschrijving"
  },
  "supplier": "supplier",
  "specificWeight": 50.5,
  "lifeTime": 50,
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5
  },
  "financial": {
    "importType": 0,
    "priceSetId": "priceset",
    "transportCosts": 50,
    "handlingFeedstockEuroKg": 50,
    "handlingFeedstockPercentage": 0.5
  },
  "id": "00000000-0000-0000-0000-000000000000"
}

MaterialCircularInformation: object

The circular properties of the element

recycledPercentageFeedstock: number (double) 0 ≤ x ≤ 1

The percentage of the material's feedstock that comes from recycled sources

rapidRenewablesPercentageFeedstock: number (double) 0 ≤ x ≤ 1

The percentage of the material's feedstock that comes from rapidly renewable sources

virginPercentageFeedstock: number (double)

The percentage of the material's feedstock that comes from virgin sources

recycledPercentageEndOfLife: number (double) 0 ≤ x ≤ 1

The percentage of the material that can be recycled at its end of life

landfillPercentageEndOfLife: number (double) 0 ≤ x ≤ 1

The percentage of the material that will go to the landfill at its end of life

incinerationPercentageEndOfLife: number (double)

The percentage of the material that will be incinerated at its end of life

efficiencyPercentageRecyclingFeedstock: number (double) 0 ≤ x ≤ 1

The efficiency of the recycling process that led to the feedstock

efficiencyPercentageRecyclingEndOfLife: number (double) 0 ≤ x ≤ 1

The efficiency of the recycling process when the material reaches its end of life

Example
{
  "recycledPercentageFeedstock": 0.4,
  "rapidRenewablesPercentageFeedstock": 0.4,
  "virginPercentageFeedstock": 0.2,
  "recycledPercentageEndOfLife": 0.4,
  "landfillPercentageEndOfLife": 0.4,
  "incinerationPercentageEndOfLife": 0.2,
  "efficiencyPercentageRecyclingFeedstock": 0.5,
  "efficiencyPercentageRecyclingEndOfLife": 0.5
}

MaterialFinancialInformation: object

The financial properties of the element

importType: integer (int32) 0, 10, 20, 30

The type of import that supplies this financial information

priceSetId: string

The identifier of the price set that supplies the financial information

transportCosts: number (double)

The costs of transporting the material to its destination

handlingFeedstockEuroKg: number (double)

The handling costs of the material, in € / kg

handlingFeedstockPercentage: number (double)

The handling costs of the material, in percentage of its value

Example
{
  "importType": 0,
  "priceSetId": "priceset",
  "transportCosts": 50,
  "handlingFeedstockEuroKg": 50,
  "handlingFeedstockPercentage": 0.5
}

MaterialFinancialValue: object

A material financial value

value: number (double)

The value of the material at this given moment

valueDate: string (date-time)

The moment at which this value was taken

currency: string

The identifier of the currency of this value

unit: integer (int32) 0, 1, 2, 3, 4, 5

The unit of this value

Example
{
  "value": 50.5,
  "valueDate": "2019-04-01T14:52:30.3970858Z",
  "currency": "EUR",
  "unit": 2
}

v2_0MaterialMatch: object

value: string
matchType: integer (int32) 10, 11, 12, 13, 20
Example
{
  "value": "string",
  "matchType": "integer (int32)"
}

PortfolioResponse: object

A portfolio

name: string

The name of the portfolio

logo: string

The file name of the logo of the portfolio

id: string (uuid)

The unique identifier

Example
{
  "name": "A portfolio",
  "logo": "https://madaster.blob.core.windows.net/assets/00000000-0000-0000-0000-000000000000/portfolio.jpg",
  "id": "00000000-0000-0000-0000-000000000000"
}

PortfolioRequest: object

A portfolio

name: string

The name of the portfolio

Example
{
  "name": "A portfolio"
}

BuildingResponse: object

portfolioId: string (uuid)
name: string
images: string[]
string
cadastralDesignation: string
cadastralArea: integer (int32)
parcelnumber: string
publicLawRestriction: string
completionDate: string (date-time)
lastRenovationDate: string (date-time)
addressStreet: string
addressHousenumber: string
addressHousenumberAddition: string
addressZipcode: string
addressCity: string
addressCountry: string
buildingUsage: string
grossSurfaceArea: number (double)
energyLabel: string
energyPerformanceCoefficient: number (double)
energyIndex: number (double)
expectedLifespan: integer (int32)
expectedLifespanStructure: integer (int32)
expectedLifespanSkin: integer (int32)
expectedLifespanServices: integer (int32)
expectedLifespanSpacePlan: integer (int32)
expectedLifespanStuff: integer (int32)
breeamLabel: integer (int32)
gprLabel: number (double)
mpgLabel: number (double)
mpgLabelManual: number (double)
mpgLabelIndicative: number (double)
leedLabel: string
isDirty: boolean
hasDirtyElements: boolean
mostRecentBimInfo: string (date-time)
geoLatitude: number (double)
geoLongtitude: number (double)
phaseType: string (uuid)
classificationType: string (uuid)
id: string (uuid)
Example
{
  "portfolioId": "string (uuid)",
  "name": "string",
  "images": [
    "string"
  ],
  "cadastralDesignation": "string",
  "cadastralArea": "integer (int32)",
  "parcelnumber": "string",
  "publicLawRestriction": "string",
  "completionDate": "string (date-time)",
  "lastRenovationDate": "string (date-time)",
  "addressStreet": "string",
  "addressHousenumber": "string",
  "addressHousenumberAddition": "string",
  "addressZipcode": "string",
  "addressCity": "string",
  "addressCountry": "string",
  "buildingUsage": "string",
  "grossSurfaceArea": "number (double)",
  "energyLabel": "string",
  "energyPerformanceCoefficient": "number (double)",
  "energyIndex": "number (double)",
  "expectedLifespan": "integer (int32)",
  "expectedLifespanStructure": "integer (int32)",
  "expectedLifespanSkin": "integer (int32)",
  "expectedLifespanServices": "integer (int32)",
  "expectedLifespanSpacePlan": "integer (int32)",
  "expectedLifespanStuff": "integer (int32)",
  "breeamLabel": "integer (int32)",
  "gprLabel": "number (double)",
  "mpgLabel": "number (double)",
  "mpgLabelManual": "number (double)",
  "mpgLabelIndicative": "number (double)",
  "leedLabel": "string",
  "isDirty": "boolean",
  "hasDirtyElements": "boolean",
  "mostRecentBimInfo": "string (date-time)",
  "geoLatitude": "number (double)",
  "geoLongtitude": "number (double)",
  "phaseType": "string (uuid)",
  "classificationType": "string (uuid)",
  "id": "string (uuid)"
}

v1_1CreatePassportRequest: object

buildingIds: string[]
string (uuid)
Example
{
  "buildingIds": [
    "string (uuid)"
  ]
}

v1_1PortfolioFileResponse: object

portfolioId: string (uuid)
fileName: string
fileSize: integer (int64)
status: integer (int32) 1, 6
type: integer (int32) 1, 1000
lastModifiedDate: string (date-time)
tags: string[]
string
id: string (uuid)
Example
{
  "portfolioId": "string (uuid)",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "integer (int32)",
  "type": "integer (int32)",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "id": "string (uuid)"
}

v1_1PortfolioFileRequest: object

name: string
tags: string[]
string
Example
{
  "name": "string",
  "tags": [
    "string"
  ]
}

v1_1PortfolioFileStatusResponse: object

status: integer (int32) 1, 6
statusMessage: string
id: string (uuid)
Example
{
  "status": "integer (int32)",
  "statusMessage": "string",
  "id": "string (uuid)"
}

Product: object

A product

name: object

The name of the product

nl: string
en: string
de: string
it: string
fr: string
es: string
type: integer (int32) 20, 30, 40, 50

The type of product

description: object

The description of the element

nl: string
en: string
de: string
it: string
fr: string
es: string
supplier: string

The supplier of the product

productCode: string

The product code (EAN)

circular: ProductCircularInformation

The circular properties of the product

fixedDimensions: ProductDimension

The fixed dimensions of this product

ProductDimension
defaultDimensions: ProductDimension

The default dimensions of this product's variable size, which will be used as a factor for all child relations

ProductDimension
id: string (uuid)

The unique identifier

Example
{
  "name": {
    "en": "product name",
    "nl": "productnaam"
  },
  "type": 40,
  "description": {
    "en": "product description",
    "nl": "productbeschrijving"
  },
  "supplier": "supplier",
  "productCode": "12345A",
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5,
    "technicalLifetime": 50,
    "functionalLifetime": 50,
    "productReusedPercentageFeedstock": 0.5,
    "productRecycledPercentageFeedstock": 0.2,
    "productRapidRenewablesPercentageFeedstock": 0.2,
    "productVirginPercentageFeedstock": 0.1,
    "productReusedPercentageEndOfLife": 0.5,
    "productRecycledPercentageEndOfLife": 0.2,
    "productLandfillPercentageEndOfLife": 0.2,
    "productIncinerationPercentageEndOfLife": 0.1
  },
  "fixedDimensions": [
    {
      "dimensionValue": 0.3,
      "dimensionType": 0
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": 0.2,
      "dimensionType": 1
    },
    {
      "dimensionValue": 0.4,
      "dimensionType": 2
    }
  ],
  "id": "00000000-0000-0000-0000-000000000000"
}

ProductCircularInformation: object

The circular properties of the element

recycledPercentageFeedstock: number (double)

The percentage of the material's feedstock that comes from recycled sources

rapidRenewablesPercentageFeedstock: number (double)

The percentage of the material's feedstock that comes from rapidly renewable sources

virginPercentageFeedstock: number (double)

The percentage of the material's feedstock that comes from virgin sources

recycledPercentageEndOfLife: number (double)

The percentage of the material that can be recycled at its end of life

landfillPercentageEndOfLife: number (double)

The percentage of the material that will go to the landfill at its end of life

incinerationPercentageEndOfLife: number (double)

The percentage of the material that will be incinerated at its end of life

efficiencyPercentageRecyclingFeedstock: number (double)

The efficiency of the recycling process that led to the feedstock

efficiencyPercentageRecyclingEndOfLife: number (double)

The efficiency of the recycling process when the material reaches its end of life

technicalLifetime: integer (int32) 0 ≤ x ≤ 1000

The technical lifetime of the product

functionalLifetime: integer (int32) 0 ≤ x ≤ 1000

The functional lifetime of the product

productReusedPercentageFeedstock: number (double) 0 ≤ x ≤ 1

The percentage of the product's feedstock that is re-used from other sources

productRecycledPercentageFeedstock: number (double)

The percentage of the product's feedstock that comes from recycled sources

productRapidRenewablesPercentageFeedstock: number (double)

The percentage of the product's feedstock that comes from rapidly renewable sources

productVirginPercentageFeedstock: number (double)

The percentage of the product's feedstock that comes from virgin sources

productReusedPercentageEndOfLife: number (double) 0 ≤ x ≤ 1

The percentage of the product that can be re-used at its end of life

productRecycledPercentageEndOfLife: number (double)

The percentage of the product that can be recycled at its end of life

productLandfillPercentageEndOfLife: number (double)

The percentage of the product that will go to the landfill at its end of life

productIncinerationPercentageEndOfLife: number (double)

The percentage of the product that will be incinerated at its end of life

Example
{
  "recycledPercentageFeedstock": 0.4,
  "rapidRenewablesPercentageFeedstock": 0.4,
  "virginPercentageFeedstock": 0.2,
  "recycledPercentageEndOfLife": 0.4,
  "landfillPercentageEndOfLife": 0.4,
  "incinerationPercentageEndOfLife": 0.2,
  "efficiencyPercentageRecyclingFeedstock": 0.5,
  "efficiencyPercentageRecyclingEndOfLife": 0.5,
  "technicalLifetime": 50,
  "functionalLifetime": 50,
  "productReusedPercentageFeedstock": 0.5,
  "productRecycledPercentageFeedstock": 0.2,
  "productRapidRenewablesPercentageFeedstock": 0.2,
  "productVirginPercentageFeedstock": 0.1,
  "productReusedPercentageEndOfLife": 0.5,
  "productRecycledPercentageEndOfLife": 0.2,
  "productLandfillPercentageEndOfLife": 0.2,
  "productIncinerationPercentageEndOfLife": 0.1
}

ProductDimension: object

A product dimension

dimensionValue: number (double)

The value of this dimension

dimensionType: integer (int32) 0, 1, 2, 3, 4, 5, 6, 7, 8

The type of this dimension

Example
{
  "dimensionValue": 0.5,
  "dimensionType": 0
}

v2_0Product: object

name: object

A dictionary with language-specific values

nl: string
en: string
de: string
it: string
fr: string
es: string
type: integer (int32) 20, 30, 40, 50
description: object

A dictionary with language-specific values

nl: string
en: string
de: string
it: string
fr: string
es: string
supplier: string
productCode: string
circular: ProductCircularInformation
fixedDimensions: ProductDimension
ProductDimension
defaultDimensions: ProductDimension
ProductDimension
id: string (uuid)
Example
{
  "name": {
    "en": "english value",
    "nl": "nederlandse waarde"
  },
  "type": "integer (int32)",
  "description": {
    "en": "english value",
    "nl": "nederlandse waarde"
  },
  "supplier": "string",
  "productCode": "string",
  "circular": {
    "recycledPercentageFeedstock": 0.4,
    "rapidRenewablesPercentageFeedstock": 0.4,
    "virginPercentageFeedstock": 0.2,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.4,
    "incinerationPercentageEndOfLife": 0.2,
    "efficiencyPercentageRecyclingFeedstock": 0.5,
    "efficiencyPercentageRecyclingEndOfLife": 0.5,
    "technicalLifetime": 50,
    "functionalLifetime": 50,
    "productReusedPercentageFeedstock": 0.5,
    "productRecycledPercentageFeedstock": 0.2,
    "productRapidRenewablesPercentageFeedstock": 0.2,
    "productVirginPercentageFeedstock": 0.1,
    "productReusedPercentageEndOfLife": 0.5,
    "productRecycledPercentageEndOfLife": 0.2,
    "productLandfillPercentageEndOfLife": 0.2,
    "productIncinerationPercentageEndOfLife": 0.1
  },
  "fixedDimensions": [
    {
      "dimensionValue": 0.5,
      "dimensionType": 0
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": 0.5,
      "dimensionType": 0
    }
  ],
  "id": "string (uuid)"
}

ProductFinancialValue: object

A material match

value: number (double)

The value of the product at this given moment

valueDate: string (date-time)

The moment at which this value was taken

currency: string

The identifier of the currency of this value

unit: integer (int32) 0, 1, 2, 3, 4, 5

The unit of this value

Example
{
  "value": 50.5,
  "valueDate": "2019-04-01T14:52:30.9437348Z",
  "currency": "EUR",
  "unit": 2
}

ProductChild: object

A product child

value: number (double)

The value of this child relation, so how much of the child can be found in the parent product, with a unit depending on the relation type

childId: string (uuid)

The identifier of the child

circular: ProductChildCircularInformation

The circular information about this child relation

Example
{
  "value": 0.3,
  "childId": "00000000-0000-0000-0000-000000000000",
  "circular": {
    "inheritFeedstockPercentages": true,
    "recycledPercentageFeedstock": 0,
    "rapidRenewablesPercentageFeedstock": 0,
    "inheritEndOfLifePercentages": false,
    "recycledPercentageEndOfLife": 0.4,
    "landfillPercentageEndOfLife": 0.3,
    "inheritEfficiencyPercentages": true,
    "efficiencyPercentageRecyclingFeedstock": 0,
    "efficiencyPercentageRecyclingEndOfLife": 0
  }
}

ProductChildCircularInformation: object

Circular information about a product child

inheritFeedstockPercentages: boolean

Whether the feedstock percentages should be inherited from the child

recycledPercentageFeedstock: number (double)

The percentage of the material's feedstock that comes from recycled sources

rapidRenewablesPercentageFeedstock: number (double)

The percentage of the material's feedstock that comes from rapidly renewable sources

inheritEndOfLifePercentages: boolean

Whether the end of life percentages should be inherited from the child

recycledPercentageEndOfLife: number (double)

The percentage of the material that can be recycled at its end of life

landfillPercentageEndOfLife: number (double)

The percentage of the material that will go to the landfill at its end of life

inheritEfficiencyPercentages: boolean

Whether the efficiency percentages should be inherited from the child

efficiencyPercentageRecyclingFeedstock: number (double)

The efficiency of the recycling process that led to the feedstock

efficiencyPercentageRecyclingEndOfLife: number (double)

The efficiency of the recycling process when the material reaches its end of life

Example
{
  "inheritFeedstockPercentages": true,
  "recycledPercentageFeedstock": 0,
  "rapidRenewablesPercentageFeedstock": 0,
  "inheritEndOfLifePercentages": false,
  "recycledPercentageEndOfLife": 0.4,
  "landfillPercentageEndOfLife": 0.3,
  "inheritEfficiencyPercentages": true,
  "efficiencyPercentageRecyclingFeedstock": 0,
  "efficiencyPercentageRecyclingEndOfLife": 0
}

v2_0ProductMatch: object

value: string
matchType: integer (int32) 10, 11, 12, 13, 20
Example
{
  "value": "string",
  "matchType": "integer (int32)"
}

ClassificationMethod: object

name: object

A dictionary with language-specific values

nl: string
en: string
de: string
it: string
fr: string
es: string
classificationTypeId: string (uuid)
classificationLevelTypeId: string (uuid)
id: string (uuid)
Example
{
  "name": {
    "en": "english value",
    "nl": "nederlandse waarde"
  },
  "classificationTypeId": "string (uuid)",
  "classificationLevelTypeId": "string (uuid)",
  "id": "string (uuid)"
}