# List generations

> Returns generations the caller can access, optionally filtered by agent, trace, orchestration run, node, and status. Replaces the former per-trace generations endpoint (use the trace_id query filter).

<Heading
  as={"h1"}
  className={"openapi__heading"}
  children={"List generations"}
>
</Heading>

<MethodEndpoint
  method={"get"}
  path={"/api/v1/generations"}
  context={"endpoint"}
>
  
</MethodEndpoint>

Returns generations the caller can access, optionally filtered by agent, trace, orchestration run, node, and status. Replaces the former per-trace generations endpoint (use the trace_id query filter).

Filtering by `orchestration_run_id` is the supported way to get from an orchestration run to the generations its agent nodes produced: a node execution record carries no generation id, so the pointer lives here, alongside the run's other attribution columns.

<Heading
  id={"request"}
  as={"h2"}
  className={"openapi-tabs__heading"}
>
  <Translate id="theme.openapi.request.title">Request</Translate>
</Heading>

<ParamsDetails
  {...require("./list-generations.ParamsDetails.json")}
>
  
</ParamsDetails>

<RequestSchema
  {...require("./list-generations.RequestSchema.json")}
>
  
</RequestSchema>

<StatusCodes
  {...require("./list-generations.StatusCodes.json")}
>
  
</StatusCodes>
