Data Ingestion
Current raw ingest host, auth contract, request envelope, and response counters
Data Ingestion
Current Status
Raw ingest is publicly hosted, but it is not a provider API key surface.
Current auth requirement:
Authorization: M2M <jwt>Required scope:
ingest:submit
Host
https://ingest.edge.vrplatform.app
Routes
POST /v1/ingest/reservationsPOST /v1/ingest/listingsPOST /v1/ingest/transactionsPOST /v1/ingest/paymentsPOST /v1/ingest/bank-accountsPOST /v1/ingest/bank-recordsPOST /v1/ingest/contacts
Exact Outer Request Shape
All ingest routes use the same outer envelope.
{
"tenantId": "uuid",
"connectionId": "uuid",
"triggerType": "manual",
"requestedScope": {},
"bootstrapFromLegacySource": true,
"writeLegacySource": true,
"items": [
{
"remoteId": "source-123",
"payload": {},
"sourceLastWebhookAt": "2026-04-01T12:00:00.000Z",
"description": "optional",
"status": "optional",
"date": "optional",
"reservationId": "uuid"
}
]
}Exact outer field rules:
tenantIdrequired, uuidconnectionIdrequired, uuidtriggerTyperequired, one of:manualschedulewebhookinitial
requestedScopeoptional objectbootstrapFromLegacySourceoptional booleanwriteLegacySourceoptional booleanitemsrequired array with1to5000items
Exact item field rules:
remoteIdrequiredpayloadrequiredsourceLastWebhookAtoptional RFC 3339 datetime stringdescriptionoptional stringstatusoptional stringdateoptional stringreservationIdoptional uuid
The payload schema depends on the entity route.
Successful Response
Successful submission returns a completed ingest run summary.
Current response fields include:
runIdtargetRealmdataRegionsubmitteddedupedenqueuedskippedJobsrawSubmittedrawDedupedlegacyBootstrapMatchedrawSkippedByWebhookrawUploadedrawNooplegacySourceSubmittedlegacySourceDedupedlegacySourceUpsertedstatus
Current status is returned as:
completed
Recommendation
Treat raw ingest as a coordinated backend integration. Do not build partner flows around it unless your contract explicitly includes M2M ingest access.
