Pioneer API lets you send individual “record” payloads that get batched and compiled into uploads for production processing.
Request New Key.test for initial integration testing, then use prod when you’re ready for production traffic (both use the same API base URL; the key type controls how it’s handled).Records are sent to POST /records/send. All POST requests with a body must be valid JSON and include Content-Type: application/json.
x-api-key (required).Content-Type must be application/json.Idempotency-Key (required on every request). Use a unique value per record (UUID recommended) to safely retry without duplicating submissions.batchId (required) — your grouping key. Everything with the same batchId is compiled together.batchDuration (required) — determines the batching strategy (short or long).Example request (HTTP)
POST https://api.v1.pioneerdm.com/records/send
Content-Type: application/json
x-api-key: pdm_...
Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000
{
"batchId": "daily_lead_upload_20240521",
"batchDuration": "short",
"firstName": "Ada",
"lastName": "Lovelace",
"address1": "123 Main St",
"city": "Austin",
"state": "TX",
"zip": "78701"
}short (default): records are collected in a temporary batch. If no new records are received for that batch within a 60-second window, the batch is closed and processed into an upload.long: records are collected persistently over a longer period and processed at a fixed, scheduled time (e.g., daily, weekly, or monthly).long if you plan to send fewer than ~50 records per minute.batchId and batchDuration, your record fields are malleable: you can send the fields your use case needs, and they will be included in the resulting upload.batchId so your output has stable field names.You don’t need cURL to confirm processing—use this portal:
batchDuration: "short", check Processed Records and switch to the Test tab to see your uploads.batchDuration: "long", check Batches (then use the Test tab). Long batches appear here before they compile into uploads.Idempotency-Key is required on every send.400: missing batchId, missing/invalid batchDuration, or missing Idempotency-Key.401/403: missing or invalid x-api-key.