Skip to content

Getting Started

Install the SDK and make your first API call in minutes.

Installation

Terminal window
# npm
npm install @sonar/sdk
# yarn
yarn add @sonar/sdk
# pnpm
pnpm add @sonar/sdk

Peer Dependencies: None Runtime Dependency: axios ^1.13.4 (bundled)

Quick Start

import { SonarSDK } from '@sonar/sdk';
// Initialize the client
const sdk = new SonarSDK({
apiKey: 'sk_your_api_key_here',
instanceName: 'your-instance',
});
// List documents
const { docs, totalDocs, totalPages } = await sdk.documents.list({ limit: 20 });
console.log(`Found ${totalDocs} documents across ${totalPages} pages`);
// Download a document
const { data, filename, contentType } = await sdk.documents.download('doc_123');
// Upload a document
import { readFileSync } from 'fs';
const file = readFileSync('./contract.pdf');
const uploaded = await sdk.documents.upload({
file,
filename: 'contract.pdf',
contentType: 'application/pdf',
classification: 'uploaded',
uploadFrom: 'user-documents',
});
console.log(`Uploaded: ${uploaded.id}`);
// Delete a document
const { documentId } = await sdk.documents.delete('doc_456');
console.log(`Deleted: ${documentId}`);
// Get a presigned download URL
const { url } = await sdk.documents.getDownloadUrl('doc_123', { expiresIn: 600 });
console.log(`Download URL: ${url}`);
// Check permissions
const { scopes } = await sdk.scopes.getAllowed();
console.log('Allowed scopes:', scopes);

SDK Resources

The SDK exposes two resource namespaces:

ResourceAccessorDescription
Documentssdk.documentsManage documents — list, get, upload, download, presigned URLs, delete, batch delete, export, signature chains
Scopessdk.scopesQuery API key permissions and available scopes

Next Steps