Data Portability
Data Export
Export your data in multiple formats. We support full account exports for GDPR compliance and bulk data downloads.
Multiple Formats
JSON, CSV, Parquet
GDPR Compliant
Full data portability
Compressed
Fast downloads
Export Formats
Format Comparison
| Feature | JSON | CSV | Parquet |
|---|---|---|---|
| Nested Data | ✓ | ✗ | ✓ |
| Spreadsheet Import | ✗ | ✓ | ✗ |
| Big Data Tools | ~ | ~ | ✓ |
| Compression | gzip | gzip | snappy |
| Schema Included | ✗ | ✗ | ✓ |
What You Can Export
Valuations
All valuation requests and results
~10 KB/record90 days
API Logs
Request/response logs with timing
~2 KB/record30 days
Webhooks
Delivery history and payloads
~5 KB/record7 days
Account
Full account data (GDPR)
VariesAll time
Usage
API usage metrics and analytics
~1 KB/day365 days
Billing
Invoices and payment history
~3 KB/recordAll time
API Examples
Create Export Job
# Export all valuations from the last 30 days
curl -X POST https://api.justkalm.com/v2/export/valuations \
-H "Authorization: Bearer jk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"format": "json",
"date_from": "2024-01-01",
"date_to": "2024-01-31",
"include_metadata": true
}'
# Response: Export job created
{
"export_id": "exp_K7j9mNpQ",
"status": "processing",
"estimated_time": "2 minutes",
"download_url": null
}Poll for Completion
# Poll for export completion
curl https://api.justkalm.com/v2/export/exp_K7j9mNpQ \
-H "Authorization: Bearer jk_live_xxx"
# Response when complete
{
"export_id": "exp_K7j9mNpQ",
"status": "complete",
"format": "json",
"file_size": "15.2 MB",
"record_count": 45230,
"download_url": "https://exports.justkalm.com/exp_K7j9mNpQ.json.gz",
"expires_at": "2024-02-01T00:00:00Z"
}SDK Convenience Method
import { JustKalm } from '@justkalm/sdk';
const client = new JustKalm({ apiKey: 'jk_live_xxx' });
// Create and download export
const exp = await client.exports.create({
type: 'valuations',
format: 'csv',
dateFrom: new Date('2024-01-01'),
dateTo: new Date('2024-01-31'),
});
// Wait for completion (with built-in polling)
const completed = await exp.waitForCompletion();
// Download to file
await completed.downloadTo('./valuations-jan-2024.csv');
console.log(`Downloaded ${completed.recordCount} records`);Full Account Export (GDPR)
# Request full account data export (GDPR Article 20)
curl -X POST https://api.justkalm.com/v2/account/export \
-H "Authorization: Bearer jk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"type": "full_account",
"format": "json",
"include": [
"valuations",
"api_keys",
"webhooks",
"team_members",
"billing_history",
"usage_logs"
]
}'
# Response
{
"export_id": "exp_gdpr_L8k0nOrR",
"status": "processing",
"estimated_time": "10 minutes",
"notification_email": "you@example.com"
}Best Practices
Use Date Ranges
Export smaller date ranges for faster completion. Large exports can take 10+ minutes.
Download Promptly
Export download URLs expire after 24 hours. Automate downloads or store locally.
Rate Limits Apply
Max 3 concurrent exports per account. Larger plans have higher limits.
Secure Downloads
Download URLs are signed and single-use for security. Re-request if needed.
GDPR Data Portability
Your Right to Data Portability
Under GDPR Article 20, you have the right to receive your personal data in a structured, commonly used, and machine-readable format. JustKalm fully supports this right.
What's Included:
- • All valuation history
- • Account settings
- • Team member data
- • Billing records
Processing Time:
- • API: ~10 minutes
- • Dashboard: 24-48 hours
- • Email notification on completion
Ready to Export?
Start an export from your dashboard or use the API for automation.