PlatformXeDocs
Get API Key

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.

SDKInstallNamespace
TypeScriptnpm install @caldera/platformxe-sdkclient.exports
Pythonpip install platformxeclient.exports
Gogo get github.com/calderax/platformxe-goclient.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

MethodScope
exports.create()exports:create
exports.get()exports:create
exports.getProcessor()exports:create
exports.updateProcessor()exports:create