SDK Pagination

Auto-paging via the SDK's Page helper.

Every list() method returns a Page<T> — an object that holds one page of results plus helpers for walking to the next one.

Page shape

TypeScript
import Aeontel, { type Page } from "@aeontel/sdk";
import type { Agent } from "@aeontel/sdk";

const client = new Aeontel("sec_...");
const page: Page<Agent> = await client.agents.list({ workspace_id: "wsp_..." });

page.data; // Agent[]
page.pageInfo; // { total, limit, offset, hasMore, sortBy, order }

Query parameters

The common parameters accepted by every list endpoint:

ParamTypeNotes
limitnumberMax items per page (default 50)
offsetnumberSkip this many items
sort_bystringField name, see each resource for allowed values
order"asc" | "desc"Default "desc"

Resource-specific filters (e.g. workspace_id, status) go alongside these.

Manual paging

TypeScript
let page = await client.runs.list({
  workspace_id: "wsp_...",
  status: "running",
});
while (page.hasNextPage()) {
  page = await page.getNextPage();
  console.log(`Loaded ${page.data.length} more runs.`);
}

Auto-iteration

Page is AsyncIterable, so you can for await across every page transparently.

TypeScript
const page = await client.events.list({ workspace_id: "wsp_..." });
for await (const event of page) {
  if (event.type === "run.completed") handleCompleted(event);
}

Breaking out of the loop stops fetching — there's no work wasted.