Guides
Use development connections
Create, inspect, and revoke local connection fixtures while preserving the hosted OAuth boundary.
The open-source executor can expose an opt-in fixture API for account-free development. Create a connection for the client's default user or pass userId on the call.
ts
import { Eyeball } from "@eyeball/sdk";
const eyeball = new Eyeball({
apiKey: process.env.EYEBALL_API_KEY!,
baseUrl: process.env.EYEBALL_EXECUTOR_URL!,
userId: "demo_user",
});
const connection = await eyeball.connections.create({
toolkit: "gmail",
});
console.log(connection.connectionId, connection.status, connection.redirectUrl);The fixture response has no OAuth redirect:
JSON
{
"connectionId": "conn_...",
"redirectUrl": null,
"status": "connected"
}List and revoke fixtures through the same namespace:
ts
import { Eyeball } from "@eyeball/sdk";
const eyeball = new Eyeball({
apiKey: process.env.EYEBALL_API_KEY!,
baseUrl: process.env.EYEBALL_EXECUTOR_URL!,
});
const page = await eyeball.connections.list();
const current = page.connections.find(
({ connectionId }) => connectionId === "conn_01JZ6XA2T4R8N4W3H7Q9M5K2P1",
);
if (current !== undefined) {
await eyeball.connections.delete(current.connectionId);
}If POST /v1/connections is absent, the SDK converts the route's not_found into not_supported and identifies eyeball Cloud as the hosted OAuth boundary.
Production OAuth consent, token refresh, and hosted account administration are not represented by these fixtures. See the generated Connections API for the complete method and record types.