JavaScript/TypeScript SDK
The Spartera JavaScript SDK provides full access to the Spartera REST API
from Node.js applications and web browsers.
Installation
Install via npm:
npm install spartera-api-sdk
Requirements
- Node.js v14 or higher
- npm package manager
Features
The JavaScript SDK includes:
- Complete Spartera REST API access
- Data warehouse connections (BigQuery, Snowflake, Redshift)
- Programmatic asset publishing to marketplace
- Price management and usage monitoring
- Promise and callback pattern support
- Environment variable configuration support
- Browser support via CDN (unpkg)
- Full TypeScript support
Browser Usage
Include via CDN:
<script src="https://unpkg.com/spartera-api-sdk"></script>
Authentication
Configure using API keys:
const { SparteraClient } = require('spartera-api-sdk');
// Using environment variables
const client = new SparteraClient();
// Direct configuration
const client = new SparteraClient({
apiKey: 'your-api-key',
endpoint: 'https://api.spartera.com'
});
Quick Start
const { SparteraClient } = require('spartera-api-sdk');
async function main() {
const client = new SparteraClient({ apiKey: 'your-api-key' });
// Create data connection
const connection = await client.connections.create({
name: 'Production Database',
type: 'snowflake',
credentials: {
account: 'your-account',
username: 'your-username',
password: 'your-password'
}
});
// Define analytic asset
const asset = await client.assets.create({
name: 'Customer Metrics',
type: 'sql',
query: 'SELECT customer_id, revenue FROM customers',
connectionId: connection.id
});
// Publish to marketplace
await client.marketplace.publish(asset.id, {
pricing: {
strategy: 'subscription',
price: 99.99
}
});
}
main().catch(console.error);
TypeScript Support
import { SparteraClient, Asset, Connection } from 'spartera-api-sdk';
const client = new SparteraClient({ apiKey: process.env.SPARTERA_API_KEY });
async function createAsset(): Promise<Asset> {
return await client.assets.create({
name: 'Revenue Analysis',
type: 'visualization',
connectionId: 'conn-123'
});
}
Error Handling
try {
const asset = await client.assets.get('asset-id');
} catch (error) {
if (error.status === 404) {
console.log('Asset not found');
} else {
console.error('API Error:', error.message);
}
}
