API Reference

JavaScript SDK

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);
  }
}