Table of contents
Carbon Calculation
Download API definition:
This API is a Technical Preview and is available for testing purposes only. Do not use in production.
POST https://qa-api.bentley.com/insights/carbon-calculation/ec3/configurations

Create EC3 upload configuration.

EC3

Embodied Carbon in Construction Calculator (EC3), is a free database of construction EPDs with a matching building impact calculator for use in design and material procurement. EC3 is built by Building Transparency with a core mission to provide open access data and the tools necessary to enable broad and swift action across the building industry addressing embodied carbon's role in climate change. Bentley's iTwin platform integration with EC3 allows you to take Quantity Takeoff Reports created using the iTwin Reporting platform and export them to EC3 for convenient Life Cycle Analysis for both infrastructure projects and buildings. The iTwin platform enables the incorporation of engineering data created by various design tools. A summary of the design data is exported through this integration, allowing you to gain insights into the environmental impacts of your infrastructure project.

For guidance on creating a report, see iTwin Reporting Platform documentation.

For guidance on how to use EC3, terminology and data requirements, see EC3 User Guide.

An account with EC3 is required to use this integration. User accounts are created at EC3. For guidance on EC3, please contact EC3 support.

Bentley is not responsible or liable for third-party resources' content, products, services, or practices and does not make any representations regarding their quality, availability or accuracy. Access and use of EC3 resources are subject to the terms and conditions set forth by EC3.

Authentication

Requires Authorization header with valid Bearer token for scope itwin-platform.

For more documentation on authorization and how to get access token visit OAUTH2 Authorization page.

Authorization

User must have carbon_calculate permission(s) assigned at the Project level.

Alternatively the user should be an Organization Administrator for the Organization that owns a given Project.

An Organization Administrator must have at least one of the following roles assigned in User Management: Account Administrator, Co-Administrator, or CONNECT Services Administrator. For more information about User Management please visit our Bentley Communities Licensing, Cloud, and Web Services wiki page.

Request headers

Name
Required?
Description
Authorization
Yes

OAuth access token with itwin-platform scope

Accept
Yes

Setting to application/vnd.bentley.itwin-platform.v1+json is recommended.

Request body

EC3ConfigurationReportCreate (Report)

Name
Type
Required?
Description
reportId
String
Yes

Report identifier used to upload report data to EC3.

displayName
String
Yes

Name of EC3 Configuration.

description
String
No

Description of EC3 Configuration.

labels
Yes

Array of Labels to be created in EC3 Project.

Example

json
{
    "reportId": "f7dc5506-84c4-4505-9995-66d81e6fd907",
    "displayName": "Mapping upload",
    "description": "Mapping schema for iModel upload to EC3",
    "labels": [{
        "name": "Columns",
        "reportTable": "EntityName",
        "elementNameColumn": "UserLabel",
        "elementQuantityColumn": "Quantity",
        "materials": [{
            "nameColumn": "Material"
        }]
    }]
}

EC3ConfigurationExtractionCreate (Extraction)

Name
Type
Required?
Description
iTwinId
String
Yes

Id of the associated iTwin.

iModelId
String
Yes

Id of the associated iModel.

displayName
String
Yes

Name of EC3 Configuration.

description
String
No

Description of EC3 Configuration.

labels
Yes

Array of Labels to be created in EC3 Project.

Example

json
{
    "iTwinId": "929fd670-30db-4e36-9e85-b12efeb84d48",
    "iModelId": "f00fcda5-5fc7-4566-80e3-18f91c57a22d",
    "displayName": "Mapping upload",
    "description": "Mapping schema for iModel upload to EC3",
    "labels": [{
        "name": "Columns",
        "groupName": "group_name",
        "mappingId": "ea5f2265-1eef-4340-a0f7-d0bdc5cf4533",
        "elementNameColumn": "UserLabel",
        "elementQuantityColumn": "Quantity",
        "materials": [{
            "nameColumn": "Material"
        }]
    }]
}

Response 200 OK

OK

json
{
    "configuration": {
        "id": "7f0a9da2-bb7f-45fa-9b90-d6e132a5fee7",
        "displayName": "Mapping upload",
        "description": "Mapping schema for iModel upload to EC3",
        "labels": [{
            "name": "Columns",
            "reportTable": "EntityName",
            "elementNameColumn": "UserLabel",
            "elementQuantityColumn": "Quantity",
            "materials": [{
                "nameColumn": "Material"
            }]
        }],
        "createdOn": "2022-08-19T07:12:17+00:00",
        "createdBy": "user@bentley.com",
        "modifiedOn": "2022-08-19T07:12:17+00:00",
        "modifiedBy": "user@bentley.com",
        "_links": {
            "report": {
                "href": "https://api.bentley.com/insights/reporting/reports/f7dc5506-84c4-4505-9995-66d81e6fd907"
            }
        }
    }
}

Response 401 Unauthorized

This response indicates that request lacks valid authentication credentials. Access token might not been provided, issued by the wrong issuer, does not have required scopes or request headers were malformed.

json
{
    "error": {
        "code": "HeaderNotFound",
        "message": "Header Authorization was not found in the request. Access denied."
    }
}

Response 422 Unprocessable Entity

The 422 (Unprocessable Entity) status code indicates that the request cannot be processed by the server due to a client error (e.g. malformed request syntax).

json
{
    "error": {
        "code": "InvalidCarbonCalculationRequest",
        "message": "Error message."
    }
}

Response 429 Too many requests

This response indicates that the user has sent too many requests in a given amount of time.

json
{
    "error": {
        "code": "TooManyRequests",
        "message": "More requests were received than the subscription rate-limit allows."
    }
}

Response headers

Name
Description
retry-after

The number of requests exceeds the rate-limit for the client subscription.

EC3 Configuration (create)

Name
Type
Description
iTwinId
String

Id of the associated iTwin.

iModelId
String

Id of the associated iModel.

displayName
String

Name of EC3 Configuration.

description
String

Description of EC3 Configuration.

labels

Array of Labels to be created in EC3 Project.

EC3 Configuration links

URLs for getting related data.

Name
Type
Description
iTwin

Link to retrieve iTwin.

iModel

Link to retrieve iModel.

EC3 Configuration Material

EC3 Configuration Material.

Name
Type
Description
nameColumn
String

Column containing Material names.

EC3 Configuration (create)

Name
Type
Description
reportId
String

Report identifier used to upload report data to EC3.

displayName
String

Name of EC3 Configuration.

description
String

Description of EC3 Configuration.

labels

Array of Labels to be created in EC3 Project.

EC3 Configuration Label

EC3 Configuration Label, equivalent to an Assembly in EC3.

Name
Type
Description
name
String

Name of the Label in EC3 Project.

reportTable
String

Name of the Report table containing Label data.

elementNameColumn
String

Column containing Element names.

elementQuantityColumn
String

Column containing Element quantities.

materials

Array of columns containing Material names.

EC3 Configuration links

URLs for getting related data.

Name
Type
Description
report

Link to retrieve report.

EC3 Configuration Response

Container for EC3 Configuration object.

Name
Type
Description
configuration

Container for EC3 Configuration.

Link

Hyperlink container.

Name
Type
Description
href
String

Hyperlink to the specific entity.

EC3 Configuration Response

Container for EC3 Configuration object.

Name
Type
Description
configuration

Container for EC3 Configuration.

EC3 Configuration

Container for EC3 Configuration object.

Name
Type
Description
id
String

Id of EC3 Configuration.

displayName
String

Name of EC3 Configuration.

description
String

Description of EC3 Configuration.

labels

Array of Labels to be created in EC3 Project.

createdOn
String

Creation time of EC3 Configuration.

createdBy
String

User who created EC3 Configuration.

modifiedOn
String

Last modification time of EC3 Configuration.

modifiedBy
String

User who last modified EC3 Configuration.

_links

Contains the hyperlinks to the related data of the EC3 Configuration.

EC3 Configuration

Container for EC3 Configuration object.

Name
Type
Description
id
String

Id of EC3 Configuration.

displayName
String

Name of EC3 Configuration.

description
String

Description of EC3 Configuration.

labels

Array of Labels to be created in EC3 Project.

createdOn
String

Creation time of EC3 Configuration.

createdBy
String

User who created EC3 Configuration.

modifiedOn
String

Last modification time of EC3 Configuration.

modifiedBy
String

User who last modified EC3 Configuration.

_links

Contains the hyperlinks to the related data of the EC3 Configuration.

EC3 Configuration Label (Extraction)

EC3 Configuration Label, equivalent to an Assembly in EC3.

Name
Type
Description
name
String

Name of the Label in EC3 Project.

groupName
String

Name of the associated group.

mappingId
String

Id of the associated mapping.

elementNameColumn
String

Column containing Element names.

elementQuantityColumn
String

Column containing Element quantities.

materials

Array of columns containing Material names.

Error

Contains error information.

Name
Type
Description
code
String

One of a server-defined set of error codes.

message
String

A human-readable representation of the error.

target
String, null

The target of the error.

Error Response

Gives details for an error that occurred while handling the request. Note that clients MUST NOT assume that every failed request will produce an object of this schema, or that all of the properties in the response will be non-null, as the error may have prevented this response from being constructed.

Name
Type
Description
error

Error information.