SDK Installation
Skaala provides official SDKs to make integration easier. Choose your language below:
Coming Soon: Official SDKs are currently in development. For now, use the REST API directly with your preferred HTTP client.
Available SDKs
JavaScript/TypeScript
Status: Coming Q1 2025Features:
- Type-safe API client
- Webhook verification
- React hooks
Python
Status: Coming Q1 2025Features:
- Async/await support
- Pydantic models
- Django integration
PHP
Status: Coming Q2 2025Features:
- PSR-7 compatible
- Laravel package
- Symfony bundle
Using the REST API Directly
Until official SDKs are available, you can use the REST API with your favorite HTTP client:
JavaScript/TypeScript
Python
PHP
// Using fetch (built-in)
const SKAALA_API_KEY = process.env.SKAALA_API_KEY;
const BASE_URL = 'https://www.skaala.ai/api';
async function listBookings() {
const response = await fetch(`${BASE_URL}/v1/bookings`, {
headers: {
'Authorization': `Bearer ${SKAALA_API_KEY}`
}
});
if (!response.ok) {
throw new Error(`API error: ${response.status}`);
}
return await response.json();
}
// Usage
const { data, meta } = await listBookings();
console.log(`Found ${meta.total} bookings`);
Recommended clients:
fetch (built-in in Node 18+)
axios - Feature-rich HTTP client
ky - Modern fetch wrapper
import requests
import os
SKAALA_API_KEY = os.environ['SKAALA_API_KEY']
BASE_URL = 'https://www.skaala.ai/api'
def list_bookings():
response = requests.get(
f'{BASE_URL}/v1/bookings',
headers={'Authorization': f'Bearer {SKAALA_API_KEY}'}
)
response.raise_for_status()
return response.json()
# Usage
result = list_bookings()
print(f"Found {result['meta']['total']} bookings")
Recommended clients:
requests - Simple HTTP library
httpx - Async-capable client
aiohttp - Async HTTP client
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$apiKey = getenv('SKAALA_API_KEY');
$baseUrl = 'https://www.skaala.ai/api';
$client = new Client([
'base_uri' => $baseUrl,
'headers' => [
'Authorization' => 'Bearer ' . $apiKey
]
]);
$response = $client->get('/v1/bookings');
$data = json_decode($response->getBody(), true);
echo "Found {$data['meta']['total']} bookings\n";
?>
Recommended clients:
guzzlehttp/guzzle - Full-featured HTTP client
symfony/http-client - Symfony’s HTTP client
Code Generators
Generate type-safe clients from our OpenAPI specification:
OpenAPI Generator
Generate clients in 50+ languages from our OpenAPI spec:openapi-generator-cli generate \
-i https://www.skaala.ai/api-docs/openapi.json \
-g typescript-fetch \
-o ./skaala-client
Swagger Codegen
Alternative code generator:swagger-codegen generate \
-i https://www.skaala.ai/api-docs/openapi.json \
-l typescript-fetch \
-o ./skaala-client
Environment Setup
Store your API key securely using environment variables:
.env File
Vercel
GitHub Actions
SKAALA_API_KEY=sk_live_your_key_here
SKAALA_BASE_URL=https://www.skaala.ai/api
Add .env to your .gitignore to prevent committing secrets!
# Add via Vercel CLI
vercel env add SKAALA_API_KEY
# Or via Vercel Dashboard:
# Settings → Environment Variables
.github/workflows/deploy.yml
env:
SKAALA_API_KEY: ${{ secrets.SKAALA_API_KEY }}
Add secrets via Settings → Secrets and variables → Actions
Next Steps
Authentication
Learn about API keys and scopes
Quickstart
Make your first API call
API Reference
Explore all endpoints
OpenAPI Spec
Download OpenAPI specification
Subscribe for SDK Updates
Want to be notified when official SDKs are released?
Email support@skaala.ai with subject “SDK Notifications” and your preferred language(s).