Configuration
Basic Configuration
import SpaceInvoices from "@spaceinvoices/js-sdk";
const _sdk = new SpaceInvoices({
accessToken: "YOUR_API_KEY",
});Configuration Options
| Option | Type | Description |
|---|---|---|
accessToken | string | () => Promise<string> | API key or async token provider |
basePath | string | Custom API URL (default: https://eu.spaceinvoices.com) |
onUnauthorized | (response) => void | Callback for 401 responses |
Dynamic Tokens
For applications that refresh tokens, provide an async function:
const _sdk = new SpaceInvoices({
accessToken: async () => {
// Fetch token from your auth system
const session = await getSession();
return session.accessToken;
},
});Handling Token Expiry
Use onUnauthorized to handle expired tokens:
const _sdk = new SpaceInvoices({
accessToken: "YOUR_API_KEY",
onUnauthorized: async (_response) => {
// Token expired - refresh and retry
await refreshToken();
window.location.reload();
},
});Custom Base URL
For self-hosted or regional deployments:
const _sdk = new SpaceInvoices({
accessToken: "YOUR_API_KEY",
basePath: "https://eu.spaceinvoices.com",
});Tree-Shakeable Configuration
When using tree-shakeable imports, call initSDK once at startup:
import { initSDK, invoices } from "@spaceinvoices/js-sdk";
// Initialize once at app startup
initSDK({
accessToken: "YOUR_API_KEY",
basePath: "https://eu.spaceinvoices.com",
});
// Now use individual modules anywhere
const _result = await invoices.list({ entity_id: "ent_123" });Next Steps
- API Methods — All available methods
- Zod Schemas — Form validation