List processes
Search and list processes in the Circa library.
GET
/public/processesQuery parameters
| Parameter | Type | Description |
|---|---|---|
| search | string | Case-insensitive substring match on process name. |
| limit | integerdefault: 25 | 1–100. |
| offset | integerdefault: 0 | Records to skip. |
| pulled | booleandefault: false | When true, restrict to processes whose impacts (or related characterization methods / batch size) the active team has pulled. Individual impact rows still report their own revealedflag — pulling one impact in a process doesn't reveal the rest. |
Response
Each process includes its full inputs / outputs exchanges and impacts. The output exchange is the functional unit — read outputs[0].value + outputs[0].unit to learn what the impact values are normalized to (e.g. 1 kg of bitumen seal).
200OK
{
"items": [
{
"id": "bfffd26f-aa46-42ab-9069-e07102b06c4d",
"name": "bitumen seal production",
"description": "The functional unit represents 1 kg of bitumen sealing…",
"source": [{ "link": "https://ecoquery.ecoinvent.org" }],
"sourceOrganization": "ecoinvent Online Database v3.10",
"regionRegionalScope": "RoW",
"processBoundary": "Aggregated",
"datePublished": null,
"revealed": false,
"deleted": false,
"favorite": false,
"inputs": [],
"outputs": [
{
"id": "f5651ee4-…",
"referenceId": "f5651ee4-…",
"name": "bitumen seal",
"value": null,
"unit": "kg",
"exchangeTypeDetails": "intermediate"
}
],
"impacts": [
{
"id": "ip_3a1…",
"method": "IPCC 2021 no LT",
"indicator": "global warming potential (GWP100) no LT",
"value": null,
"unit": "kg CO2-Eq",
"revealed": false
}
]
}
],
"total": 1,
"hasMore": false
}ℹ
Reading impact values
Impact values are normalized to the process's functional unit. For bitumen seal production,
outputs[0] is 1 kg of bitumen seal — so an impact value of 1.4202 kg CO2-Eq means 1.4202 kg of CO₂-eq per 1 kg of bitumen seal. Multiply by your actual production volume to get the absolute footprint.Notable fields
outputs[].value+outputs[].unit— the functional unit (a.k.a. "batch size") the impacts are normalized to.impacts[].revealed—trueif the active team has pulled this impact. Whenfalse, the numericvalueisnull. Purchase access via POST /processes/:id/impacts/pull with the impact'sid.processBoundary—"Aggregated"or"Disaggregated".regionRegionalScope— region/regional scope (e.g."RoW","GLO").deleted— alwaysfalseon the public API; soft-deleted records are filtered out at the gateway.
Example
curl -s 'https://api.circa.ai/public/processes?search=injection&limit=10' \
-H 'x-api-key: circa_live_xxx' \
-H 'x-team-id: TEAM_ID_FROM_OVERVIEW' \
-H 'Circa-Version: 2026-05-11.arrakis'Owned-only listing
To list only the processes your team has pulled at least one impact from, add ?pulled=true. Each returned process still reports per-impact revealedflags — pulling one impact doesn't reveal the rest.
curl -s 'https://api.circa.ai/public/processes?pulled=true&limit=100' \
-H 'x-api-key: circa_live_xxx' \
-H 'x-team-id: TEAM_ID_FROM_OVERVIEW' \
-H 'Circa-Version: 2026-05-11.arrakis'