JK
JustKalm
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

FeatureJSONCSVParquet
Nested Data
Spreadsheet Import
Big Data Tools~~
Compressiongzipgzipsnappy
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.

© 2025 JustKalm. Your data, your control.