Retrieve a process
Fetch a single process by id, including its impacts, exchanges and source metadata.
/public/processes/:idThe companion to GET /public/processes — when you already know the process id (e.g. from a previous list or pull response), call this endpoint to retrieve the full record without paging through the library.
Results are scoped to the team identified by the required x-team-id header — the same team scope that determines which impacts[].revealed values flip to true. A process that isn't visible to that team — or has been soft-deleted — returns 404Not Foundwith a clean error envelope (the public API never propagates the underlying service's 400 "Failed to fetch process" error).
Path parameters
| Parameter | Type | Description |
|---|---|---|
| idrequired | string (uuid) | The process id. |
Response
{
"id": "p_4e7…",
"name": "Injection moulding of HDPE",
"source": "Ecoinvent 3.10",
"sourceOrganization": "ecoinvent",
"regionRegionalScope": "GLO",
"functionalUnit": "kg",
"datePublished": "2024-09-01",
"revealed": true,
"deleted": false,
"outputs": [
{
"id": "f5651ee4-…",
"referenceId": "f5651ee4-…",
"name": "HDPE granulate",
"value": 1,
"unit": "kg",
"exchangeTypeDetails": "intermediate"
}
],
"impacts": [
{
"id": "ip_3a1…",
"method": "IPCC 2021 no LT",
"indicator": "global warming potential (GWP100) no LT",
"value": 1.4202,
"unit": "kg CO2-Eq",
"revealed": true
},
{
"id": "ip_b22…",
"method": "CML v4.8 2016 no LT",
"indicator": "acidification (incl. fate, average Europe total, A&B) no LT",
"value": null,
"unit": "kg SO2-Eq",
"revealed": false
}
]
}Each impact row reports its own revealed flag. Pull the rows you need via POST /processes/:id/impacts/pull. For a single impact without the full process payload, use GET /processes/:id/impacts/:impactId.
Example
curl -s 'https://api.circa.ai/public/processes/bfffd26f-aa46-42ab-9069-e07102b06c4d' \
-H 'x-api-key: circa_live_xxx' \
-H 'x-team-id: TEAM_ID_FROM_OVERVIEW' \
-H 'Circa-Version: 2026-05-11.arrakis'