SDKs & Libraries
Use official client libraries to integrate Sapphire Legal AI into your applications quickly and securely.
Overview
Official SDKs provide pre-built functionality for common API operations, handle authentication, manage rate limiting, and provide type safety for your preferred programming language.
Available SDKs
JavaScript/TypeScript
Our flagship SDK with full TypeScript support and comprehensive feature coverage.
Installation
# Using npm npm install @sapphirelegal/ai-sdk # Using yarn yarn add @sapphirelegal/ai-sdk # Using pnpm pnpm add @sapphirelegal/ai-sdk
Basic usage
import { SapphireClient } from '@sapphirelegal/ai-sdk'; const client = new SapphireClient({ apiKey: 'your_api_key_here', // or use JWT token // token: 'your_jwt_token_here' }); // Create a new case const case = await client.cases.create({ title: 'Smith v. Johnson', case_number: 'CV-2025-001', case_type: 'litigation', jurisdiction: 'federal' }); // Upload a document const document = await client.documents.upload(case.id, { file: fileBuffer, title: 'Complaint', document_type: 'pleading' }); // Search cases const cases = await client.cases.search({ query: 'contract dispute', status: 'active', limit: 20 });
Advanced features
- TypeScript support: Full type definitions for all API operations
- Error handling: Comprehensive error classes and handling
- Rate limiting: Automatic rate limit management and retry logic
- Webhook handling: Built-in webhook signature verification
- Streaming: Support for streaming responses and real-time updates
Python
Python SDK with async support and comprehensive documentation.
Installation
# Using pip pip install sapphire-legal-ai # Using poetry poetry add sapphire-legal-ai # Using conda conda install -c conda-forge sapphire-legal-ai
Basic usage
from sapphire_legal_ai import SapphireClient # Initialize client client = SapphireClient(api_key="your_api_key_here") # Create a case case = client.cases.create( title="Smith v. Johnson", case_number="CV-2025-001", case_type="litigation", jurisdiction="federal" ) # Upload document with open("complaint.pdf", "rb") as f: document = client.documents.upload( case_id=case.id, file=f, title="Complaint", document_type="pleading" ) # Search cases cases = client.cases.search( query="contract dispute", status="active", limit=20 )
Java
Enterprise-grade Java SDK with Spring Boot integration support.
Installation (Maven)
<dependency> <groupId>ai.sapphirelegal</groupId> <artifactId>sapphire-ai-sdk</artifactId> <version>1.0.0</version> </dependency>
Installation (Gradle)
implementation 'ai.sapphirelegal:sapphire-ai-sdk:1.0.0'
Basic usage
import ai.sapphirelegal.SapphireClient; import ai.sapphirelegal.models.Case; import ai.sapphirelegal.models.Document; // Initialize client SapphireClient client = new SapphireClient.Builder() .apiKey("your_api_key_here") .build(); // Create a case Case case = client.cases().create(Case.builder() .title("Smith v. Johnson") .caseNumber("CV-2025-001") .caseType("litigation") .jurisdiction("federal") .build()); // Upload document Document document = client.documents().upload(case.getId(), Document.builder() .file(fileBytes) .title("Complaint") .documentType("pleading") .build());
Go
High-performance Go SDK with context support and idiomatic Go patterns.
Installation
go get github.com/sapphirelegal/ai-sdk-go
Basic usage
package main import ( "context" "log" "github.com/sapphirelegal/ai-sdk-go" ) func main() { ctx := context.Background() // Initialize client client := sapphire.NewClient("your_api_key_here") // Create a case case, err := client.Cases.Create(ctx, &sapphire.CaseRequest{ Title: "Smith v. Johnson", CaseNumber: "CV-2025-001", CaseType: "litigation", Jurisdiction: "federal", }) if err != nil { log.Fatal(err) } // Upload document document, err := client.Documents.Upload(ctx, case.ID, &sapphire.DocumentRequest{ File: fileBytes, Title: "Complaint", DocumentType: "pleading", }) if err != nil { log.Fatal(err) } }
Version support matrix
SDK | Current Version | API Version | Status | EOL Date |
---|---|---|---|---|
JavaScript/TypeScript | 1.5.0 | v1 | Active | - |
Python | 1.3.0 | v1 | Active | - |
Java | 1.2.0 | v1 | Active | - |
Go | 1.1.0 | v1 | Active | - |
SDK features
Common capabilities
- Authentication: Automatic token management and refresh
- Rate limiting: Built-in rate limit handling and backoff
- Error handling: Consistent error types and retry logic
- Logging: Configurable logging and debugging
- Testing: Mock clients and testing utilities
Advanced features
- Webhook handling: Built-in webhook signature verification
- Streaming: Support for real-time data streams
- Batching: Efficient batch operations for multiple items
- Caching: Intelligent caching for frequently accessed data
- Metrics: Built-in performance monitoring and metrics
Getting started
Quick start guide
- Choose your preferred programming language
- Install the SDK using your package manager
- Get your API key from the Sapphire Legal AI dashboard
- Initialize the client with your credentials
- Start making API calls using the SDK methods
Authentication setup
All SDKs support both API key and JWT token authentication:
- API Key: Long-term access for service-to-service communication
- JWT Token: User-based authentication with automatic refresh
- OAuth2: Enterprise SSO integration (JavaScript SDK only)
Examples and tutorials
Common use cases
- Case management: Create, update, and search cases
- Document handling: Upload, process, and manage documents
- User management: Manage users and permissions
- Webhook integration: Set up event-driven workflows
- Bulk operations: Process multiple items efficiently
Integration patterns
- Web applications: Frontend integration with JavaScript SDK
- Backend services: Server-side integration with Python/Java/Go
- Mobile apps: Cross-platform mobile integration
- Automation scripts: CLI tools and scheduled tasks
- Data pipelines: ETL and analytics integration
Support and resources
Documentation
- API Reference: Complete endpoint documentation
- SDK Guides: Language-specific tutorials and examples
- Code Samples: Ready-to-use code examples
- Best Practices: Integration patterns and recommendations
Community and support
- GitHub: Open source SDK repositories
- Discord: Community discussions and support
- Stack Overflow: Q&A and troubleshooting
- Support tickets: Enterprise support and assistance
Tip
Pro tip: Start with the JavaScript/TypeScript SDK for the most comprehensive feature coverage and active development.
What's next
- Authentication - Learn about authentication methods
- API Endpoints - Explore available API operations
- Webhooks - Set up event-driven integrations