01 — Orient before working
REST callers bootstrap their authenticated identity and project route, pass the current task as Atlas intent in the JSON body, then follow next_call into thread context exactly. The task stays out of request URLs and is not persisted by Outer. MCP callers use outer_bootstrap({}) first.
200 action-first CollectionContext with an exact read_context next_call and evidence receiptimport { OuterClient } from "@outer/sdk";
const outer = new OuterClient({
baseUrl: "https://api.outer.run",
key: process.env.OUTER_KEY!,
});
const bootstrap = await outer.bootstrap("col_your_collection_id");
if (bootstrap.routing.state !== "selected") throw new Error("Choose one visible project");
const currentTask = "replace with the current user task";
const atlas = await outer.getCollectionContext(bootstrap.routing.project.id, { intent: currentTask });
const context = atlas.next_call
? await outer.getResumeContext(atlas.next_call.arguments.thread_id)
: null;