Skip to content

SDK Reference Overview

The Pulsabase SDK is a single, framework-agnostic package (pulsabase) that works in any TypeScript or JavaScript environment — browser, React Native, Node.js, Deno, or Bun.

Terminal window
npm install pulsabase
ExportDescription
PulsaClientMain client — all queries, auth, storage, realtime
AuthServiceAuthentication, sessions, MFA, IAM management
QueryBuilderChainable query DSL for database reads & writes
RelationBuilderM2M relation management (attach, detach, sync)
Storage methodsAccessed via pb.storage.upload() etc.
Channel methodsAccessed via pb.channel('name')
Decorators@primary, @text, @relation, @foreignId, etc.
Validation Rulesrules.* and crossRules.*
ErrorsPulsabaseApiError, PulsabaseValidationError
import 'reflect-metadata';
import { PulsaClient } from 'pulsabase';
import User from './models/User';
const pb = new PulsaClient({
engineUrl: 'https://api.myproject.pulsabase.io',
broadcasterUrl: 'wss://rt.myproject.pulsabase.io',
storageUrl: 'https://storage.myproject.pulsabase.io',
idpUrl: 'https://idp.myproject.pulsabase.io',
apiKey: 'pk_live_xxxxx',
auth: {
clientId: 'my-client-id',
redirectUri: 'https://myapp.com/callback',
},
models: [User],
autoRefreshToken: true,
});

The SDK has no framework dependencies. It uses only:

  • fetch — native in browser, React Native, and Node 18+
  • WebSocket — native in all targets
  • reflect-metadata — required for decorators (add to your entry point)

Works out-of-the-box with: React, Vue, Angular, Svelte, React Native, Next.js, Vite, Nuxt, Node.js, Deno, Bun.

Note: tsconfig.json must have "experimentalDecorators": true and "emitDecoratorMetadata": true.