Submit a bulk-delivery job for originators
Queues an ECS task that dumps every matching originators document to S3 in the requested format. Returns 202 with a jobId; poll GET /v1/originators/bulk-delivery/{jobId} for status + the signed download URL.
Row limit. Deliveries of up to 5,000 rows need no entitlement. Above that, the org's bulk-delivery.originators entitlement is required and its scope (row ceiling, row filters, allowed fields) governs the delivery; without it the request is rejected with 403 entitlement_missing. Pass limit at or below the ceiling to deliver a capped subset of a broader query. Email support@modelmatch.com to request a limit increase.
Delivery is billed at 1 credit per row regardless of entitlement (deliveries submitted from the ModelMatch web app are not billed).
Push-target destination. Pass destination: { type: "push-target", targetId } to have the finished rows sent to a configured push target instead of downloaded. The target is checked before anything is queued; a refusal returns the push target's status and code (TARGET_NOT_FOUND 404, FORBIDDEN 403, PLAN_REQUIRED 402, TARGET_DISABLED 409, ENTITY_MISMATCH 400). Limits and billing are the same as a file delivery.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/originators/bulk-delivery" \ -H "Content-Type: application/json" \ -d '{}'{
"billing": "credits",
"destination": {
"targetId": "string",
"type": "push-target"
},
"entityType": "string",
"estimatedTotal": 0,
"format": "parquet",
"jobId": "string",
"maxRows": 1,
"status": "queued"
}{
"error": "string"
}{
"error": "string"
}{
"balance": 0,
"cost": 0,
"error": "payment_required",
"message": "string",
"reason": "out_of_credits"
}{
"entitlementKey": "string",
"error": "entitlement_missing",
"estimatedTotal": 0,
"maxRows": 1,
"message": "string"
}{
"code": "TARGET_NOT_FOUND",
"error": "TARGET_NOT_FOUND",
"message": "string"
}{
"code": "TARGET_NOT_FOUND",
"error": "TARGET_NOT_FOUND",
"message": "string"
}{
"error": "string"
}Zip-code volume breakdown POST
Previous Page
Cancel a bulk enrichment job DELETE
Cancels a queued or running bulk enrichment job. The job is marked `cancelled` immediately; the container running it notices at its next progress tick and stops. Enrichment is billed once, at the end, so **a cancelled job is never charged** — no credits are debited and there is nothing to refund. Properties already enriched stay in the cache, so re-running later is cheaper. Cancelling a job that has already finished (or was already cancelled) returns 409 and changes nothing.