Exports
SDK methods for creating and retrieving data exports.
The client.exports namespace provides typed methods for creating data export jobs and checking their status. Exports run asynchronously and produce downloadable files when complete. Available in TypeScript, Python, and Go SDKs.
| SDK | Install | Namespace |
|---|---|---|
| TypeScript | npm install @caldera/platformxe-sdk | client.exports |
| Python | pip install platformxe | client.exports |
| Go | go get github.com/calderax/platformxe-go | client.Exports |
Create an export
Start an asynchronous export job. The response includes a job ID that you can poll for completion.
const job = await client.exports.create({
type: 'AUDIT_LOGS',
format: 'csv',
filters: {
from: '2026-03-01T00:00:00Z',
to: '2026-04-01T00:00:00Z',
},
});
console.log(job.id); // "exp_abc123"
console.log(job.status); // "PROCESSING"
job = client.exports.create(
type="AUDIT_LOGS",
format="csv",
filters={
"from": "2026-03-01T00:00:00Z",
"to": "2026-04-01T00:00:00Z",
},
)
job, err := client.Exports.Create(map[string]interface{}{
"type": "AUDIT_LOGS",
"format": "csv",
"filters": map[string]interface{}{
"from": "2026-03-01T00:00:00Z",
"to": "2026-04-01T00:00:00Z",
},
})
Get export status
Poll an export job to check progress and retrieve the download URL when complete.
const result = await client.exports.get('exp_abc123');
if (result.status === 'COMPLETE') {
console.log(result.downloadUrl); // Signed URL, valid 1 hour
} else {
console.log(result.status); // "PROCESSING" or "FAILED"
}
result = client.exports.get("exp_abc123")
if result["status"] == "COMPLETE":
print(result["downloadUrl"])
result, err := client.Exports.Get("exp_abc123")
Processor configuration
Get processor config
const config = await client.exports.getProcessor();
config = client.exports.get_processor()
config, err := client.Exports.GetProcessor()
Update processor config
const updated = await client.exports.updateProcessor({
enabled: true,
config: {
maxConcurrentJobs: 3,
retentionDays: 30,
},
});
updated = client.exports.update_processor(
enabled=True,
config={"maxConcurrentJobs": 3, "retentionDays": 30},
)
updated, err := client.Exports.UpdateProcessor(map[string]interface{}{
"enabled": true,
"config": map[string]interface{}{
"maxConcurrentJobs": 3,
"retentionDays": 30,
},
})
Export files are stored temporarily and the download URL expires after 1 hour. Download the file promptly or trigger a new export if the link expires.
Scopes required
| Method | Scope |
|---|---|
exports.create() | exports:create |
exports.get() | exports:create |
exports.getProcessor() | exports:create |
exports.updateProcessor() | exports:create |