SDK Overview
Space Invoices gives you multiple ways to integrate. The right one depends on how much UI you want to own, how fast you need to ship, and whether your backend needs multi-entity control.
Comparison
| Path | Best For | Time to first value | UI ownership | Backend required |
|---|---|---|---|---|
| JavaScript SDK | Full API access, backend automation, custom UI | Half day to 2 days | Full | Yes |
| Embed SDK | Fast pre-built UI | Hours | Low | Usually yes |
| React UI | React teams that want full component ownership | 1 to 3 days | High | Yes |
| Direct API | Non-JS stacks or custom clients | 1 to 3 days | Full | Yes |
Which SDK Should I Use?
JavaScript SDK
Use the JavaScript SDK if you:
- Need full control over your UI
- Want to build custom workflows
- Are integrating on the backend (Node.js)
- Need access to all API endpoints
- Want the clearest path from sandbox proof-of-concept to production
import SpaceInvoices from '@spaceinvoices/js-sdk';
const sdk = new SpaceInvoices({ accessToken: 'sk_sandbox_...' });const invoices = await sdk.invoices.list();Embed SDK
Use the Embed SDK if you:
- Want pre-built UI without building components
- Need quick integration (hours, not days)
- Want consistent, maintained UI
- Are building a white-label solution
- Can accept iframe-based UI boundaries
import { SpaceInvoices } from '@spaceinvoices/embed-sdk';
const si = new SpaceInvoices({ apiKey: 'ek_sandbox_...', entityId: 'ent_123',});
si.open('invoices', { container: '#embed-container' });React UI
Use React UI if you:
- Want pre-built components but need full customization
- Are building a React application
- Want to own and modify the component code
- Need deep integration with your existing design system
- Prefer copy-paste control over package-style abstraction
import { InvoiceListTable } from '@/components/invoices/invoice-list-table';
function InvoicesPage() { return <InvoiceListTable entityId={activeEntity.id} />;}Still Not Sure?
Use these defaults:
- choose JavaScript SDK if you are deciding between multiple options
- choose Embed SDK if speed matters more than deep UI customization
- choose React UI if you are already a React team and want ownership
- choose Direct API only if your stack or governance requires it