Official SimplyStack SDKs for JavaScript, Python, and more to simplify integration.
SDK Documentation
SimplyStack provides official SDKs to make integration easier and faster. SDKs handle authentication, error handling, and provide type-safe interfaces for all APIs.
JavaScript/TypeScript SDK
Install via npm:
Bash
npm install @simplystack/sdkQuick start:
JavaScript
import { SimplyStack } from '@simplystack/sdk';
const client = new SimplyStack({
apiKey: 'your-api-key'
});
// Fetch content
const posts = await client.content.list({
type: 'blog',
limit: 10
});
// Upload file
const file = await client.storage.upload(fileData);
// Send email
const email = await client.emails.send({
to: 'user@example.com',
subject: 'Welcome',
html: '<h1>Welcome!</h1>'
});Python SDK
Install via pip:
Bash
pip install simplystackQuick start:
Python
from simplystack import SimplyStack
client = SimplyStack(api_key='your-api-key')
# Fetch content
posts = client.content.list(type='blog', limit=10)
# Upload file
file = client.storage.upload(file_data)
# Send email
email = client.emails.send(
to='user@example.com',
subject='Welcome',
html='<h1>Welcome!</h1>'
)SDK Features
- Type-safe interfaces (TypeScript)
- Automatic retry logic
- Built-in error handling
- Request/response logging
- Pagination helpers
- Environment variable support
Configuration
SDKs support configuration via environment variables or direct initialization:
JavaScript
// Environment variables
// SIMPLYSTACK_API_KEY=your-api-key
import { SimplyStack } from '@simplystack/sdk';
// Auto-loads from environment
const client = new SimplyStack();
// Or pass directly
const client = new SimplyStack({
apiKey: 'your-api-key',
baseUrl: 'https://www.simplystack.dev/api/v1',
timeout: 30000
});Error Handling
All SDKs throw typed errors for easy handling:
JavaScript
try {
const post = await client.content.get('my-post');
} catch (error) {
if (error.code === 'NOT_FOUND') {
console.log('Post not found');
} else if (error.code === 'UNAUTHORIZED') {
console.log('Invalid API key');
} else {
console.error('Error:', error.message);
}
}Next Steps
- Check out code examples for common use cases
- View API reference documentation
- Join our Discord community for support