Madaster Private API - Build: 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/
If you prefer a static documentation: https://docs.madaster.com/api-docs

Contact: service@madaster.com
Version: v3.0

Authentication

Token

Token Authorization

type
apiKey
name
X-API-Key
in
header

Account

All actions related to the account entity.

Gets the current account for the token

GET /api/v3.0/account

The account for the used token.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "Madaster Service B.V.",
  "accountType": "string"
}

Gets the foldertypes for the account

GET /api/v3.0/account/foldertypes
200 OK

The foldertypes for the account.

type
Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": {
      "nl": "nederlandse waarde",
      "en": "english value"
    },
    "pluralName": {
      "nl": "nederlandse waarde",
      "en": "english value"
    },
    "description": {
      "nl": "nederlandse waarde",
      "en": "english value"
    },
    "allowbuildings": "boolean",
    "hasAddress": "boolean",
    "hasSpatialCoordinates": "boolean",
    "allowedSubFolderTypeIds": [
      "string (uuid)"
    ]
  }
]

Building

All actions related to buildings.

Gets all buildings

GET /api/v3.0/building

The request was successful and will return all buildings.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "folderId": "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)",
    "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)"
  }
]

Adds a building

POST /api/v3.0/building

undefined

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "folderId": "string (uuid)",
  "name": "string",
  "phase": "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)",
  "leedLabel": "string",
  "wellScoreBuilding": "integer (int32)",
  "wellScoreInterior": "integer (int32)",
  "wellScoreCoreAndShell": "integer (int32)",
  "classificationType": "string (uuid)",
  "materialClassificationTypeId": "string"
}
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)
{
  "id": "string (uuid)",
  "folderId": "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)",
  "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)"
}

Gets a building by its identifier

GET /api/v3.0/building/{id}
id: string (uuid)
in path

The building identifier

The request was successful and will return the building.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string (uuid)",
  "folderId": "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)",
  "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)"
}

Replaces a building

PUT /api/v3.0/building/{id}

undefined

id: string (uuid)
in path

The building identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "folderId": "string (uuid)",
  "name": "string",
  "phase": "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)",
  "leedLabel": "string",
  "wellScoreBuilding": "integer (int32)",
  "wellScoreInterior": "integer (int32)",
  "wellScoreCoreAndShell": "integer (int32)",
  "classificationType": "string (uuid)",
  "materialClassificationTypeId": "string"
}

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

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string (uuid)",
  "folderId": "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)",
  "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)"
}

Deletes the building and all related data

DELETE /api/v3.0/building/{id}
id: string (uuid)
in path

The building identifier

204 No Content

The building was successfully deleted.

Gets building validation parameters

GET /api/v3.0/building/{id}/validation
id: string (uuid)
in path

The building identifier

The building validation paramaters for the active source files.

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

Gets the circular information of a building

GET /api/v3.0/building/{id}/circular
id: string (uuid)
in path

The building identifier

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

Response Content-Types: application/json
Response Example (200 OK)
{
  "circularityConstructionPhase": "number (double)",
  "circularityUsagePhase": "number (double)",
  "circularityEndOfLifePhase": "number (double)",
  "ciScoreBuilding": "number (double)",
  "correctionUnknownMaterials": "number (double)",
  "correctionUnknownBrandLayer": "number (double)",
  "madasterCiScore": "number (double)"
}

Schedules the building for proccesing, recalculates all data

POST /api/v3.0/building/{id}/process
id: string (uuid)
in path

The building identifier

202 Accepted

The processing was accepted for generation

Schedules the generation of a PDF building passport

POST /api/v3.0/building/{id}/exportpassport
id: string (uuid)
in path

The building identifier

accept-language: string nl, en, es, fr, it, de en
in header

The culture to use for the request

202 Accepted

The pdf passport was accepted for generation

Schedules the generation of a Excel building passport

POST /api/v3.0/building/{id}/exportexcelpassport
id: string (uuid)
in path

The building identifier

accept-language: string nl, en, es, fr, it, de en
in header

The culture to use for the request

202 Accepted

The excel passport was accepted for generation

BuildingFile

All actions related to building files (ifc/excel/other).

Gets all building files

GET /api/v3.0/building/{buildingId}/files
buildingId: string (uuid)
in path

The building identifier

The request was successful and will return all building files.

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

Adds a building file

POST /api/v3.0/building/{buildingId}/files
buildingId: string (uuid)
in path

The building identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "type": "string",
  "tags": [
    "string"
  ],
  "name": "string",
  "preferredDatabaseIds": [
    "string (uuid)"
  ]
}
201 Created

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)
{
  "id": "string (uuid)",
  "buildingId": "string (uuid)",
  "isActive": "boolean",
  "isDirty": "boolean",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "string",
  "type": "string",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "validation": {
    "percentageClassificationAssignedByNumber": "number (double)",
    "percentageClassificationAssignedByVolume": "number (double)",
    "percentageVolumeBaseQuantityAssignedByNumber": "number (double)",
    "percentageAreaBaseQuantityAssignedByNumber": "number (double)",
    "percentageLengthBaseQuantityAssignedByNumber": "number (double)",
    "percentageBaseQuantitiesAssignedByNumber": "number (double)",
    "percentageMaterialSpecifiedByNumber": "number (double)",
    "percentageMaterialSpecifiedByVolume": "number (double)",
    "percentageElementsWithKnownMassByNumber": "number (double)",
    "percentageElementsMappedByNumber": "number (double)",
    "percentageElementsMappedByVolume": "number (double)"
  }
}

Gets a building file by its identifier

GET /api/v3.0/building/{buildingId}/files/{id}
buildingId: string (uuid)
in path

The building identifier

id: string (uuid)
in path

The file identifier

The request was successful and will return the building file.

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

Delete a building file

DELETE /api/v3.0/building/{buildingId}/files/{id}
buildingId: string (uuid)
in path

The building identifier

id: string (uuid)
in path

The file identifier

204 No Content

The building was successfully deleted.

Gets a building file status by its identifier

GET /api/v3.0/building/{buildingId}/files/{id}/status
buildingId: string (uuid)
in path

The building identifier

id: string (uuid)
in path

The file identifier

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

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

Gets a download url for the building file

GET /api/v3.0/building/{buildingId}/files/{id}/download
buildingId: string (uuid)
in path

The building identifier

id: string (uuid)
in path

The file identifier

The request was successful and will return the download url.

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

Activates or deactivates a building file

POST /api/v3.0/building/{buildingId}/files/{id}/active
buildingId: string (uuid)
in path

The building identifier

id: string (uuid)
in path

The file identifier

Request Content-Types: 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)
{
  "id": "string (uuid)",
  "buildingId": "string (uuid)",
  "isActive": "boolean",
  "isDirty": "boolean",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "string",
  "type": "string",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "validation": {
    "percentageClassificationAssignedByNumber": "number (double)",
    "percentageClassificationAssignedByVolume": "number (double)",
    "percentageVolumeBaseQuantityAssignedByNumber": "number (double)",
    "percentageAreaBaseQuantityAssignedByNumber": "number (double)",
    "percentageLengthBaseQuantityAssignedByNumber": "number (double)",
    "percentageBaseQuantitiesAssignedByNumber": "number (double)",
    "percentageMaterialSpecifiedByNumber": "number (double)",
    "percentageMaterialSpecifiedByVolume": "number (double)",
    "percentageElementsWithKnownMassByNumber": "number (double)",
    "percentageElementsMappedByNumber": "number (double)",
    "percentageElementsMappedByVolume": "number (double)"
  }
}

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

POST /api/v3.0/building/{buildingId}/files/{id}/setimporting
buildingId: string (uuid)
in path

The building identifier

id: string (uuid)
in path

The file identifier

204 No Content

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

Starts the refinement of a building file.

POST /api/v3.0/building/{buildingId}/files/{id}/startrefinement
buildingId: string (uuid)
in path

The building identifier

id: string (uuid)
in path

The file identifier

202 Accepted

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

Uploads a building file.

POST /api/v3.0/building/{buildingId}/files/{id}/upload/{fileName}
buildingId: string (uuid)
in path

The building identifier

id: string (uuid)
in path

The file identifier

fileName: string
in path

The file name

Request Content-Types: application/octet-stream
Request Example
"string (byte)"
201 Created

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

202 Accepted

The building file was successfully uploaded.

BuildingFileElement

All actions related to building file elements (ifc elements).

Gets a building file's elements

GET /api/v3.0/building/{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 building identifier

fileId: string (uuid)
in path

The file identifier

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

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string",
    "name": "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)",
    "mapping": {
      "id": "string (uuid)",
      "type": "string"
    },
    "phaseMatch": {
      "id": "string (uuid)",
      "name": "string"
    },
    "brandLayerMatch": {
      "id": "string (uuid)",
      "name": "string"
    },
    "classificationMatch": {
      "id": "string (uuid)",
      "name": "string",
      "code": "string"
    },
    "phaseLookup": [
      "string"
    ],
    "classificationLookup": [
      "string"
    ],
    "floor": "string"
  }
]

Create a new building file element

POST /api/v3.0/building/{buildingId}/files/{fileId}/elements
buildingId: string (uuid)
in path

The building identifier

fileId: string (uuid)
in path

The file identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "id": "1234567890",
  "name": "string",
  "materialName": "Concrete",
  "materialId": "string (uuid)",
  "typeName": "string",
  "elementClass": "IfcWall",
  "volume": "number (double)",
  "area": "number (double)",
  "height": "number (double)",
  "width": "number (double)",
  "length": "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",
  "name": "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)",
  "mapping": {
    "id": "string (uuid)",
    "type": "string"
  },
  "phaseMatch": {
    "id": "string (uuid)",
    "name": "string"
  },
  "brandLayerMatch": {
    "id": "string (uuid)",
    "name": "string"
  },
  "classificationMatch": {
    "id": "string (uuid)",
    "name": "string",
    "code": "string"
  },
  "phaseLookup": [
    "string"
  ],
  "classificationLookup": [
    "string"
  ],
  "floor": "string"
}

Gets a building file element

GET /api/v3.0/building/{buildingId}/files/{fileId}/elements/{id}
buildingId: string (uuid)
in path

The building identifier

fileId: string (uuid)
in path

The file identifier

id: string
in path

The element identifier

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

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string",
  "name": "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)",
  "mapping": {
    "id": "string (uuid)",
    "type": "string"
  },
  "phaseMatch": {
    "id": "string (uuid)",
    "name": "string"
  },
  "brandLayerMatch": {
    "id": "string (uuid)",
    "name": "string"
  },
  "classificationMatch": {
    "id": "string (uuid)",
    "name": "string",
    "code": "string"
  },
  "phaseLookup": [
    "string"
  ],
  "classificationLookup": [
    "string"
  ],
  "floor": "string"
}

Updated an existing building file element

PUT /api/v3.0/building/{buildingId}/files/{fileId}/elements/{id}
buildingId: string (uuid)
in path

The building identifier

fileId: string (uuid)
in path

The file identifier

id: string
in path

The element identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "id": "1234567890",
  "name": "string",
  "materialName": "Concrete",
  "materialId": "string (uuid)",
  "typeName": "string",
  "elementClass": "IfcWall",
  "volume": "number (double)",
  "area": "number (double)",
  "height": "number (double)",
  "width": "number (double)",
  "length": "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",
  "name": "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)",
  "mapping": {
    "id": "string (uuid)",
    "type": "string"
  },
  "phaseMatch": {
    "id": "string (uuid)",
    "name": "string"
  },
  "brandLayerMatch": {
    "id": "string (uuid)",
    "name": "string"
  },
  "classificationMatch": {
    "id": "string (uuid)",
    "name": "string",
    "code": "string"
  },
  "phaseLookup": [
    "string"
  ],
  "classificationLookup": [
    "string"
  ],
  "floor": "string"
}

Deletes an existing building file element

DELETE /api/v3.0/building/{buildingId}/files/{fileId}/elements/{id}
buildingId: string (uuid)
in path

The building identifier

fileId: string (uuid)
in path

The file identifier

id: string
in path

The element identifier

204 No Content

The building file element was successfully deleted.

Batch: upsert (insert or update) multiple new building file elements (max 500)

POST /api/v3.0/building/{buildingId}/files/{fileId}/elements/batch
BuildingFileElementRequest
buildingId: string (uuid)
in path

The building identifier

fileId: string (uuid)
in path

The file identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
[
  {
    "id": "1234567890",
    "name": "string",
    "materialName": "Concrete",
    "materialId": "string (uuid)",
    "typeName": "string",
    "elementClass": "IfcWall",
    "volume": "number (double)",
    "area": "number (double)",
    "height": "number (double)",
    "width": "number (double)",
    "length": "number (double)",
    "phaseLookup": "string",
    "classificationLookup": "string",
    "floor": "string"
  }
]

The building file elements are created or updated.

Response Content-Types: application/json
Response Example (200 OK)
{
  "failures": [
    "string"
  ]
}

Database

All actions related to material databases.

Gets all material databases

GET /api/v3.0/database
accept-language: string nl, en, es, fr, it, de en
in header

The culture to use for the request

The available databases for the specified token.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "accountId": "00000000-0000-0000-0000-000000000000",
    "name": {
      "nl": "nederlandse waarde",
      "en": "english value"
    },
    "initiallySelectedForEnrichment": "boolean",
    "isGlobalAvailable": "boolean",
    "readOnly": "boolean",
    "databaseType": "string",
    "parentId": "string (uuid)",
    "parentType": "string",
    "parentName": "string"
  }
]

Creates a new material database

POST /api/v3.0/database

undefined

Request Content-Types: application/json
Request Example
{
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "initiallySelectedForEnrichment": "boolean"
}
201 Created

The created database.

Response Content-Types: application/json
Response Example (201 Created)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "initiallySelectedForEnrichment": "boolean",
  "isGlobalAvailable": "boolean",
  "readOnly": "boolean",
  "databaseType": "string",
  "parentId": "string (uuid)",
  "parentType": "string",
  "parentName": "string"
}

Get a material databases

GET /api/v3.0/database/{id}
id: string (uuid)
in path

The database identifier

accept-language: string nl, en, es, fr, it, de en
in header

The culture to use for the request

The material database.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "initiallySelectedForEnrichment": "boolean",
  "isGlobalAvailable": "boolean",
  "readOnly": "boolean",
  "databaseType": "string",
  "parentId": "string (uuid)",
  "parentType": "string",
  "parentName": "string"
}

Updates an existing database

PUT /api/v3.0/database/{id}

undefined

id: string (uuid)
in path

The database identifier

Request Content-Types: application/json
Request Example
{
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "initiallySelectedForEnrichment": "boolean"
}
202 Accepted

The account for the used token.

Response Content-Types: application/json
Response Example (202 Accepted)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "initiallySelectedForEnrichment": "boolean",
  "isGlobalAvailable": "boolean",
  "readOnly": "boolean",
  "databaseType": "string",
  "parentId": "string (uuid)",
  "parentType": "string",
  "parentName": "string"
}

Delete an existing database

DELETE /api/v3.0/database/{id}
id: string (uuid)
in path

The database identifier

204 No Content

The database was successfully deleted.

Folder

All actions related to folders.

Gets all folders

GET /api/v3.0/folder

The available folders for the account.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": "Portfolio 1",
    "description": "string",
    "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "foldertypeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  }
]

Create a new folder

POST /api/v3.0/folder

undefined

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "name": "Portfolio 1",
  "description": "string",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "foldertypeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
201 Created

The folder 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": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "Portfolio 1",
  "description": "string",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "foldertypeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Gets a portfolio by its identifier

GET /api/v3.0/folder/{id}
id: string (uuid)
in path

The folder identifier

The request was successful and will return the folder.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "Portfolio 1",
  "description": "string",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "foldertypeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Replaces a folder

PUT /api/v3.0/folder/{id}

undefined

id: string (uuid)
in path

The folder identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "name": "Portfolio 1",
  "description": "string",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "foldertypeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

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

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "Portfolio 1",
  "description": "string",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "foldertypeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Material

All actions related to the materials.

Gets all materials from a database

GET /api/v3.0/material/{databaseId}
databaseId: string (uuid)
in path

The database identifier

All materials in the database

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "databaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": {
      "nl": "nederlandse waarde",
      "en": "english value"
    },
    "description": {
      "nl": "nederlandse waarde",
      "en": "english value"
    },
    "supplier": "Manufacturer name",
    "specificWeight": 1230,
    "lifeTime": 50,
    "materialFamilies": [
      {
        "classificationId": "madaster",
        "id": "glass"
      }
    ],
    "circular": {
      "recycledPercentageFeedstock": 0,
      "rapidRenewablesPercentageFeedstock": 0,
      "virginPercentageFeedstock": 1,
      "recycledPercentageEndOfLife": 0,
      "landfillPercentageEndOfLife": 0,
      "incinerationPercentageEndOfLife": 1,
      "efficiencyPercentageRecyclingFeedstock": 0.75,
      "efficiencyPercentageRecyclingEndOfLife": 0.75
    }
  }
]

Create a new material

POST /api/v3.0/material/{databaseId}

undefined

databaseId: string (uuid)
in path

The database identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "supplier": "Manufacturer name",
  "specificWeight": 1230,
  "lifeTime": 50,
  "materialFamilies": [
    {
      "classificationId": "madaster",
      "id": "glass"
    }
  ],
  "circular": {
    "recycledPercentageFeedstock": 0,
    "rapidRenewablesPercentageFeedstock": 0,
    "recycledPercentageEndOfLife": 0,
    "landfillPercentageEndOfLife": 0,
    "efficiencyPercentageRecyclingFeedstock": 0.75,
    "efficiencyPercentageRecyclingEndOfLife": 0.75
  }
}
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)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "databaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "supplier": "Manufacturer name",
  "specificWeight": 1230,
  "lifeTime": 50,
  "materialFamilies": [
    {
      "classificationId": "madaster",
      "id": "glass"
    }
  ],
  "circular": {
    "recycledPercentageFeedstock": 0,
    "rapidRenewablesPercentageFeedstock": 0,
    "virginPercentageFeedstock": 1,
    "recycledPercentageEndOfLife": 0,
    "landfillPercentageEndOfLife": 0,
    "incinerationPercentageEndOfLife": 1,
    "efficiencyPercentageRecyclingFeedstock": 0.75,
    "efficiencyPercentageRecyclingEndOfLife": 0.75
  }
}

Gets a material by id

GET /api/v3.0/material/{databaseId}/{id}
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material identifier

The material

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "databaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "supplier": "Manufacturer name",
  "specificWeight": 1230,
  "lifeTime": 50,
  "materialFamilies": [
    {
      "classificationId": "madaster",
      "id": "glass"
    }
  ],
  "circular": {
    "recycledPercentageFeedstock": 0,
    "rapidRenewablesPercentageFeedstock": 0,
    "virginPercentageFeedstock": 1,
    "recycledPercentageEndOfLife": 0,
    "landfillPercentageEndOfLife": 0,
    "incinerationPercentageEndOfLife": 1,
    "efficiencyPercentageRecyclingFeedstock": 0.75,
    "efficiencyPercentageRecyclingEndOfLife": 0.75
  }
}

Update an existing material

PUT /api/v3.0/material/{databaseId}/{id}

undefined

databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "supplier": "Manufacturer name",
  "specificWeight": 1230,
  "lifeTime": 50,
  "materialFamilies": [
    {
      "classificationId": "madaster",
      "id": "glass"
    }
  ],
  "circular": {
    "recycledPercentageFeedstock": 0,
    "rapidRenewablesPercentageFeedstock": 0,
    "recycledPercentageEndOfLife": 0,
    "landfillPercentageEndOfLife": 0,
    "efficiencyPercentageRecyclingFeedstock": 0.75,
    "efficiencyPercentageRecyclingEndOfLife": 0.75
  }
}

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

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "databaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "supplier": "Manufacturer name",
  "specificWeight": 1230,
  "lifeTime": 50,
  "materialFamilies": [
    {
      "classificationId": "madaster",
      "id": "glass"
    }
  ],
  "circular": {
    "recycledPercentageFeedstock": 0,
    "rapidRenewablesPercentageFeedstock": 0,
    "virginPercentageFeedstock": 1,
    "recycledPercentageEndOfLife": 0,
    "landfillPercentageEndOfLife": 0,
    "incinerationPercentageEndOfLife": 1,
    "efficiencyPercentageRecyclingFeedstock": 0.75,
    "efficiencyPercentageRecyclingEndOfLife": 0.75
  }
}

Gets the financial settings for a material

GET /api/v3.0/material/{databaseId}/{id}/financial
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material identifier

The material financial settings

Response Content-Types: application/json
Response Example (200 OK)
{
  "importType": "string",
  "priceSetId": "string",
  "transportCosts": "number (double)",
  "handlingFeedstockEuroKg": "number (double)",
  "handlingFeedstockPercentage": "number (double)"
}

Updates the financial settings for a material

PUT /api/v3.0/material/{databaseId}/{id}/financial
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "importType": "string",
  "priceSetId": "string",
  "transportCosts": "number (double)",
  "handlingFeedstockEuroKg": "number (double)",
  "handlingFeedstockPercentage": "number (double)"
}

The material financial settings

Response Content-Types: application/json
Response Example (200 OK)
{
  "importType": "string",
  "priceSetId": "string",
  "transportCosts": "number (double)",
  "handlingFeedstockEuroKg": "number (double)",
  "handlingFeedstockPercentage": "number (double)"
}

Gets the financial values for a material in manual import mode.

GET /api/v3.0/material/{databaseId}/{id}/financialvalues
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material identifier

The material financial values.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "value": "number (double)",
    "date": "string (date-time)",
    "currency": "string",
    "unit": "string"
  }
]

Adds a financial value for a material

POST /api/v3.0/material/{databaseId}/{id}/financialvalues
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "value": "number (double)",
  "date": "string (date-time)",
  "currency": "string",
  "unit": "string"
}
204 No Content

The financial value was added.

Updates a financial value for a material

PUT /api/v3.0/material/{databaseId}/{id}/financialvalues/{valueId}
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material identifier

valueId: string (uuid)
in path

The financial value identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "value": "number (double)",
  "date": "string (date-time)",
  "currency": "string",
  "unit": "string"
}
204 No Content

The financial value was updated.

Deleted a financial value for a material

DELETE /api/v3.0/material/{databaseId}/{id}/financialvalues/{valueId}
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material identifier

valueId: string (uuid)
in path

The financial value identifier

204 No Content

The financial value was deleted.

Gets the matching criteria for a material/product

GET /api/v3.0/material/{databaseId}/{id}/matches
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

Returns all matches.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "value": "concrete",
    "matchType": "string",
    "languageCode": "en"
  }
]

Adds a matchingcriterion to a material/product

POST /api/v3.0/material/{databaseId}/{id}/matches

undefined

databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "value": "concrete",
  "matchType": "string",
  "languageCode": "en"
}

The match was added and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "value": "concrete",
  "matchType": "string",
  "languageCode": "en"
}

Gets a specific matching criteria for a material/product

GET /api/v3.0/material/{databaseId}/{id}/matches/{matchId}
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

matchId: string (uuid)
in path

The match identifier

Returns a specific match.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "value": "concrete",
    "matchType": "string",
    "languageCode": "en"
  }
]

Updates a matchingcriterion for a material/product

PUT /api/v3.0/material/{databaseId}/{id}/matches/{matchId}

undefined

databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

matchId: string (uuid)
in path

The match identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "value": "concrete",
  "matchType": "string",
  "languageCode": "en"
}

The match was updated and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "value": "concrete",
  "matchType": "string",
  "languageCode": "en"
}

Deletes a matchingcriterion for a material/product

DELETE /api/v3.0/material/{databaseId}/{id}/matches/{matchId}
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

matchId: string (uuid)
in path

The match identifier

204 No Content

The match was deleted.

Product

All actions related to the products.

Gets all products from a database

GET /api/v3.0/product/{databaseId}
databaseId: string (uuid)
in path

The database identifier

All products in the database

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "databaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "name": {
      "nl": "nederlandse waarde",
      "en": "english value"
    },
    "description": {
      "nl": "nederlandse waarde",
      "en": "english value"
    },
    "productType": "string",
    "supplier": "Manufacturer name",
    "productCode": "7 446040 123456",
    "technicalLifetime": "integer (int32)",
    "functionalLifetime": "integer (int32)",
    "circular": {
      "efficiencyPercentageRecyclingFeedstock": "number (double)",
      "efficiencyPercentageRecyclingEndOfLife": "number (double)",
      "productReusedPercentageFeedstock": "number (double)",
      "productRecycledPercentageFeedstock": "number (double)",
      "productRapidRenewablesPercentageFeedstock": "number (double)",
      "productVirginPercentageFeedstock": "number (double)",
      "productReusedPercentageEndOfLife": "number (double)",
      "productRecycledPercentageEndOfLife": "number (double)",
      "productLandfillPercentageEndOfLife": "number (double)",
      "productIncinerationPercentageEndOfLife": "number (double)"
    },
    "fixedDimensions": [
      {
        "dimensionValue": "number (double)",
        "dimensionType": "string"
      }
    ],
    "defaultDimensions": [
      {
        "dimensionValue": "number (double)",
        "dimensionType": "string"
      }
    ]
  }
]

Create a new product

POST /api/v3.0/product/{databaseId}

undefined

databaseId: string (uuid)
in path

The database identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "productType": "string",
  "supplier": "Manufacturer name",
  "productCode": "7 446040 123456",
  "circular": {
    "productReusedPercentageFeedstock": "number (double)",
    "productReusedPercentageEndOfLife": "number (double)"
  },
  "technicalLifetime": "integer (int32)",
  "functionalLifetime": "integer (int32)",
  "fixedDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ]
}
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)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "databaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "productType": "string",
  "supplier": "Manufacturer name",
  "productCode": "7 446040 123456",
  "technicalLifetime": "integer (int32)",
  "functionalLifetime": "integer (int32)",
  "circular": {
    "efficiencyPercentageRecyclingFeedstock": "number (double)",
    "efficiencyPercentageRecyclingEndOfLife": "number (double)",
    "productReusedPercentageFeedstock": "number (double)",
    "productRecycledPercentageFeedstock": "number (double)",
    "productRapidRenewablesPercentageFeedstock": "number (double)",
    "productVirginPercentageFeedstock": "number (double)",
    "productReusedPercentageEndOfLife": "number (double)",
    "productRecycledPercentageEndOfLife": "number (double)",
    "productLandfillPercentageEndOfLife": "number (double)",
    "productIncinerationPercentageEndOfLife": "number (double)"
  },
  "fixedDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ]
}

Gets a product by id

GET /api/v3.0/product/{databaseId}/{id}
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The product identifier

The product

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "databaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "productType": "string",
  "supplier": "Manufacturer name",
  "productCode": "7 446040 123456",
  "technicalLifetime": "integer (int32)",
  "functionalLifetime": "integer (int32)",
  "circular": {
    "efficiencyPercentageRecyclingFeedstock": "number (double)",
    "efficiencyPercentageRecyclingEndOfLife": "number (double)",
    "productReusedPercentageFeedstock": "number (double)",
    "productRecycledPercentageFeedstock": "number (double)",
    "productRapidRenewablesPercentageFeedstock": "number (double)",
    "productVirginPercentageFeedstock": "number (double)",
    "productReusedPercentageEndOfLife": "number (double)",
    "productRecycledPercentageEndOfLife": "number (double)",
    "productLandfillPercentageEndOfLife": "number (double)",
    "productIncinerationPercentageEndOfLife": "number (double)"
  },
  "fixedDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ]
}

Update an existing product

PUT /api/v3.0/product/{databaseId}/{id}

undefined

databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The product identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "productType": "string",
  "supplier": "Manufacturer name",
  "productCode": "7 446040 123456",
  "circular": {
    "productReusedPercentageFeedstock": "number (double)",
    "productReusedPercentageEndOfLife": "number (double)"
  },
  "technicalLifetime": "integer (int32)",
  "functionalLifetime": "integer (int32)",
  "fixedDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ]
}

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

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "databaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "productType": "string",
  "supplier": "Manufacturer name",
  "productCode": "7 446040 123456",
  "technicalLifetime": "integer (int32)",
  "functionalLifetime": "integer (int32)",
  "circular": {
    "efficiencyPercentageRecyclingFeedstock": "number (double)",
    "efficiencyPercentageRecyclingEndOfLife": "number (double)",
    "productReusedPercentageFeedstock": "number (double)",
    "productRecycledPercentageFeedstock": "number (double)",
    "productRapidRenewablesPercentageFeedstock": "number (double)",
    "productVirginPercentageFeedstock": "number (double)",
    "productReusedPercentageEndOfLife": "number (double)",
    "productRecycledPercentageEndOfLife": "number (double)",
    "productLandfillPercentageEndOfLife": "number (double)",
    "productIncinerationPercentageEndOfLife": "number (double)"
  },
  "fixedDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ]
}

Gets the children of a product.

GET /api/v3.0/product/{databaseId}/{id}/children
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

200 OK

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

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string (uuid)",
    "value": "number (double)",
    "childId": "string (uuid)",
    "circular": {
      "inheritFeedstockPercentages": "boolean",
      "recycledPercentageFeedstock": "number (double)",
      "rapidRenewablesPercentageFeedstock": "number (double)",
      "inheritEndOfLifePercentages": "boolean",
      "recycledPercentageEndOfLife": "number (double)",
      "landfillPercentageEndOfLife": "number (double)",
      "inheritEfficiencyPercentages": "boolean",
      "efficiencyPercentageRecyclingFeedstock": "number (double)",
      "efficiencyPercentageRecyclingEndOfLife": "number (double)"
    }
  }
]

Adds a child for a product.

POST /api/v3.0/product/{databaseId}/{id}/children

undefined

databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "value": "number (double)",
  "childId": "string (uuid)",
  "circular": {
    "inheritFeedstockPercentages": "boolean",
    "recycledPercentageFeedstock": "number (double)",
    "rapidRenewablesPercentageFeedstock": "number (double)",
    "inheritEndOfLifePercentages": "boolean",
    "recycledPercentageEndOfLife": "number (double)",
    "landfillPercentageEndOfLife": "number (double)",
    "inheritEfficiencyPercentages": "boolean",
    "efficiencyPercentageRecyclingFeedstock": "number (double)",
    "efficiencyPercentageRecyclingEndOfLife": "number (double)"
  }
}
200 OK

The child was added and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string (uuid)",
  "value": "number (double)",
  "childId": "string (uuid)",
  "circular": {
    "inheritFeedstockPercentages": "boolean",
    "recycledPercentageFeedstock": "number (double)",
    "rapidRenewablesPercentageFeedstock": "number (double)",
    "inheritEndOfLifePercentages": "boolean",
    "recycledPercentageEndOfLife": "number (double)",
    "landfillPercentageEndOfLife": "number (double)",
    "inheritEfficiencyPercentages": "boolean",
    "efficiencyPercentageRecyclingFeedstock": "number (double)",
    "efficiencyPercentageRecyclingEndOfLife": "number (double)"
  }
}

Updates a child for a product.

PUT /api/v3.0/product/{databaseId}/{id}/children/{childId}

undefined

databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

childId: string (uuid)
in path

The material/product identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "value": "number (double)",
  "childId": "string (uuid)",
  "circular": {
    "inheritFeedstockPercentages": "boolean",
    "recycledPercentageFeedstock": "number (double)",
    "rapidRenewablesPercentageFeedstock": "number (double)",
    "inheritEndOfLifePercentages": "boolean",
    "recycledPercentageEndOfLife": "number (double)",
    "landfillPercentageEndOfLife": "number (double)",
    "inheritEfficiencyPercentages": "boolean",
    "efficiencyPercentageRecyclingFeedstock": "number (double)",
    "efficiencyPercentageRecyclingEndOfLife": "number (double)"
  }
}
200 OK

The child was updated and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "string (uuid)",
  "value": "number (double)",
  "childId": "string (uuid)",
  "circular": {
    "inheritFeedstockPercentages": "boolean",
    "recycledPercentageFeedstock": "number (double)",
    "rapidRenewablesPercentageFeedstock": "number (double)",
    "inheritEndOfLifePercentages": "boolean",
    "recycledPercentageEndOfLife": "number (double)",
    "landfillPercentageEndOfLife": "number (double)",
    "inheritEfficiencyPercentages": "boolean",
    "efficiencyPercentageRecyclingFeedstock": "number (double)",
    "efficiencyPercentageRecyclingEndOfLife": "number (double)"
  }
}

Deleted a child from a product.

DELETE /api/v3.0/product/{databaseId}/{id}/children/{childId}
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

childId: string (uuid)
in path

The material/product identifier

204 No Content

The child was deleted.

Response Content-Types: application/json
Response Example (204 No Content)
{
  "id": "string (uuid)",
  "value": "number (double)",
  "childId": "string (uuid)",
  "circular": {
    "inheritFeedstockPercentages": "boolean",
    "recycledPercentageFeedstock": "number (double)",
    "rapidRenewablesPercentageFeedstock": "number (double)",
    "inheritEndOfLifePercentages": "boolean",
    "recycledPercentageEndOfLife": "number (double)",
    "landfillPercentageEndOfLife": "number (double)",
    "inheritEfficiencyPercentages": "boolean",
    "efficiencyPercentageRecyclingFeedstock": "number (double)",
    "efficiencyPercentageRecyclingEndOfLife": "number (double)"
  }
}

Gets the matching criteria for a material/product

GET /api/v3.0/product/{databaseId}/{id}/matches
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

Returns all matches.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "value": "concrete",
    "matchType": "string",
    "languageCode": "en"
  }
]

Adds a matchingcriterion to a material/product

POST /api/v3.0/product/{databaseId}/{id}/matches

undefined

databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "value": "concrete",
  "matchType": "string",
  "languageCode": "en"
}

The match was added and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "value": "concrete",
  "matchType": "string",
  "languageCode": "en"
}

Gets a specific matching criteria for a material/product

GET /api/v3.0/product/{databaseId}/{id}/matches/{matchId}
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

matchId: string (uuid)
in path

The match identifier

Returns a specific match.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "value": "concrete",
    "matchType": "string",
    "languageCode": "en"
  }
]

Updates a matchingcriterion for a material/product

PUT /api/v3.0/product/{databaseId}/{id}/matches/{matchId}

undefined

databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

matchId: string (uuid)
in path

The match identifier

Request Content-Types: application/json, text/json, application/*+json
Request Example
{
  "value": "concrete",
  "matchType": "string",
  "languageCode": "en"
}

The match was updated and will be returned.

Response Content-Types: application/json
Response Example (200 OK)
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "value": "concrete",
  "matchType": "string",
  "languageCode": "en"
}

Deletes a matchingcriterion for a material/product

DELETE /api/v3.0/product/{databaseId}/{id}/matches/{matchId}
databaseId: string (uuid)
in path

The database identifier

id: string (uuid)
in path

The material/product identifier

matchId: string (uuid)
in path

The match identifier

204 No Content

The match was deleted.

SystemSettings

All actions related to the system wide data.

Gets the available classification methods

GET /api/v3.0/system/classificationmethods

The classification methods.

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

Gets the available building usages

GET /api/v3.0/system/buildingusages
accept-language: string nl, en, es, fr, it, de en
in header

The culture to use for the request

200 OK

The building usages.

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

Gets the available material families

GET /api/v3.0/system/materialfamilies
accept-language: string nl, en, es, fr, it, de en
in header

The culture to use for the request

The material family classifications.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "madaster",
    "name": "Madaster"
  }
]

Gets the material family members

GET /api/v3.0/system/materialfamilies/{id}
id: string
in path

The family identifier

accept-language: string nl, en, es, fr, it, de en
in header

The culture to use for the request

200 OK

The material family members.

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

Gets the available material price sets

GET /api/v3.0/system/materialpricesets
accept-language: string nl, en, es, fr, it, de en
in header

The culture to use for the request

The material price sets.

Response Content-Types: application/json
Response Example (200 OK)
[
  {
    "id": "string",
    "name": "string",
    "description": "string",
    "sources": [
      "string"
    ]
  }
]

Schema Definitions

AccountType: string

The account type.

string VerifiedDatabase, Supplier, General, Private

AccountResponse: object

The account information.

id: string (uuid)

The account identifier

name: string

The account name

accountType: AccountType
Example
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "Madaster Service B.V.",
  "accountType": "string"
}

FolderType: object

The folder type.

id: string (uuid)

The foldertype identifier

name: MultiLingualString
pluralName: MultiLingualString
description: MultiLingualString
allowbuildings: boolean

Are buildings allowed in folder based on this folder type

hasAddress: boolean

Specifies if folders based on this type can be annotated with an address

hasSpatialCoordinates: boolean

Specifies if folders based on this type can be annotated with coordinates

allowedSubFolderTypeIds: string[]

Which foldertypes are allowed as subfolders

string (uuid)
Example
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "pluralName": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "allowbuildings": "boolean",
  "hasAddress": "boolean",
  "hasSpatialCoordinates": "boolean",
  "allowedSubFolderTypeIds": [
    "string (uuid)"
  ]
}

BuildingResponse: object

id: string (uuid)

The identifier of the building

folderId: string (uuid)

The identifier of the parent folder

name: string

The name of the building

cadastralDesignation: string

The cadastral designation of the building

cadastralArea: integer (int32)

The cadastral area of the building in square meters

parcelnumber: string

The parcel number of the building

publicLawRestriction: string

The restrictions of public law in place for the building

completionDate: string (date-time)

The completion date of the building

lastRenovationDate: string (date-time)

The last renovation date of the building

addressStreet: string

The street that the building is situated on

addressHousenumber: string

The housenumber in the street that the building is situated on

addressHousenumberAddition: string

The addition of the housenumber in the street that the building is situated on

addressZipcode: string

The zipcode of the location that the building is situated on

addressCity: string

The city that the building is situated in

addressCountry: string

The identifier of the country that the building is situated in

buildingUsage: string

The current designation of the building

grossSurfaceArea: number (double)

The gross surface area of the building

energyLabel: string

The current energy label of the building

energyPerformanceCoefficient: number (double)

The energy performance coefficient

energyIndex: number (double)

The energy index

expectedLifespan: integer (int32)

The expected lifespan for the building

expectedLifespanStructure: integer (int32)

The expected lifespan building for the structure brand layer

expectedLifespanSkin: integer (int32)

The expected lifespan building for the skin brand layer

expectedLifespanServices: integer (int32)

The expected lifespan for the services brand layer

expectedLifespanSpacePlan: integer (int32)

The expected lifespan for the space plan brand layer

expectedLifespanStuff: integer (int32)

The expected lifespan for the stuff brand layer

breeamLabel: integer (int32)

The BREEAM label

gprLabel: number (double)

The GPR-score of the building

mpgLabel: number (double)

The MPG-score of the building

mpgLabelManual: number (double)

The manual MPG-score of the building

mpgLabelIndicative: number (double)

The indicative MPG-score of the building

leedLabel: string

The LEED label of the building

wellScoreBuilding: integer (int32)

The WELL score of the building

wellScoreInterior: integer (int32)

The WELL score of the interior

wellScoreCoreAndShell: integer (int32)

The WELL score of the core and shell

isDirty: boolean

Indicates whether this building is dirty and thus contains data that should be updated

hasDirtyElements: boolean

Indicates whether the building contains any elements that have changed

mostRecentBimInfo: string (date-time)

The time of the most recent BIM info change

geoLatitude: number (double)

The geo latitude of the building

geoLongtitude: number (double)

The geo longtitude of the building

phaseType: string (uuid)

The identifier of the phase type of the buildinge

classificationType: string (uuid)

The identifier of the building classification type of the buildinge

Example
{
  "id": "string (uuid)",
  "folderId": "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)",
  "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)"
}

BuildingPhase: string

string New, Existing, Renovation, Demolition

BuildingRequest: object

folderId: string (uuid)

The identifier of the parent folder

name: string

The name of the building

phase: BuildingPhase
cadastralDesignation: string

The cadastral designation of the building

cadastralArea: integer (int32)

The cadastral area of the building in square meters

parcelnumber: string

The parcel number of the building

publicLawRestriction: string

The restrictions of public law in place for the building

completionDate: string (date-time)

The completion date of the building

lastRenovationDate: string (date-time)

The last renovation date of the building

addressStreet: string

The street that the building is situated on

addressHousenumber: string

The housenumber in the street that the building is situated on

addressHousenumberAddition: string

The addition of the housenumber in the street that the building is situated on

addressZipcode: string

The zipcode of the location that the building is situated on

addressCity: string

The city that the building is situated in

addressCountry: string

The identifier of the country that the building is situated in

buildingUsage: string

The current designation of the building (call /api/v3.0/system/buildingusages, to retrieve possible values)

grossSurfaceArea: number (double)

The gross surface area of the building

energyLabel: string

The current energy label of the building

energyPerformanceCoefficient: number (double)

The energy performance coefficient

energyIndex: number (double)

The energy index

expectedLifespan: integer (int32)

The expected lifespan for the building

expectedLifespanStructure: integer (int32)

The expected lifespan building for the structure brand layer

expectedLifespanSkin: integer (int32)

The expected lifespan building for the skin brand layer

expectedLifespanServices: integer (int32)

The expected lifespan for the services brand layer

expectedLifespanSpacePlan: integer (int32)

The expected lifespan for the space plan brand layer

expectedLifespanStuff: integer (int32)

The expected lifespan for the stuff brand layer

breeamLabel: integer (int32)

The BREEAM label

gprLabel: number (double)

The GPR-score of the building

mpgLabel: number (double)

The MPG-score of the building

mpgLabelManual: number (double)

The manual MPG-score of the building

leedLabel: string

The LEED label of the building

wellScoreBuilding: integer (int32)

The WELL score of the building

wellScoreInterior: integer (int32)

The WELL score of the interior

wellScoreCoreAndShell: integer (int32)

The WELL score of the core and shell

classificationType: string (uuid)

The identifier of the building classification type of the building (call /api/v3.0/system/classificationmethods, to retrieve possible values)

materialClassificationTypeId: string

The identifier of the material classification type of the building (call /api/v3.0/system/materialfamilies, to retrieve possible values)

Example
{
  "folderId": "string (uuid)",
  "name": "string",
  "phase": "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)",
  "leedLabel": "string",
  "wellScoreBuilding": "integer (int32)",
  "wellScoreInterior": "integer (int32)",
  "wellScoreCoreAndShell": "integer (int32)",
  "classificationType": "string (uuid)",
  "materialClassificationTypeId": "string"
}

BuildingValidation: 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": "number (double)",
  "percentageClassificationAssignedByVolume": "number (double)",
  "percentageVolumeBaseQuantityAssignedByNumber": "number (double)",
  "percentageAreaBaseQuantityAssignedByNumber": "number (double)",
  "percentageLengthBaseQuantityAssignedByNumber": "number (double)",
  "percentageBaseQuantitiesAssignedByNumber": "number (double)",
  "percentageMaterialSpecifiedByNumber": "number (double)",
  "percentageMaterialSpecifiedByVolume": "number (double)",
  "percentageElementsWithKnownMassByNumber": "number (double)",
  "percentageElementsMappedByNumber": "number (double)",
  "percentageElementsMappedByVolume": "number (double)"
}

BuildingCircularInformation: 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": "number (double)",
  "circularityUsagePhase": "number (double)",
  "circularityEndOfLifePhase": "number (double)",
  "ciScoreBuilding": "number (double)",
  "correctionUnknownMaterials": "number (double)",
  "correctionUnknownBrandLayer": "number (double)",
  "madasterCiScore": "number (double)"
}

BuildingFileStatuses: string

The building file status enum.

string Error, Uploaded, Refined, Mapped, Refining, Mapping, Creating, Importing, Imported, UnknownImportFile

BuildingFileType: string

The building file type enum.

string Source, Information, PassportPdf, PassportExcel

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": "number (double)",
  "percentageClassificationAssignedByVolume": "number (double)",
  "percentageVolumeBaseQuantityAssignedByNumber": "number (double)",
  "percentageAreaBaseQuantityAssignedByNumber": "number (double)",
  "percentageLengthBaseQuantityAssignedByNumber": "number (double)",
  "percentageBaseQuantitiesAssignedByNumber": "number (double)",
  "percentageMaterialSpecifiedByNumber": "number (double)",
  "percentageMaterialSpecifiedByVolume": "number (double)",
  "percentageElementsWithKnownMassByNumber": "number (double)",
  "percentageElementsMappedByNumber": "number (double)",
  "percentageElementsMappedByVolume": "number (double)"
}

BuildingFileResponse: object

id: string (uuid)

Gets or sets the building identifier.

buildingId: string (uuid)

Gets or sets the building identifier.

isActive: boolean

Gets or sets a value indicating whether the buildingfile will be included in the building data.

isDirty: boolean

Gets or sets a value indicating whether the file is dirty.

fileName: string

Gets or sets the name of the file.

fileSize: integer (int64)

Get or sets the size of the file in bytes.

status: BuildingFileStatuses
type: BuildingFileType
lastModifiedDate: string (date-time)

Gets or sets the last modified date for the building file.

tags: string[]

Gets or sets the tags for the building file.

string
validation: BuildingFileValidation
Example
{
  "id": "string (uuid)",
  "buildingId": "string (uuid)",
  "isActive": "boolean",
  "isDirty": "boolean",
  "fileName": "string",
  "fileSize": "integer (int64)",
  "status": "string",
  "type": "string",
  "lastModifiedDate": "string (date-time)",
  "tags": [
    "string"
  ],
  "validation": {
    "percentageClassificationAssignedByNumber": "number (double)",
    "percentageClassificationAssignedByVolume": "number (double)",
    "percentageVolumeBaseQuantityAssignedByNumber": "number (double)",
    "percentageAreaBaseQuantityAssignedByNumber": "number (double)",
    "percentageLengthBaseQuantityAssignedByNumber": "number (double)",
    "percentageBaseQuantitiesAssignedByNumber": "number (double)",
    "percentageMaterialSpecifiedByNumber": "number (double)",
    "percentageMaterialSpecifiedByVolume": "number (double)",
    "percentageElementsWithKnownMassByNumber": "number (double)",
    "percentageElementsMappedByNumber": "number (double)",
    "percentageElementsMappedByVolume": "number (double)"
  }
}

BuildingRequestFileType: string

The building file type enum.

string Source, Information

BuildingFileRequest: object

type: BuildingRequestFileType
tags: string[]

The tags for the building file

string
name: string

The name of the building file

preferredDatabaseIds: string[]

The identifiers of the material databases to use for automatic mapping, in their preferred order

string (uuid)
Example
{
  "type": "string",
  "tags": [
    "string"
  ],
  "name": "string",
  "preferredDatabaseIds": [
    "string (uuid)"
  ]
}

BuildingFileStatusResponse: object

status: BuildingFileStatuses
elementProcessedCount: integer (int32)

Gets or sets the total processed elements (imported or refined).

elementCount: integer (int32)

Gets or sets the total elements.

statusMessage: string

Gets or sets the import or refinement status message.

Example
{
  "status": "string",
  "elementProcessedCount": "integer (int32)",
  "elementCount": "integer (int32)",
  "statusMessage": "string"
}

FileDownloadResponse: object

url: string

The download url for a file

expirationDateTime: string (date-time)

The expiration date and time of the url

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

ElementType: string

string Material, VolumeProduct, QuantityProduct, AreaProduct, LengthProduct

Mapping: object

A mapping.

id: string (uuid)
type: ElementType
Example
{
  "id": "string (uuid)",
  "type": "string"
}

PhaseMatch: object

A phase match.

id: string (uuid)
name: string

Gets or sets the name of the matched phase.

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

BrandLayerMatch: object

A brand layer match.

id: string (uuid)
name: string

Gets or sets the name of the matched brand layer.

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

ClassificationMatch: object

A classification match.

id: string (uuid)
name: string

Gets or sets the name of the matched classification.

code: string

Gets or sets the code of the matched classification.

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

BuildingFileElementResponse: object

A response for a building file element.

id: string

Gets or sets the mark.

name: string

Gets or sets the name.

buildingFileId: string (uuid)

Gets or sets the building file identifier.

materialName: string

Gets or sets the name of the element.

typeName: string

Gets or sets the name of the type.

elementClass: string

Gets or sets the element class.

volume: number (double)

Gets or sets the volume.

area: number (double)

Gets or sets the area.

height: number (double)

Gets or sets the height.

width: number (double)

Gets or sets the width.

length: number (double)

Gets or sets the length.

mapping: Mapping
phaseMatch: PhaseMatch
brandLayerMatch: BrandLayerMatch
classificationMatch: ClassificationMatch
phaseLookup: string[]

Gets or sets the building process phase lookups.

string
classificationLookup: string[]

Gets or sets the classification (NL/SfB) lookups.

string
floor: string

Gets or sets the floor name.

Example
{
  "id": "string",
  "name": "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)",
  "mapping": {
    "id": "string (uuid)",
    "type": "string"
  },
  "phaseMatch": {
    "id": "string (uuid)",
    "name": "string"
  },
  "brandLayerMatch": {
    "id": "string (uuid)",
    "name": "string"
  },
  "classificationMatch": {
    "id": "string (uuid)",
    "name": "string",
    "code": "string"
  },
  "phaseLookup": [
    "string"
  ],
  "classificationLookup": [
    "string"
  ],
  "floor": "string"
}

BuildingFileElementRequest: object

A request for a building file element.

id: string

The identifier of the element

name: string

The name of the element

materialName: string

The name of the element

materialId: string (uuid)

The id of the mapped material/product

typeName: string

The type name of the element

elementClass: string

The element class of the element

volume: number (double)

The volume of the element

area: number (double)

The area of the element

height: number (double)

The height of the element

width: number (double)

The width of the element

length: number (double)

The length of the element

phaseLookup: string

The building process phase lookup for the element, this value will be used to match to a phase

classificationLookup: string

The classification lookup for the element, this value will be used to match to a classification

floor: string

The floor of the element

Example
{
  "id": "1234567890",
  "name": "string",
  "materialName": "Concrete",
  "materialId": "string (uuid)",
  "typeName": "string",
  "elementClass": "IfcWall",
  "volume": "number (double)",
  "area": "number (double)",
  "height": "number (double)",
  "width": "number (double)",
  "length": "number (double)",
  "phaseLookup": "string",
  "classificationLookup": "string",
  "floor": "string"
}

ElementBatchResult: object

failures: string[]
string
Example
{
  "failures": [
    "string"
  ]
}

DatabaseType: string

The database type.

string VerifiedDatabase, Supplier, General

ParentType: string

string Account, Folder, Building

DatabaseResponse: object

id: string (uuid)

The database identifier

accountId: string (uuid)

The account identifier

name: MultiLingualString
initiallySelectedForEnrichment: boolean

Is the database selected by default for enrichment

isGlobalAvailable: boolean

Is the database globally available (allow everybody to use the database)

readOnly: boolean

Is the database readonly

databaseType: DatabaseType
parentId: string (uuid)

The database parent identifier

parentType: ParentType
parentName: string

The parent name

Example
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "accountId": "00000000-0000-0000-0000-000000000000",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "initiallySelectedForEnrichment": "boolean",
  "isGlobalAvailable": "boolean",
  "readOnly": "boolean",
  "databaseType": "string",
  "parentId": "string (uuid)",
  "parentType": "string",
  "parentName": "string"
}

DatabaseRequest: object

name: MultiLingualString
initiallySelectedForEnrichment: boolean

Is the database selected by default for enrichment

Example
{
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "initiallySelectedForEnrichment": "boolean"
}

FolderResponse: object

id: string (uuid)

The folder identifier

name: string

The folder name

description: string

The folder description

parentId: string (uuid)

The parent folder identifier (is a folderId or accountId)

foldertypeId: string (uuid)

The foldertype identifier

Example
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "Portfolio 1",
  "description": "string",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "foldertypeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

FolderRequest: object

name: string

The folder name

description: string

The folder description

parentId: string (uuid)

The parent folder identifier (is a folderId or accountId)

foldertypeId: string (uuid)

The foldertype identifier

Example
{
  "name": "Portfolio 1",
  "description": "string",
  "parentId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "foldertypeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

MaterialFamilyClassification: object

classificationId: string

The classification identifier

id: string

The identifier

Example
{
  "classificationId": "madaster",
  "id": "glass"
}

MaterialCircularInformation: object

Material circular information

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,
  "rapidRenewablesPercentageFeedstock": 0,
  "virginPercentageFeedstock": 1,
  "recycledPercentageEndOfLife": 0,
  "landfillPercentageEndOfLife": 0,
  "incinerationPercentageEndOfLife": 1,
  "efficiencyPercentageRecyclingFeedstock": 0.75,
  "efficiencyPercentageRecyclingEndOfLife": 0.75
}

MaterialResponse: object

id: string (uuid)

The material identifier

databaseId: string (uuid)

The database identifier

name: MultiLingualString
description: MultiLingualString
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

materialFamilies: MaterialFamilyClassification

The material families (call /api/v3.0/system/materialfamilies, to retrieve possible values)

MaterialFamilyClassification
circular: MaterialCircularInformation
Example
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "databaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "supplier": "Manufacturer name",
  "specificWeight": 1230,
  "lifeTime": 50,
  "materialFamilies": [
    {
      "classificationId": "madaster",
      "id": "glass"
    }
  ],
  "circular": {
    "recycledPercentageFeedstock": 0,
    "rapidRenewablesPercentageFeedstock": 0,
    "virginPercentageFeedstock": 1,
    "recycledPercentageEndOfLife": 0,
    "landfillPercentageEndOfLife": 0,
    "incinerationPercentageEndOfLife": 1,
    "efficiencyPercentageRecyclingFeedstock": 0.75,
    "efficiencyPercentageRecyclingEndOfLife": 0.75
  }
}

MaterialRequest: object

name: MultiLingualString
description: MultiLingualString
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

materialFamilies: MaterialFamilyClassification

The material families (call /api/v3.0/system/materialfamilies, to retrieve possible values)

MaterialFamilyClassification
circular: MaterialCircularInformation
Example
{
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "supplier": "Manufacturer name",
  "specificWeight": 1230,
  "lifeTime": 50,
  "materialFamilies": [
    {
      "classificationId": "madaster",
      "id": "glass"
    }
  ],
  "circular": {
    "recycledPercentageFeedstock": 0,
    "rapidRenewablesPercentageFeedstock": 0,
    "virginPercentageFeedstock": 1,
    "recycledPercentageEndOfLife": 0,
    "landfillPercentageEndOfLife": 0,
    "incinerationPercentageEndOfLife": 1,
    "efficiencyPercentageRecyclingFeedstock": 0.75,
    "efficiencyPercentageRecyclingEndOfLife": 0.75
  }
}

FinancialSettingType: string

string None, Manual, Automatic

MaterialFinancialSettings: object

Financial settings for a material

importType: FinancialSettingType
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, in € / kg

handlingFeedstockEuroKg: number (double)

The handling costs of the material, in € / kg

handlingFeedstockPercentage: number (double) 0 ≤ x ≤ 1

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

Example
{
  "importType": "string",
  "priceSetId": "string",
  "transportCosts": "number (double)",
  "handlingFeedstockEuroKg": "number (double)",
  "handlingFeedstockPercentage": "number (double)"
}

Currency: string

string EUR, USD, GBP, CNY

PriceUnit: string

string mt, kg, m3, lb, toz, index

MaterialFinancialValue: object

A financial value for a material

id: string (uuid)

The value identifier

value: number (double)

The value of the material at this given moment

date: string (date-time)

The moment at which this value was taken

currency: Currency
unit: PriceUnit
Example
{
  "id": "string (uuid)",
  "value": "number (double)",
  "date": "string (date-time)",
  "currency": "string",
  "unit": "string"
}

MatchingCriterionType: string

string Contains, Equals, StartWith, EndsWith

MatchingCriterion: object

id: string (uuid)

The match identifier

value: string

The value to match

matchType: MatchingCriterionType
languageCode: string

The match language (allowed values: en, nl, de, fr or null)

Example
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "value": "concrete",
  "matchType": "string",
  "languageCode": "en"
}

ProductType: string

string Volume, Quantity, Area, Length

ProductCircularInformation: object

Circular information about a product.

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

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
{
  "efficiencyPercentageRecyclingFeedstock": "number (double)",
  "efficiencyPercentageRecyclingEndOfLife": "number (double)",
  "productReusedPercentageFeedstock": "number (double)",
  "productRecycledPercentageFeedstock": "number (double)",
  "productRapidRenewablesPercentageFeedstock": "number (double)",
  "productVirginPercentageFeedstock": "number (double)",
  "productReusedPercentageEndOfLife": "number (double)",
  "productRecycledPercentageEndOfLife": "number (double)",
  "productLandfillPercentageEndOfLife": "number (double)",
  "productIncinerationPercentageEndOfLife": "number (double)"
}

ElementDimensionType: string

string Length, Width, Height, Depth, Diameter, Radius, Thickness, Area, Volume

ProductDimension: object

A dimension of a product.

dimensionValue: number (double)

The value of this dimension

dimensionType: ElementDimensionType
Example
{
  "dimensionValue": "number (double)",
  "dimensionType": "string"
}

ProductResponse: object

id: string (uuid)

The product identifier

databaseId: string (uuid)

The database identifier

name: MultiLingualString
description: MultiLingualString
productType: ProductType
supplier: string

The supplier of the product

productCode: string

The product code (EAN)

technicalLifetime: integer (int32) 0 ≤ x ≤ 1000

The technical lifetime of the product, in years

functionalLifetime: integer (int32) 0 ≤ x ≤ 1000

The functional lifetime of the product, in years

circular: ProductCircularInformation
fixedDimensions: ProductDimension

Gets or sets the dimensions.

ProductDimension
defaultDimensions: ProductDimension

Gets or sets the dimensions.

ProductDimension
Example
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "databaseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "productType": "string",
  "supplier": "Manufacturer name",
  "productCode": "7 446040 123456",
  "technicalLifetime": "integer (int32)",
  "functionalLifetime": "integer (int32)",
  "circular": {
    "efficiencyPercentageRecyclingFeedstock": "number (double)",
    "efficiencyPercentageRecyclingEndOfLife": "number (double)",
    "productReusedPercentageFeedstock": "number (double)",
    "productRecycledPercentageFeedstock": "number (double)",
    "productRapidRenewablesPercentageFeedstock": "number (double)",
    "productVirginPercentageFeedstock": "number (double)",
    "productReusedPercentageEndOfLife": "number (double)",
    "productRecycledPercentageEndOfLife": "number (double)",
    "productLandfillPercentageEndOfLife": "number (double)",
    "productIncinerationPercentageEndOfLife": "number (double)"
  },
  "fixedDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ]
}

ProductRequest: object

name: MultiLingualString
description: MultiLingualString
productType: ProductType
supplier: string

The supplier of the product

productCode: string

The product code (EAN)

circular: ProductCircularInformation
technicalLifetime: integer (int32) 0 ≤ x ≤ 1000

The technical lifetime of the product, in years

functionalLifetime: integer (int32) 0 ≤ x ≤ 1000

The functional lifetime of the product, in years

fixedDimensions: ProductDimension

Gets or sets the dimensions.

ProductDimension
defaultDimensions: ProductDimension

Gets or sets the dimensions.

ProductDimension
Example
{
  "name": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "description": {
    "nl": "nederlandse waarde",
    "en": "english value"
  },
  "productType": "string",
  "supplier": "Manufacturer name",
  "productCode": "7 446040 123456",
  "circular": {
    "efficiencyPercentageRecyclingFeedstock": "number (double)",
    "efficiencyPercentageRecyclingEndOfLife": "number (double)",
    "productReusedPercentageFeedstock": "number (double)",
    "productRecycledPercentageFeedstock": "number (double)",
    "productRapidRenewablesPercentageFeedstock": "number (double)",
    "productVirginPercentageFeedstock": "number (double)",
    "productReusedPercentageEndOfLife": "number (double)",
    "productRecycledPercentageEndOfLife": "number (double)",
    "productLandfillPercentageEndOfLife": "number (double)",
    "productIncinerationPercentageEndOfLife": "number (double)"
  },
  "technicalLifetime": "integer (int32)",
  "functionalLifetime": "integer (int32)",
  "fixedDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ],
  "defaultDimensions": [
    {
      "dimensionValue": "number (double)",
      "dimensionType": "string"
    }
  ]
}

ProductChildCircularInformation: object

Circular information for a product child

inheritFeedstockPercentages: boolean

Whether the feedstock percentages should be inherited from the child

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

inheritEndOfLifePercentages: boolean

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

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

inheritEfficiencyPercentages: boolean

Whether the efficiency percentages should be inherited from the child

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
{
  "inheritFeedstockPercentages": "boolean",
  "recycledPercentageFeedstock": "number (double)",
  "rapidRenewablesPercentageFeedstock": "number (double)",
  "inheritEndOfLifePercentages": "boolean",
  "recycledPercentageEndOfLife": "number (double)",
  "landfillPercentageEndOfLife": "number (double)",
  "inheritEfficiencyPercentages": "boolean",
  "efficiencyPercentageRecyclingFeedstock": "number (double)",
  "efficiencyPercentageRecyclingEndOfLife": "number (double)"
}

ProductChild: object

Specifies the child of a product (part of the Bill of Materials)

id: string (uuid)

The parent-child relationship identifier

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 product/material identifier of the child

circular: ProductChildCircularInformation
Example
{
  "id": "string (uuid)",
  "value": "number (double)",
  "childId": "string (uuid)",
  "circular": {
    "inheritFeedstockPercentages": "boolean",
    "recycledPercentageFeedstock": "number (double)",
    "rapidRenewablesPercentageFeedstock": "number (double)",
    "inheritEndOfLifePercentages": "boolean",
    "recycledPercentageEndOfLife": "number (double)",
    "landfillPercentageEndOfLife": "number (double)",
    "inheritEfficiencyPercentages": "boolean",
    "efficiencyPercentageRecyclingFeedstock": "number (double)",
    "efficiencyPercentageRecyclingEndOfLife": "number (double)"
  }
}

ClassificationMethod: object

A classification method.

id: string (uuid)

The unique identifier

name: MultiLingualString
classificationTypeId: string (uuid)

The identifier of the underlying classification type

classificationLevelTypeId: string (uuid)

The identifier of the underlying classification level type

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

MaterialFamily: object

id: string

The classification identifier

name: string

The classification name

Example
{
  "id": "madaster",
  "name": "Madaster"
}

MaterialPriceSet: object

id: string
name: string
description: string
sources: string[]
string
Example
{
  "id": "string",
  "name": "string",
  "description": "string",
  "sources": [
    "string"
  ]
}

MultiLingualString: object

A multilingual string

nl: string
en: string
de: string
fr: string
Example
{
  "nl": "nederlandse waarde",
  "en": "english value"
}