For developers

Bring your entire customer stack into your app.

The @bigfootai/noded-sdk drops your live Noded graph — people, companies, activity, notes, memory — straight into a CRM sidebar, a support widget, or an internal dashboard. One-line auth, typed helpers, no GraphQL to learn. Vibe-code it with Claude or Cursor.

Quickstart · 5 minutes

From zero to live data

Your users sign in with their own Noded account — so there are no secret keys in your app, and every call is automatically scoped to what they're allowed to see. To get going, request your credentials and we provision access for your app.

01

Request access

Ask Noded for your auth domain, client ID and API audience. Send us your app origin(s); we provision as needed.

02

Install & connect

npm i @bigfootai/noded-sdk oidc-client-ts, create the client with those values, then call noded.connect().

03

Read

Call the resource helpers. No GraphQL, no schema spelunking — just typed results.

quickstart.ts
import { Noded } from '@bigfootai/noded-sdk';

const noded = new Noded({
  auth: {
    mode: 'oidc',
    issuer: NODED_ISSUER,       // provided by Noded when you request access
    clientId: NODED_CLIENT_ID,  // provided by Noded — your app's SPA client
    audience: NODED_AUDIENCE,   // provided by Noded — the Noded API audience
  },
});

await noded.connect();                          // opens Noded login, then silent refresh

const people   = await noded.people.search('acme.com');
const [acme]   = await noded.companies.search('Acme');
const timeline = await noded.activity.forTag(acme.id, { limit: 20 });
const note     = await noded.notes.create({ title: 'QBR prep' });

Reference

What you can pull in

Every helper returns clean, typed objects. Need a field the helpers don't cover? Drop to noded.graphql() and query the API directly.

CallReturns
noded.people.search(q)People (contacts) matching a name or email
noded.companies.search(q)Companies / accounts matching a name or domain
noded.activity.forTag(id)Unified timeline — notes, emails, tasks, messages, meetings
noded.notes.create({ title })A note written back into the graph
noded.memory.forTag(id)What Noded remembers about a person or account
noded.search(q)People and companies in one call
noded.graphql(query, vars)Escape hatch — any Noded GraphQL operation

Vibe code it

Let your agent do the wiring

Drop our AGENTS.md into your project (or .cursorrules / CLAUDE.md). It teaches Claude or Cursor the SDK, the auth model and the data shapes — so a one-line prompt produces working code, not guesses.

You → your coding agent "Add a Noded panel to the account page that shows the company's recent activity and what we know about them, keyed off the account's email domain."

The agent installs the SDK, wires noded.connect(), resolves the company, and renders the timeline + memory — using the typed helpers it already understands.

Auth, without the ceremony

No secrets in the browser

The SDK signs your users in with their Noded account and manages token refresh for you. Nothing sensitive ships to the client, and access always respects the signed-in user's permissions.

Internal tool

Sign in with Noded

Your teammates already have Noded accounts. mode: 'oidc' — a popup, then silent refresh. Zero backend.

Embed

Server proxy

Embedding where viewers aren't Noded users? Run a tiny proxy that holds the credential; the browser never sees it.

Server-rendered

Token mode

Rendering on the server? Bring your own access token with mode: 'token'.

Build customer-aware software.

Skip the customer-context problem — governance, ontology and model routing are handled underneath. You just render the data.