Need to manage API keys, view logs, or check usage?Open the Developer portal →

Retrieve a material

Fetch a single material by id, including its properties and impacts.

GET/public/materials/:id

The 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

ParameterTypeDescription
idrequiredstring (uuid)The material id.

Response

200OK
{
  "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'