Documentation for the public HTTP API for EasyLCA. The API follows the JSON:API specification (media type application/vnd.api+json, version 1.0). All operations listed here are served under /api/public-v1.
Authentication: Bearer token. Create it from the Organization Settings page in the EasyLCA web app (app.easylca.ai/my-organization).
Errors: Validation and domain errors use JSON:API error documents (errors[] with status, title, detail, optional source.pointer).
Note: lat / long on locations and similar decimals may appear as strings in JSON responses.
Paginated list of stakeholders for the authenticated organization.
| include | string Example: include=locations,custom-fields Comma-separated relationship paths to include in |
| sort | string Example: sort=name Sort fields (comma-separated). Registered sortable attributes include |
| page[number] | integer >= 1 Page number for stakeholder index (JSON:API |
| page[size] | integer >= 1 Page size for stakeholder index. |
| filter[id] | string Comma-separated stakeholder ids to filter the index ( |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "stakeholders",
- "id": "string",
- "attributes": {
- "name": "string",
- "email": "string",
- "organization_name": "string",
- "contact_persons": [
- {
- "id": 0,
- "name": "string",
- "email": "string",
- "is_primary": true
}
], - "stakeholder_type": "string",
- "created_by": "string",
- "category": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": { }
}
], - "included": [
- { }
], - "links": { },
- "meta": { }
}Creates a stakeholder. Optional custom_fields in attributes creates nested custom field rows.
If custom_fields was provided, the 201 response typically includes those resources under included
(effective include=custom-fields is merged server-side). You may also pass include for other relationships
(e.g. locations); server merges custom-fields when applicable.
File custom fields: upload each file first withPOST /public-v1/stakeholders/-actions/custom-field-file-upload (multipart field file), then include an entry with
field_type: file and value set to the returned meta.data.path. See that operation and schema
StakeholderAttributes.custom_fields for validation rules, org scoping, and 24-hour expiry of unused temp uploads.
| include | string Example: include=locations,custom-fields Comma-separated relationship paths to include in |
required | object |
{- "data": {
- "type": "stakeholders",
- "attributes": {
- "contact_persons": [
- {
- "id": 0,
- "name": "string",
- "email": "user@example.com",
- "is_primary": true
}
], - "organization_name": "string",
- "stakeholder_type": "Internal",
- "custom_fields": [
- {
- "name": "string",
- "field_type": "text",
- "value": "string"
}
]
}, - "relationships": {
- "category": {
- "data": {
- "type": "string",
- "id": "string"
}
}
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "stakeholders",
- "id": "string",
- "attributes": {
- "name": "string",
- "email": "string",
- "organization_name": "string",
- "contact_persons": [
- {
- "id": 0,
- "name": "string",
- "email": "string",
- "is_primary": true
}
], - "stakeholder_type": "string",
- "created_by": "string",
- "category": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": { }
}, - "included": [
- { }
]
}| stakeholder required | string Stakeholder id (JSON:API resource id). |
| include | string Example: include=locations,custom-fields Comma-separated relationship paths to include in |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "stakeholders",
- "id": "string",
- "attributes": {
- "name": "string",
- "email": "string",
- "organization_name": "string",
- "contact_persons": [
- {
- "id": 0,
- "name": "string",
- "email": "string",
- "is_primary": true
}
], - "stakeholder_type": "string",
- "created_by": "string",
- "category": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": { }
}, - "included": [
- { }
]
}The custom_fields attribute must not be sent on update (422 if present).
| stakeholder required | string Stakeholder id (JSON:API resource id). |
| include | string Example: include=locations,custom-fields Comma-separated relationship paths to include in |
required | object |
{- "data": {
- "type": "stakeholders",
- "id": "string",
- "attributes": { }
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "stakeholders",
- "id": "string",
- "attributes": {
- "name": "string",
- "email": "string",
- "organization_name": "string",
- "contact_persons": [
- {
- "id": 0,
- "name": "string",
- "email": "string",
- "is_primary": true
}
], - "stakeholder_type": "string",
- "created_by": "string",
- "category": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": { }
}, - "included": [
- { }
]
}Full stakeholder-locations resources for this stakeholder.
| stakeholder required | string Stakeholder id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "stakeholder-locations",
- "id": "string",
- "attributes": {
- "lat": "string",
- "long": "string",
- "address": "string",
- "title": "string",
- "description": "string",
- "transport_mode": "string",
- "fuel_energy_type": "string",
- "country": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": { }
}
]
}Resource identifier objects for the locations relationship.
| stakeholder required | string Stakeholder id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "string",
- "id": "string"
}
], - "links": { }
}Full custom-fields resources linked to this stakeholder.
| stakeholder required | string Stakeholder id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "custom-fields",
- "id": "string",
- "attributes": {
- "name": "string",
- "value": "string",
- "field_type": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
]
}Resource identifier objects for the custom-fields relationship.
| stakeholder required | string Stakeholder id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "string",
- "id": "string"
}
], - "links": { }
}Full stakeholder-categories resource linked to this stakeholder.
| stakeholder required | string Stakeholder id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "stakeholder-categories",
- "id": "string",
- "attributes": {
- "title": "string"
}
}
}Resource identifier object for the category relationship.
| stakeholder required | string Stakeholder id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "string",
- "id": "string"
}, - "links": { }
}Multipart upload used to stage a file before creating a stakeholder with a file-type custom field.
Send a single part named file. Allowed types include common images, PDF, Office documents, CSV, and plain text.
Maximum upload size is 50 MB.
The JSON:API response meta.data.path is the S3 key you must pass as attributes.custom_fields[].value
when field_type is file on POST /public-v1/stakeholders.
Uploaded files that are not linked to a created stakeholder are removed automatically after 24 hours. Each upload must be used with a distinct S3 object key if you send multiple file custom fields in one create request.
| file required | string <binary> File to upload (field name must be |
{- "jsonapi": {
- "version": "1.0"
}, - "meta": {
- "message": "string",
- "data": {
- "path": "string",
- "size": 0,
- "ext": "string",
- "title": "string"
}
}
}Global stakeholder category lookup (read-only). Use for resolving category on stakeholders
and for include=category on stakeholder reads.
Global lookup values for stakeholder category (read-only). Supports JSON:API pagination
(page[number], page[size]) and filter[id] (comma-separated ids).
| page[number] | integer >= 1 Page number for stakeholder index (JSON:API |
| page[size] | integer >= 1 Page size for stakeholder index. |
| filter[id] | string Comma-separated stakeholder category ids to filter the index ( |
| sort | string Example: sort=title Sort fields (comma-separated). Registered sortable attributes includes |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "stakeholder-categories",
- "id": "string",
- "attributes": {
- "title": "string"
}
}
], - "links": { }
}| stakeholder_category required | string Stakeholder category id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "stakeholder-categories",
- "id": "string",
- "attributes": {
- "title": "string"
}
}
}Requires attributes.address (non-empty).
required | object |
{- "data": {
- "type": "stakeholder-locations",
- "attributes": {
- "address": "string",
- "title": "string",
- "description": "string",
- "transport_mode": "road",
- "fuel_energy_type": "diesel"
}, - "relationships": {
- "stakeholder": {
- "data": {
- "type": "string",
- "id": "string"
}
}
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "stakeholder-locations",
- "id": "string",
- "attributes": {
- "lat": "string",
- "long": "string",
- "address": "string",
- "title": "string",
- "description": "string",
- "transport_mode": "string",
- "fuel_energy_type": "string",
- "country": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": { }
}
}| stakeholder_location required | string Stakeholder location id. |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "stakeholder-locations",
- "id": "string",
- "attributes": {
- "lat": "string",
- "long": "string",
- "address": "string",
- "title": "string",
- "description": "string",
- "transport_mode": "string",
- "fuel_energy_type": "string",
- "country": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": { }
}
}Returns the parent stakeholder as the primary data resource.
| stakeholder_location required | string Stakeholder location id. |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "stakeholders",
- "id": "string",
- "attributes": {
- "name": "string",
- "email": "string",
- "organization_name": "string",
- "contact_persons": [
- {
- "id": 0,
- "name": "string",
- "email": "string",
- "is_primary": true
}
], - "stakeholder_type": "string",
- "created_by": "string",
- "category": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": { }
}, - "included": [
- { }
]
}LCA product CRUD, template-based phase seeding, image upload, and product custom fields.
Paginated list of LCA products for the authenticated organization.
| include | string Example: include=phases,custom-fields Comma-separated relationship paths to include in |
| page[number] | integer >= 1 Page number for stakeholder index (JSON:API |
| page[size] | integer >= 1 Page size for stakeholder index. |
| filter[id] | string Comma-separated LCA product ids to filter the index ( |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "lca-products",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "price": "string",
- "unit": "string",
- "product_id": "string",
- "sku": "string",
- "expected_lifetime": 0,
- "user": 0,
- "image": "string",
- "total_impact": null,
- "locked_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "phases": { },
- "custom-fields": { },
- "user": { }
}
}
], - "included": [
- { }
], - "meta": {
- "unitName": "string"
}
}Creates an LCA product. template is required and seeds assessment phases
(titles, icons, and epd_module_code when defined on the template).
Discover available templates and their phases with GET /public-v1/lca-product-templates.
Optional custom_fields creates nested custom field rows. For file fields, upload first via
POST /public-v1/lca-products/-actions/custom-field-file-upload (multipart field file), and set value to meta.data.path. See that operation and schema
LcaProductAttributes.custom_fields for validation rules, org scoping, and 24-hour expiry of unused temp uploads.
Pass include (e.g. phases) to return related resources under included in the 201 response.
Typical next steps after create:
GET /public-v1/lca-products/{id}/phases (or create additional phases with EPD codes)POST /public-v1/phase-items| include | string Example: include=phases,custom-fields Comma-separated relationship paths to include in |
required | object |
{- "data": {
- "type": "lca-products",
- "attributes": {
- "title": "string",
- "description": "string",
- "unit": "string",
- "price": "string",
- "product_id": "string",
- "sku": "string",
- "expected_lifetime": 0,
- "template": "start-from-scratch",
- "custom_fields": [
- {
- "name": "string",
- "field_type": "text",
- "value": "string"
}
]
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-products",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "price": "string",
- "unit": "string",
- "product_id": "string",
- "sku": "string",
- "expected_lifetime": 0,
- "user": 0,
- "image": "string",
- "total_impact": null,
- "locked_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "phases": { },
- "custom-fields": { },
- "user": { }
}
}, - "included": [
- { }
], - "meta": {
- "unitName": "string"
}
}Single product resource. Response meta.unitName is the preferred LCIA unit label.
Use include to embed related resources (e.g. phases, custom-fields) under included.
| lca_product required | string LCA product id (JSON:API resource id). |
| include | string Example: include=phases,custom-fields Comma-separated relationship paths to include in |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-products",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "price": "string",
- "unit": "string",
- "product_id": "string",
- "sku": "string",
- "expected_lifetime": 0,
- "user": 0,
- "image": "string",
- "total_impact": null,
- "locked_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "phases": { },
- "custom-fields": { },
- "user": { }
}
}, - "included": [
- { }
], - "meta": {
- "unitName": "string"
}
}Updates product attributes. Rejected when the product is locked (locked_at set).
template, image, and nested custom_fields are not accepted on update
(use image upload action / custom-fields resource instead).
| lca_product required | string LCA product id (JSON:API resource id). |
| include | string Example: include=phases,custom-fields Comma-separated relationship paths to include in |
required | object |
{- "data": {
- "type": "lca-products",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "unit": "string",
- "price": "string",
- "product_id": "string",
- "sku": "string",
- "expected_lifetime": 0
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-products",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "price": "string",
- "unit": "string",
- "product_id": "string",
- "sku": "string",
- "expected_lifetime": 0,
- "user": 0,
- "image": "string",
- "total_impact": null,
- "locked_at": "2019-08-24T14:15:22Z",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "phases": { },
- "custom-fields": { },
- "user": { }
}
}, - "included": [
- { }
], - "meta": {
- "unitName": "string"
}
}Related custom-fields resources for the product.
| lca_product required | string LCA product id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "custom-fields",
- "id": "string",
- "attributes": {
- "name": "string",
- "value": "string",
- "field_type": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
]
}Multipart upload named image. Allowed types: jpeg, jpg, png, svg, webp.
Maximum size 5 MB.
On success the product’s stored image path is updated. Response meta.path is the S3 key;
subsequent GET of the product returns a temporary signed URL in attributes.image.
| lca_product required | string LCA product id (JSON:API resource id). |
| image required | string <binary> |
{- "jsonapi": {
- "version": "1.0"
}, - "meta": {
- "path": "string",
- "message": "string"
}
}Multipart upload used to stage a file before creating an LCA product with a file-type
custom field.
Send a single part named file. Allowed types include common images, PDF, Office documents,
CSV, and plain text. Maximum size 5 MB.
The JSON:API response meta.data.path is the S3 key you must pass as
attributes.custom_fields[].value when field_type is file on POST /public-v1/lca-products.
| file required | string <binary> |
{- "jsonapi": {
- "version": "1.0"
}, - "meta": {
- "data": {
- "path": "string",
- "size": 0,
- "ext": "string",
- "title": "string"
}, - "message": "string"
}
}Read-only catalog of assessment templates. Use when choosing attributes.template
on product create; each template includes the phases it will seed.
Read-only catalog of product assessment templates.
Use id / attributes.name as attributes.template when creating an LCA product.
Each entry includes attributes.phases — the phases (title, description, epd_module_code, icon)
that will be created for a product using that template.
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "lca-product-templates",
- "id": "cradle-to-gate",
- "attributes": {
- "name": "cradle-to-gate",
- "phases": [
- {
- "title": "string",
- "description": "string",
- "epd_module_code": "string",
- "icon": "string"
}
]
}
}
]
}Fetch a single template by name (e.g. a1-a3, cradle-to-gate, start-from-scratch).
| lcaProductTemplate required | string LCA product template name / resource id (e.g. |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-product-templates",
- "id": "cradle-to-gate",
- "attributes": {
- "name": "cradle-to-gate",
- "phases": [
- {
- "title": "string",
- "description": "string",
- "epd_module_code": "string",
- "icon": "string"
}
]
}
}
}Read-only EN 15804 / EPD lifecycle module catalog (enum-backed, not a database table).
Use when setting epd_module_code on phases.
Read-only catalog of standardized EN 15804 / EPD lifecycle modules (plus CUSTOM).
Use id / attributes.code as epd_module_code when creating or assigning an EPD module code on phases.
Order is stable (A1–A5, B1–B7, C1–C4, D, CUSTOM). Grouping for UIs should use stage /
stage_label.
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "epd-module-codes",
- "id": "A1",
- "attributes": {
- "code": "A1",
- "title": "A1 – Raw material supply",
- "icon": "mdi-cube-outline",
- "stage": "product_stage",
- "stage_label": "Product stage"
}
}
]
}Fetch a single catalog entry by module code (e.g. A1, CUSTOM).
| epdModuleCode required | string EPD module code / resource id (e.g. |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "epd-module-codes",
- "id": "A1",
- "attributes": {
- "code": "A1",
- "title": "A1 – Raw material supply",
- "icon": "mdi-cube-outline",
- "stage": "product_stage",
- "stage_label": "Product stage"
}
}
}LCA product assessment phases. Creating a phase requires epd_module_code
(see EPD module codes) and a framework relationship. Legacy phases may have a null code
until assigned once; the code is then immutable.
Related phases for a product (/lca-products/{id}/phases). Each phase may include
epd_module_code (null for legacy unassigned phases).
| lca_product required | string LCA product id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "phases",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "icon": "string",
- "epd_module_code": "A1",
- "order": 0,
- "phase_impact": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "phase-items": { },
- "product": { },
- "framework": { }
}
}
]
}Create a phase on an LCA product/framework. epd_module_code is required.
Allowed codes are listed by GET /public-v1/epd-module-codes. Multiple phases may share
the same module code. Product and framework relationships are required and cannot be
changed later.
required | object |
{- "data": {
- "type": "phases",
- "attributes": {
- "title": "string",
- "description": "string",
- "icon": "string",
- "epd_module_code": "A1"
}, - "relationships": {
- "product": {
- "data": {
- "type": "lca-products",
- "id": "string"
}
}, - "framework": {
- "data": {
- "type": "lca-frameworks",
- "id": "string"
}
}
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "phases",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "icon": "string",
- "epd_module_code": "A1",
- "order": 0,
- "phase_impact": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "phase-items": { },
- "product": { },
- "framework": { }
}
}, - "included": [
- { }
]
}Single phase resource (includes epd_module_code when set).
Use include to embed related resources under included (e.g. phase-items).
| phase required | string Phase id (JSON:API resource id). |
| include | string Example: include=phase-items Comma-separated relationship paths to include in |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "phases",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "icon": "string",
- "epd_module_code": "A1",
- "order": 0,
- "phase_impact": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "phase-items": { },
- "product": { },
- "framework": { }
}
}, - "included": [
- { }
]
}Update title, description, and/or icon. Product/framework cannot be changed.
If epd_module_code is still null (legacy phase), assigning a valid code is required
before other edits are accepted. After assignment the code is immutable.
| phase required | string Phase id (JSON:API resource id). |
| include | string Example: include=phase-items Comma-separated relationship paths to include in |
required | object |
{- "data": {
- "type": "phases",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "icon": "string",
- "epd_module_code": "A1"
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "phases",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "icon": "string",
- "epd_module_code": "A1",
- "order": 0,
- "phase_impact": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "phase-items": { },
- "product": { },
- "framework": { }
}
}, - "included": [
- { }
]
}Related assessment line items (phase-items) for this phase.
| phase required | string Phase id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "phase-items",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "unit": "string",
- "parent_id": 0,
- "order": 0,
- "volume": 0,
- "phase_object_impact": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "item": { },
- "parent": { },
- "subItems": { }
}
}
], - "meta": {
- "unitName": "string"
}
}Adds an inventory item to a phase. Requires relationships:
phase — target phase (must belong to your organization)item — either lca-objects or lca-custom-datasets (org-scoped)parent — nest under another phase-item in the same phasevolume is required. Title/unit/impact are resolved from the linked item on read.
required | object |
{- "data": {
- "type": "phase-items",
- "attributes": {
- "volume": 0
}, - "relationships": {
- "phase": {
- "data": {
- "type": "phases",
- "id": "string"
}
}, - "item": {
- "data": {
- "type": "lca-objects",
- "id": "string"
}
}, - "parent": {
- "data": {
- "type": "phase-items",
- "id": "string"
}
}
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "phase-items",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "unit": "string",
- "parent_id": 0,
- "order": 0,
- "volume": 0,
- "phase_object_impact": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "item": { },
- "parent": { },
- "subItems": { }
}
}, - "meta": {
- "unitName": "string"
}
}| phase_item required | string Phase-item id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "phase-items",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "unit": "string",
- "parent_id": 0,
- "order": 0,
- "volume": 0,
- "phase_object_impact": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "item": { },
- "parent": { },
- "subItems": { }
}
}, - "meta": {
- "unitName": "string"
}
}Update volume only. Changing phase or item is not allowed.
| phase_item required | string Phase-item id (JSON:API resource id). |
required | object |
{- "data": {
- "type": "phase-items",
- "id": "string",
- "attributes": {
- "volume": 0
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "phase-items",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "unit": "string",
- "parent_id": 0,
- "order": 0,
- "volume": 0,
- "phase_object_impact": null,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "item": { },
- "parent": { },
- "subItems": { }
}
}, - "meta": {
- "unitName": "string"
}
}Read-only catalog of categories for lca-custom-datasets. List these to choose
relationships.category when creating or updating custom datasets. Optional
language=en|sv|es returns a single localized title/description.
Read-only catalog of categories for lca-custom-datasets.
Creating/updating a custom dataset requires a category relationship to one of these ids.
Pass optional language (en, sv, or es; default en) to receive localized
title and description.
| page[number] | integer >= 1 Page number for stakeholder index (JSON:API |
| page[size] | integer >= 1 Page size for stakeholder index. |
| filter[id] | string Comma-separated LCA dataset category ids to filter the index ( |
| language | string Default: "en" Enum: "en" "sv" "es" Locale for localized |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "lca-dataset-categories",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "language": "en",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
]
}| lca_dataset_category required | string LCA dataset category id (JSON:API resource id). |
| language | string Default: "en" Enum: "en" "sv" "es" Locale for localized |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-dataset-categories",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "language": "en",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Create, read, update, and delete custom datasets for linking as item on phase-items.
Creating a dataset requires a category relationship (see LCA dataset categories).
Organization-scoped custom datasets that can be linked as item on phase-items
with type: lca-custom-datasets.
| page[number] | integer >= 1 Page number for stakeholder index (JSON:API |
| page[size] | integer >= 1 Page size for stakeholder index. |
| filter[id] | string Comma-separated custom dataset ids to filter the index ( |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "lca-custom-datasets",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "dataset_type": "custom_dataset",
- "geography": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
]
}Creates an organization-scoped custom dataset that can later be linked from a phase-item.
Requires a category relationship to an existing lca-dataset-categories resource
(list via GET /lca-dataset-categories). dataset_type defaults to custom_dataset when omitted.
Impact indicators are not writable through the API.
required | object |
{- "data": {
- "type": "lca-custom-datasets",
- "attributes": {
- "title": "string",
- "description": "string",
- "dataset_type": "custom_dataset",
- "geography": "string"
}, - "relationships": {
- "category": {
- "data": {
- "type": "lca-dataset-categories",
- "id": "string"
}
}
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-custom-datasets",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "dataset_type": "custom_dataset",
- "geography": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Show an organization custom dataset. Use the id as item when creating a
phase-item with type: lca-custom-datasets.
| lca_custom_dataset required | string Custom dataset id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-custom-datasets",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "dataset_type": "custom_dataset",
- "geography": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}| lca_custom_dataset required | string Custom dataset id (JSON:API resource id). |
required | object |
{- "data": {
- "type": "lca-custom-datasets",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "dataset_type": "custom_dataset",
- "geography": "string"
}, - "relationships": {
- "category": {
- "data": {
- "type": "lca-dataset-categories",
- "id": "string"
}
}
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-custom-datasets",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "dataset_type": "custom_dataset",
- "geography": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Read-only catalog of categories for lca-objects. List these to choose relationships.category
when creating or updating objects. Optional
language=en|sv|es returns a single localized title/description; key remains the stable database code.
Read-only catalog of categories for lca-objects.
Creating/updating an object requires a category relationship to one of these ids.
Pass optional language (en, sv, or es; default en) to receive localized
title and description from application translations. The stable database code is
returned as key.
| page[number] | integer >= 1 Page number for stakeholder index (JSON:API |
| page[size] | integer >= 1 Page size for stakeholder index. |
| filter[id] | string Comma-separated LCA object category ids to filter the index ( |
| language | string Default: "en" Enum: "en" "sv" "es" Locale for localized |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "lca-object-categories",
- "id": "string",
- "attributes": {
- "key": "string",
- "title": "string",
- "description": "string",
- "language": "en",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
]
}| lca_object_category required | string LCA object category id (JSON:API resource id). |
| language | string Default: "en" Enum: "en" "sv" "es" Locale for localized |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-object-categories",
- "id": "string",
- "attributes": {
- "key": "string",
- "title": "string",
- "description": "string",
- "language": "en",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Organization inventory / process objects that can be linked as item on phase-items.
Creating an object requires a category relationship (see LCA object categories).
Inventory / process objects available to link as item on phase-items.
Scoped to the authenticated organization.
| page[number] | integer >= 1 Page number for stakeholder index (JSON:API |
| page[size] | integer >= 1 Page size for stakeholder index. |
| filter[id] | string Comma-separated LCA object ids to filter the index ( |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "lca-objects",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "category": "string",
- "object_impact": null,
- "owner": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "category": { }
}
}
], - "meta": {
- "unitName": "string"
}
}Creates an organization-scoped LCA object that can later be linked from a phase-item.
Requires a category relationship to an existing lca-object-categories resource
(list via GET /lca-object-categories).
required | object |
{- "data": {
- "type": "lca-objects",
- "attributes": {
- "title": "string",
- "description": "string"
}, - "relationships": {
- "category": {
- "data": {
- "type": "lca-object-categories",
- "id": "string"
}
}
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-objects",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "category": "string",
- "object_impact": null,
- "owner": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "category": { }
}
}, - "meta": {
- "unitName": "string"
}
}| lca_object required | string LCA object id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-objects",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "category": "string",
- "object_impact": null,
- "owner": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "category": { }
}
}, - "meta": {
- "unitName": "string"
}
}| lca_object required | string LCA object id (JSON:API resource id). |
required | object |
{- "data": {
- "type": "lca-objects",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string"
}, - "relationships": {
- "category": {
- "data": {
- "type": "lca-object-categories",
- "id": "string"
}
}
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-objects",
- "id": "string",
- "attributes": {
- "title": "string",
- "description": "string",
- "category": "string",
- "object_impact": null,
- "owner": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}, - "relationships": {
- "category": { }
}
}, - "meta": {
- "unitName": "string"
}
}Read-only framework catalog. Creating a phase requires a framework relationship.
| page[number] | integer >= 1 Page number for stakeholder index (JSON:API |
| page[size] | integer >= 1 Page size for stakeholder index. |
{- "jsonapi": {
- "version": "1.0"
}, - "data": [
- {
- "type": "lca-frameworks",
- "id": "string",
- "attributes": {
- "title": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
]
}| lca_framework required | string LCA framework id (JSON:API resource id). |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "lca-frameworks",
- "id": "string",
- "attributes": {
- "title": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Scoped to custom fields for the token’s organization.
| custom_field required | string Custom field id. |
{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "custom-fields",
- "id": "string",
- "attributes": {
- "name": "string",
- "value": "string",
- "field_type": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}Updatable attributes: name, value.
field_type is read-only; sending a different field_type in the request document yields 422.
For field_type: file, a new non-empty value must refer to an existing S3 object key.
| custom_field required | string Custom field id. |
required | object |
{- "data": {
- "type": "custom-fields",
- "id": "string",
- "attributes": {
- "name": "string",
- "value": "string"
}
}
}{- "jsonapi": {
- "version": "1.0"
}, - "data": {
- "type": "custom-fields",
- "id": "string",
- "attributes": {
- "name": "string",
- "value": "string",
- "field_type": "string",
- "created_at": "2019-08-24T14:15:22Z",
- "updated_at": "2019-08-24T14:15:22Z"
}
}
}