Retrieve a material
Fetch a single material by id, including its properties and impacts.
/public/materials/:idThe companion to GET /public/materials. Use it whenever you already know the material id — for example after pulling a property or following an id in another resource's response.
Results are scoped to the team identified by the required x-team-idheader — the same scope that determines whether the material's data is revealed. A material that isn't visible to that team returns 404Not Found.
Path parameters
| Parameter | Type | Description |
|---|---|---|
| idrequired | string (uuid) | The material id. |
Response
{
"id": "m_8c2…",
"name": "Polyethylene, high density, granulate",
"source": "Ecoinvent 3.10",
"sourceOrganization": "ecoinvent",
"functionalUnit": "kg",
"compartment": "Production",
"datePublished": "2024-09-01",
"revealed": true,
"deleted": false,
"properties": [
{
"id": "55ada…",
"name": "carbon content",
"value": 0.857,
"unit": "kg",
"revealed": true,
"deleted": false,
"revealType": "pulled"
},
{
"id": "9e1bc…",
"name": "density",
"value": null,
"unit": "kg/m3",
"revealed": false,
"deleted": false,
"revealType": null
}
],
"impacts": [ /* per-property impact rows; masked unless pulled */ ]
}Each property reports its own revealedflag — a material is never "all-or-nothing". Pull the rows you need via POST /materials/:id/properties/pull. For a single property without the full material payload, use GET /materials/:id/properties/:propertyId.
Errors
404Not Found when the id is unknown, soft-deleted, or not visible to the active team. The body follows the standard error shape documented on the Errors page.
Example
curl -s 'https://api.circa.ai/public/materials/8c2…' \
-H 'x-api-key: circa_live_xxx' \
-H 'x-team-id: TEAM_ID_FROM_OVERVIEW' \
-H 'Circa-Version: 2026-05-11.arrakis'