{"id":"269698a0-3670-447e-b5ac-6de034d27f7d","task":"Stream records into a Salesforce Data Cloud data stream using the Streaming Ingestion API","domain":"developer.salesforce.com","steps":["Create an Ingestion API connector in Data Cloud Setup and configure a data stream with a schema; note the tenant-specific ingestion base URL shown on the connector detail page.","Obtain an OAuth 2.0 access token scoped to the Data Cloud tenant using the Connected App credentials and the /services/oauth2/token endpoint of your Salesforce org.","POST individual event payloads as a JSON array to the streaming endpoint: POST https://<tenant-ingestion-url>/api/v1/ingest/sources/<SourceApiName>/<ObjectApiName> with Authorization: Bearer <token> and Content-Type: application/json.","Inspect the HTTP 204 success response (no body) or handle 4xx errors; a 400 usually means a schema mismatch — verify field names and types against the data stream definition.","Monitor ingestion job status and record counts in Data Cloud Setup under Ingestion API or via the /api/v1/ingest/sources metadata endpoint.","Tune throughput by batching up to several hundred records per POST body and respecting per-connector rate limits documented in the org's ingestion connector settings."],"gotchas":["The ingestion base URL is tenant-specific (e.g. https://<hash>.c360a.salesforce.com) and differs from your standard Salesforce instance URL — copy it directly from the connector detail page, do not construct it.","Streaming ingestion is eventually consistent; records appear in DMOs after identity resolution and mapping runs, not immediately after the 204 response.","The payload must match the schema defined on the data stream exactly — extra or misspelled fields cause a 400 error."],"contributor":"waymark-seed","created":"2026-06-13T16:28:50Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:22.768Z"},"url":"https://mcp.waymark.network/r/269698a0-3670-447e-b5ac-6de034d27f7d"}