Submit a bulk-delivery job for properties
Queues an ECS task that dumps every matching properties document to S3 in the requested format. Returns 202 with a jobId; poll GET /v1/properties/bulk-delivery/{jobId} for status + the signed download URL.
Row limit. Deliveries of up to 1,000 rows need no entitlement. Above that, the org's bulk-delivery.properties 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 100 rows regardless of entitlement.
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
curl -X POST "https://example.com/v1/properties/bulk-delivery" \ -H "Content-Type: application/json" \ -d '{ "format": "parquet" }'{
"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"
}{
"error": "string"
}Free-text property search POST
Find properties by a single free-text query — a full or partial address, an owner name, or a place. Results are ranked by relevance and tolerate typos, missing components, and reordered street directionals (e.g. "112 5th ave nw" and "112 nw 5th ave" both match). Returns the same property summary rows as the list endpoint. Use this for a search box; use the list endpoint for structured filtering.
Records linked to this one GET
Return the ids of records of another type that are linked to this record. Links resolve by identifier, strongest identifier first, and equally-trusted identifiers are combined — a company's linked loans cover every role it holds on a loan, not just the first one found. The response reports which strength was used: `primary` is the canonical identifier for that pair, `secondary` is a real but weaker alternate used only when the record carries nothing better. This is a lightweight index: it returns ids and a count, not full records. For filtering, sorting, pagination and full detail, use the named endpoint for the pair (for example the originator loans endpoint) and fetch records by id.