Execute Pipeline and Executable via REST API
Data Sync Pro exposes REST API endpoints that allow you to trigger pipeline and executable runs outside of the DSP UI. Any tool or system that can send an HTTP request can call them.
Calling via Postman
additionalRetrieveParameters is optional. Use null for no additional filtering, or a condition string (e.g. "CreatedDate = TODAY") to filter retrieved records.
{"additionalRetrieveParameters": null}sourceRecordIds — an array of record IDs from the executable's source object.
{"sourceRecordIds": ["001XXXXXXXXXXXX"]}Response
Batch (Pipeline and Executable) returns an execution record ID (e.g. "a0CDC000003DPrY2AW"). This means the batch job has been submitted, not that the run has finished. To check the run status, go to the corresponding Pipeline Execution or Execution record.
Sync (Executable) returns the sync result for each record directly in the response body. No execution records are generated. Example response:
[
[
{
"targetId": "006XXXXXXXXXXXX",
"success": true,
"sourceId": "006XXXXXXXXXXXX",
"skipped": false,
"action": "insert"
}
]
]Calling via Apex
Pipeline Example
HttpRequest request = new HttpRequest();
request.setEndpoint('callout:Your_Named_Credential/services/apexrest/pushtopics/execution/batch/pipeline/YOUR_PIPELINE_API_NAME');
request.setMethod('POST');
request.setHeader('Content-Type', 'application/json');
request.setTimeout(60000);
request.setBody('{"additionalRetrieveParameters": null}');
Http http = new Http();
HttpResponse response = http.send(request);
System.debug('status: ' + response.getStatusCode());
System.debug('response: ' + response.getBody());Executable Example
HttpRequest request = new HttpRequest();
request.setEndpoint('callout:Your_Named_Credential/services/apexrest/pushtopics/execution/batch/executable/YOUR_EXECUTABLE_API_NAME');
request.setMethod('POST');
request.setHeader('Content-Type', 'application/json');
request.setTimeout(60000);
request.setBody('{"sourceRecordIds": ["001XXXXXXXXXXXX"]}');
Http http = new Http();
HttpResponse response = http.send(request);
System.debug('status: ' + response.getStatusCode());
System.debug('response: ' + response.getBody());