DQE One API — Jobs & Audits

Support DQE
Support DQE
  • Updated
Jobs & Audits — DQE One API

The DQE One API is the backend API exposed by the DQE One package for Salesforce. The Jobs & Audits endpoints on this page create and launch the data-quality jobs (deduplication, B2B account matching, RNVP address validation) that the DQE One package runs against Salesforce records, and preview the effect of a find/replace data-prep transformation before committing it. All endpoints on this page are POST-only and use the DQE-Authorization header for authentication.

Related DQE One API documentation:

A note on Mandatory / Optional below — the source OpenAPI spec marks each endpoint’s request body as required overall, but does not flag individual body properties as required or optional (there is no required list on any of the body schemas). The Mandatory / Optional markers in this article reflect our best technical judgment based on each field’s role (session/identity claims vs. optional toggles) and should be confirmed with JP before publishing.
Jobs & Audits — DQE One API

Creates a new DQE data-quality job — deduplication, B2B account matching, or RNVP address validation — for a Salesforce org, using the job-configuration payload described below.

newJob

Request

Send the request body as JSON, with Content-Type: application/json.

Authentication — this endpoint requires the DQE-Authorization header (an API key). See Authentication & Session for how to obtain and configure this value.
{DOMAIN} is the domain of the server where your organization's own instance of the DQE One backend is installed — since this backend runs in your own infrastructure, this value is determined by your deployment, not issued by DQE.
A note on this endpoint’s request body — in the source OpenAPI spec, /newJob’s request body is defined via a $ref that points at the /lanchAudit path’s own request body schema, rather than at a shared component. JP confirmed that /launchAudit (correct spelling, documented separately below) is the real, current endpoint, and that /lanchAudit (the misspelled path present in the spec) is not a real/current endpoint and is not documented here on its own. Its referenced body schema is, however, /newJob’s own genuine, current request body — so it is resolved and documented in full below.
POSThttps://{DOMAIN}/newJob

Code examples

Create a new job

curl -X POST "https://{DOMAIN}/newJob" \ -H "Content-Type: application/json" \ -H "DQE-Authorization: {API_KEY}" \ -d '{"aud": "DQEOne", "crt": "1730000000", "sub": "0055f000000XyZAAU", "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "urllogin": "https://mycompany.my.salesforce.com", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "Region": "EU", "chatterId": "0D55f00000ChatterXYZ", "isFreeTrial": false, "isPersonAccountEnable": false, "jobId": "a0C5f000000JobXYZ", "Name": "Account Dedup Job", "Id": "", "processId": "", "runId": "", "Rule_Set_Id__c": "a0B5f000000RuleXYZ", "Record_Type__c": "Account", "Process_kind__c": "Dedup", "Source__c": "OneAPI", "Last_Run_Id__c": "", "date": "2026-10-29", "isKilling": false, "attributes": {}, "auditJson": {}, "Automatic_Dedup_Merge__c": true, "Automatic_B2B_Merge__c": true, "Automatic_RNVP_Merge__c": false, "SF_Default_Merge__c": false, "Auto_Merge_Threshold__c": 85, "Merge_B2B_Status_Code__c": 0, "Merge_RNVP_Status_Code__c": "", "Assign_To_Owner__c": false, "Authorized_Empty_Bulk__c": false, "delete_record__c": false, "Enable_UnMerge_Dedup__c": false, "Enable_Reparenting_Inactive_Child__c": false, "Max_Record_Per_Batchable__c": 200, "filterJson": "", "Filters_ListView_Json__c": [], "Selected_List_View__c": "", "Run_On_View__c": false, "Use_Sort_LV__c": false, "Selected_Fields__c": {}}'
const body = { "aud": "DQEOne", "crt": "1730000000", "sub": "0055f000000XyZAAU", "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "urllogin": "https://mycompany.my.salesforce.com", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "Region": "EU", "chatterId": "0D55f00000ChatterXYZ", "isFreeTrial": false, "isPersonAccountEnable": false, "jobId": "a0C5f000000JobXYZ", "Name": "Account Dedup Job", "Id": "", "processId": "", "runId": "", "Rule_Set_Id__c": "a0B5f000000RuleXYZ", "Record_Type__c": "Account", "Process_kind__c": "Dedup", "Source__c": "OneAPI", "Last_Run_Id__c": "", "date": "2026-10-29", "isKilling": false, "attributes": {}, "auditJson": {}, "Automatic_Dedup_Merge__c": true, "Automatic_B2B_Merge__c": true, "Automatic_RNVP_Merge__c": false, "SF_Default_Merge__c": false, "Auto_Merge_Threshold__c": 85, "Merge_B2B_Status_Code__c": 0, "Merge_RNVP_Status_Code__c": "", "Assign_To_Owner__c": false, "Authorized_Empty_Bulk__c": false, "delete_record__c": false, "Enable_UnMerge_Dedup__c": false, "Enable_Reparenting_Inactive_Child__c": false, "Max_Record_Per_Batchable__c": 200, "filterJson": "", "Filters_ListView_Json__c": [], "Selected_List_View__c": "", "Run_On_View__c": false, "Use_Sort_LV__c": false, "Selected_Fields__c": {} }; fetch("https://{DOMAIN}/newJob", { method: "POST", headers: { "Content-Type": "application/json", "DQE-Authorization": "{API_KEY}" }, body: JSON.stringify(body) }) .then(r => r.json()) .then(data => console.log(data));
import requests body = { "aud": "DQEOne", "crt": "1730000000", "sub": "0055f000000XyZAAU", "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "urllogin": "https://mycompany.my.salesforce.com", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "Region": "EU", "chatterId": "0D55f00000ChatterXYZ", "isFreeTrial": False, "isPersonAccountEnable": False, "jobId": "a0C5f000000JobXYZ", "Name": "Account Dedup Job", "Id": "", "processId": "", "runId": "", "Rule_Set_Id__c": "a0B5f000000RuleXYZ", "Record_Type__c": "Account", "Process_kind__c": "Dedup", "Source__c": "OneAPI", "Last_Run_Id__c": "", "date": "2026-10-29", "isKilling": False, "attributes": {}, "auditJson": {}, "Automatic_Dedup_Merge__c": True, "Automatic_B2B_Merge__c": True, "Automatic_RNVP_Merge__c": False, "SF_Default_Merge__c": False, "Auto_Merge_Threshold__c": 85, "Merge_B2B_Status_Code__c": 0, "Merge_RNVP_Status_Code__c": "", "Assign_To_Owner__c": False, "Authorized_Empty_Bulk__c": False, "delete_record__c": False, "Enable_UnMerge_Dedup__c": False, "Enable_Reparenting_Inactive_Child__c": False, "Max_Record_Per_Batchable__c": 200, "filterJson": "", "Filters_ListView_Json__c": [], "Selected_List_View__c": "", "Run_On_View__c": False, "Use_Sort_LV__c": False, "Selected_Fields__c": {} } response = requests.post( "https://{DOMAIN}/newJob", headers={"DQE-Authorization": "{API_KEY}"}, json=body, ) print(response.json())
<?php $body = json_encode([ 'aud' => 'DQEOne', 'crt' => '1730000000', 'sub' => '0055f000000XyZAAU', 'orgId' => '00D5f000000ABCDEAU', 'orgPrefix' => 'dqe__', 'urllogin' => 'https://mycompany.my.salesforce.com', 'url' => 'https://mycompany.my.salesforce.com/services/data/v58.0', 'Region' => 'EU', 'chatterId' => '0D55f00000ChatterXYZ', 'isFreeTrial' => false, 'isPersonAccountEnable' => false, 'jobId' => 'a0C5f000000JobXYZ', 'Name' => 'Account Dedup Job', 'Id' => '', 'processId' => '', 'runId' => '', 'Rule_Set_Id__c' => 'a0B5f000000RuleXYZ', 'Record_Type__c' => 'Account', 'Process_kind__c' => 'Dedup', 'Source__c' => 'OneAPI', 'Last_Run_Id__c' => '', 'date' => '2026-10-29', 'isKilling' => false, 'attributes' => [], 'auditJson' => [], 'Automatic_Dedup_Merge__c' => true, 'Automatic_B2B_Merge__c' => true, 'Automatic_RNVP_Merge__c' => false, 'SF_Default_Merge__c' => false, 'Auto_Merge_Threshold__c' => 85, 'Merge_B2B_Status_Code__c' => 0, 'Merge_RNVP_Status_Code__c' => '', 'Assign_To_Owner__c' => false, 'Authorized_Empty_Bulk__c' => false, 'delete_record__c' => false, 'Enable_UnMerge_Dedup__c' => false, 'Enable_Reparenting_Inactive_Child__c' => false, 'Max_Record_Per_Batchable__c' => 200, 'filterJson' => '', 'Filters_ListView_Json__c' => [], 'Selected_List_View__c' => '', 'Run_On_View__c' => false, 'Use_Sort_LV__c' => false, 'Selected_Fields__c' => [] ]); $ch = curl_init("https://{DOMAIN}/newJob"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $body); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'DQE-Authorization: {API_KEY}', ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);
const axios = require('axios'); const body = { "aud": "DQEOne", "crt": "1730000000", "sub": "0055f000000XyZAAU", "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "urllogin": "https://mycompany.my.salesforce.com", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "Region": "EU", "chatterId": "0D55f00000ChatterXYZ", "isFreeTrial": false, "isPersonAccountEnable": false, "jobId": "a0C5f000000JobXYZ", "Name": "Account Dedup Job", "Id": "", "processId": "", "runId": "", "Rule_Set_Id__c": "a0B5f000000RuleXYZ", "Record_Type__c": "Account", "Process_kind__c": "Dedup", "Source__c": "OneAPI", "Last_Run_Id__c": "", "date": "2026-10-29", "isKilling": false, "attributes": {}, "auditJson": {}, "Automatic_Dedup_Merge__c": true, "Automatic_B2B_Merge__c": true, "Automatic_RNVP_Merge__c": false, "SF_Default_Merge__c": false, "Auto_Merge_Threshold__c": 85, "Merge_B2B_Status_Code__c": 0, "Merge_RNVP_Status_Code__c": "", "Assign_To_Owner__c": false, "Authorized_Empty_Bulk__c": false, "delete_record__c": false, "Enable_UnMerge_Dedup__c": false, "Enable_Reparenting_Inactive_Child__c": false, "Max_Record_Per_Batchable__c": 200, "filterJson": "", "Filters_ListView_Json__c": [], "Selected_List_View__c": "", "Run_On_View__c": false, "Use_Sort_LV__c": false, "Selected_Fields__c": {} }; axios.post('https://{DOMAIN}/newJob', body, { headers: { 'DQE-Authorization': '{API_KEY}' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String json = "{" + " \"aud\": \"DQEOne\"," + " \"crt\": \"1730000000\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"orgPrefix\": \"dqe__\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"url\": \"https://mycompany.my.salesforce.com/services/data/v58.0\"," + " \"Region\": \"EU\"," + " \"chatterId\": \"0D55f00000ChatterXYZ\"," + " \"isFreeTrial\": false," + " \"isPersonAccountEnable\": false," + " \"jobId\": \"a0C5f000000JobXYZ\"," + " \"Name\": \"Account Dedup Job\"," + " \"Id\": \"\"," + " \"processId\": \"\"," + " \"runId\": \"\"," + " \"Rule_Set_Id__c\": \"a0B5f000000RuleXYZ\"," + " \"Record_Type__c\": \"Account\"," + " \"Process_kind__c\": \"Dedup\"," + " \"Source__c\": \"OneAPI\"," + " \"Last_Run_Id__c\": \"\"," + " \"date\": \"2026-10-29\"," + " \"isKilling\": false," + " \"attributes\": {}," + " \"auditJson\": {}," + " \"Automatic_Dedup_Merge__c\": true," + " \"Automatic_B2B_Merge__c\": true," + " \"Automatic_RNVP_Merge__c\": false," + " \"SF_Default_Merge__c\": false," + " \"Auto_Merge_Threshold__c\": 85," + " \"Merge_B2B_Status_Code__c\": 0," + " \"Merge_RNVP_Status_Code__c\": \"\"," + " \"Assign_To_Owner__c\": false," + " \"Authorized_Empty_Bulk__c\": false," + " \"delete_record__c\": false," + " \"Enable_UnMerge_Dedup__c\": false," + " \"Enable_Reparenting_Inactive_Child__c\": false," + " \"Max_Record_Per_Batchable__c\": 200," + " \"filterJson\": \"\"," + " \"Filters_ListView_Json__c\": []," + " \"Selected_List_View__c\": \"\"," + " \"Run_On_View__c\": false," + " \"Use_Sort_LV__c\": false," + " \"Selected_Fields__c\": {}" + "}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{DOMAIN}/newJob")) .header("Content-Type", "application/json") .header("DQE-Authorization", "{API_KEY}") .POST(HttpRequest.BodyPublishers.ofString(json)) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
using var client = new HttpClient(); client.DefaultRequestHeaders.Add("DQE-Authorization", "{API_KEY}"); var json = "{" + " \"aud\": \"DQEOne\"," + " \"crt\": \"1730000000\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"orgPrefix\": \"dqe__\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"url\": \"https://mycompany.my.salesforce.com/services/data/v58.0\"," + " \"Region\": \"EU\"," + " \"chatterId\": \"0D55f00000ChatterXYZ\"," + " \"isFreeTrial\": false," + " \"isPersonAccountEnable\": false," + " \"jobId\": \"a0C5f000000JobXYZ\"," + " \"Name\": \"Account Dedup Job\"," + " \"Id\": \"\"," + " \"processId\": \"\"," + " \"runId\": \"\"," + " \"Rule_Set_Id__c\": \"a0B5f000000RuleXYZ\"," + " \"Record_Type__c\": \"Account\"," + " \"Process_kind__c\": \"Dedup\"," + " \"Source__c\": \"OneAPI\"," + " \"Last_Run_Id__c\": \"\"," + " \"date\": \"2026-10-29\"," + " \"isKilling\": false," + " \"attributes\": {}," + " \"auditJson\": {}," + " \"Automatic_Dedup_Merge__c\": true," + " \"Automatic_B2B_Merge__c\": true," + " \"Automatic_RNVP_Merge__c\": false," + " \"SF_Default_Merge__c\": false," + " \"Auto_Merge_Threshold__c\": 85," + " \"Merge_B2B_Status_Code__c\": 0," + " \"Merge_RNVP_Status_Code__c\": \"\"," + " \"Assign_To_Owner__c\": false," + " \"Authorized_Empty_Bulk__c\": false," + " \"delete_record__c\": false," + " \"Enable_UnMerge_Dedup__c\": false," + " \"Enable_Reparenting_Inactive_Child__c\": false," + " \"Max_Record_Per_Batchable__c\": 200," + " \"filterJson\": \"\"," + " \"Filters_ListView_Json__c\": []," + " \"Selected_List_View__c\": \"\"," + " \"Run_On_View__c\": false," + " \"Use_Sort_LV__c\": false," + " \"Selected_Fields__c\": {}" + "}"; var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("https://{DOMAIN}/newJob", content); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);
package main import ( "bytes" "fmt" "io" "net/http" ) func main() { body := []byte(`{ "aud": "DQEOne", "crt": "1730000000", "sub": "0055f000000XyZAAU", "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "urllogin": "https://mycompany.my.salesforce.com", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "Region": "EU", "chatterId": "0D55f00000ChatterXYZ", "isFreeTrial": false, "isPersonAccountEnable": false, "jobId": "a0C5f000000JobXYZ", "Name": "Account Dedup Job", "Id": "", "processId": "", "runId": "", "Rule_Set_Id__c": "a0B5f000000RuleXYZ", "Record_Type__c": "Account", "Process_kind__c": "Dedup", "Source__c": "OneAPI", "Last_Run_Id__c": "", "date": "2026-10-29", "isKilling": false, "attributes": {}, "auditJson": {}, "Automatic_Dedup_Merge__c": true, "Automatic_B2B_Merge__c": true, "Automatic_RNVP_Merge__c": false, "SF_Default_Merge__c": false, "Auto_Merge_Threshold__c": 85, "Merge_B2B_Status_Code__c": 0, "Merge_RNVP_Status_Code__c": "", "Assign_To_Owner__c": false, "Authorized_Empty_Bulk__c": false, "delete_record__c": false, "Enable_UnMerge_Dedup__c": false, "Enable_Reparenting_Inactive_Child__c": false, "Max_Record_Per_Batchable__c": 200, "filterJson": "", "Filters_ListView_Json__c": [], "Selected_List_View__c": "", "Run_On_View__c": false, "Use_Sort_LV__c": false, "Selected_Fields__c": {} }`) req, _ := http.NewRequest("POST", "https://{DOMAIN}/newJob", bytes.NewBuffer(body)) req.Header.Set("Content-Type", "application/json") req.Header.Set("DQE-Authorization", "{API_KEY}") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() respBody, _ := io.ReadAll(resp.Body) fmt.Println(string(respBody)) }

Parameters

Headers

Header Description Mand / Opt
DQE-Authorization API key used to authenticate the request. See Authentication & Session for how to obtain and configure this value. Mandatory

Body parameters

The 44 body parameters below are grouped for readability into four areas: session & org identity, job identifiers & payload, merge & dedup options, and record filtering & list view. Fields suffixed __c are custom fields on the underlying Salesforce job-configuration object, following standard Salesforce custom-field naming convention.

Session & org identity
Parameter Description Mand / Opt
aud The audience claim — the intended recipient/target service for this signed request.
Type: String
Mandatory
crt The created/issued-at timestamp claim for this signed request.
Type: String
Mandatory
sub The subject claim — the Salesforce user/session identifier issuing the request.
Type: String
Mandatory
orgId The Salesforce organization ID making the request.
Type: String
Mandatory
orgPrefix A short namespace/prefix identifying the org’s custom fields in Salesforce.
Type: String
Mandatory
urllogin The Salesforce org’s login URL.
Type: String
Mandatory
url The Salesforce org’s instance/API base URL. The source spec does not clarify how this differs from urllogin above — likely the org’s REST API instance URL versus its login URL. Confirm with JP.
Type: String
Mandatory
Region The region or data center of the Salesforce org or DQE instance.
Type: String
Optional
chatterId Identifier of a Salesforce Chatter record (for example, a feed item) to post job progress or completion updates to. Inferred from the field name only — its exact purpose is not documented in the source specification.
Type: String
Optional
isFreeTrial Whether the calling org is on a DQE free-trial licence. Inferred from the field name only — not documented in the source specification.
Type: Boolean
Optional
isPersonAccountEnable Whether Person Accounts are enabled in the calling Salesforce org.
Type: Boolean
Optional
Job identifiers & payload
Parameter Description Mand / Opt
jobId Identifier of the job definition/configuration being launched.
Type: String
Mandatory
Name The job’s display name.
Type: String
Mandatory
Id The Salesforce record ID of an existing job configuration, when updating or re-running one rather than creating a brand-new job. Inferred from the field name only.
Type: String
Optional
processId Identifier of a related process. The source spec does not document its relationship to jobId or runId — confirm with JP.
Type: String
Optional
runId Identifier for this specific run of the job. May be generated by the caller or returned by the server — not documented in the source spec.
Type: String
Optional
Rule_Set_Id__c The identifier of the data-matching/merge rule set this job applies. See the same field on getFusionField / createFusionLookup in Data Configuration.
Type: String
Mandatory
Record_Type__c The Salesforce object / record type this job operates on (for example, Account or Contact). Inferred from the field name only.
Type: String
Mandatory
Process_kind__c The kind of data-quality process this job runs — for example, deduplication, B2B account matching, or RNVP address validation, based on the toggles further down this table. The source spec types this as a plain string without enumerating allowed values.
Type: String
Mandatory
Source__c A label identifying the source/origin of this job request. Inferred from the field name only.
Type: String
Optional
Last_Run_Id__c The identifier of this job’s previous run, if any — likely used to resume or compare against a prior execution.
Type: String
Optional
date A date associated with the job (for example, a requested or scheduled run date). The source spec types this as a plain string without a defined format.
Type: String
Optional
isKilling Whether this request should kill/stop an in-progress run rather than start a new one. Inferred from the field name only.
Type: Boolean
Optional
attributes A generic JSON object. The source spec defines no sub-properties. In Salesforce API responses, an attributes object commonly carries record metadata (for example, type and url) — whether that convention applies here is unconfirmed.
Type: Object (JSON)
Optional
auditJson A generic JSON object carrying the audit/job configuration payload. The source spec defines no sub-properties — its internal shape is unconfirmed. Confirm the expected structure with DQE engineering.
Type: Object (JSON)
Mandatory
Merge & dedup options
Parameter Description Mand / Opt
Automatic_Dedup_Merge__c Whether matching duplicate records should be merged automatically as part of this job, without manual review.
Type: Boolean
Optional
Automatic_B2B_Merge__c Whether matching B2B (business account) records should be merged automatically, consistent with the B2B matching behavior documented elsewhere in DQE’s product line.
Type: Boolean
Optional
Automatic_RNVP_Merge__c Whether records whose address has been corrected by RNVP (postal address validation/normalization) should be merged automatically.
Type: Boolean
Optional
SF_Default_Merge__c Whether to use Salesforce’s own default merge behavior instead of DQE’s merge logic when consolidating matched records. Inferred from the field name only.
Type: Boolean
Optional
Auto_Merge_Threshold__c The matching-confidence score threshold above which records are merged automatically, and below which they are left for manual review. The source spec does not document the scale used.
Type: Integer
Optional
Merge_B2B_Status_Code__c A status code applied to B2B records after a merge/match pass. The source spec does not enumerate the possible values.
Type: Integer
Optional
Merge_RNVP_Status_Code__c A status code applied to records after an RNVP address-validation pass. The source spec does not enumerate the possible values.
Type: String
Optional
Assign_To_Owner__c Whether merged/surviving records should be reassigned to a specific owner. Inferred from the field name only.
Type: Boolean
Optional
Authorized_Empty_Bulk__c Whether the job is authorized to run against an empty record set in bulk mode, rather than being blocked as a likely misconfiguration. Inferred from the field name only.
Type: Boolean
Optional
delete_record__c Whether losing/duplicate records should be deleted (rather than merged or just flagged) once matched.
Type: Boolean
Optional
Enable_UnMerge_Dedup__c Whether previously deduplicated/merged records can be unmerged by this job.
Type: Boolean
Optional
Enable_Reparenting_Inactive_Child__c Whether child records attached to an inactive parent should be reparented as part of the job. Inferred from the field name only.
Type: Boolean
Optional
Max_Record_Per_Batchable__c The maximum number of records processed per Salesforce batch (Batchable Apex) execution.
Type: Integer
Optional
Record filtering & list view
Parameter Description Mand / Opt
filterJson A JSON-encoded string defining a filter that scopes the job to a subset of records, similar to filterJson on Preview Data Prep below.
Type: String
Optional
Filters_ListView_Json__c An array defining filters derived from a Salesforce list view, used to scope the job. The source spec leaves the array items untyped.
Type: Array (JSON)
Optional
Selected_List_View__c The identifier of the Salesforce list view selected to scope this job, used together with Run_On_View__c below.
Type: String
Optional
Run_On_View__c Whether the job should run only against the records in the selected list view (Selected_List_View__c), rather than the whole object.
Type: Boolean
Optional
Use_Sort_LV__c Whether the list view’s own sort order should be preserved when processing records. Inferred from the field name only.
Type: Boolean
Optional
Selected_Fields__c A generic JSON object listing the fields selected for this job (for example, which fields to compare or return). The source spec defines no sub-properties.
Type: Object (JSON)
Optional

Response

If the call succeeds, the API returns a JSON object containing the following keys.

Unusual success response shape — the source OpenAPI spec documents this exact {err, message} schema as /newJob’s 200 (success) response. Field names normally associated with an error payload (err, message) being used for the documented success response is atypical, and this is documented as-is rather than “corrected.” Flag this with DQE engineering: either the spec’s success schema was mislabeled or copied from an error response, or the live API genuinely always returns these two keys (for example, with err empty on success). Confirm the real behavior before building a client against this response.
Key Description Type
err An error code or message. The field is documented exactly as it appears in the source spec for this endpoint’s 200 success response — see the callout above. string
message A human-readable message describing the result of the job-creation request. string

Response example

Example new job response
{ "err": "", "message": "Job created successfully" }

Errors

Not documented in the source spec. The OpenAPI definition for this endpoint documents only the 200 success response — it does not define specific error status codes, error bodies, or failure scenarios. Expect standard HTTP failure modes in practice (for example, a 4xx status for a missing or invalid DQE-Authorization header, or a malformed request body, and a 5xx status for a server-side failure), but the exact codes and payloads are not confirmed. This section should be completed once real error responses are observed or confirmed by DQE engineering.

Test the API

Click the button below to test this endpoint live in your browser. The DQE One server address is specific to your Salesforce org — enter it below before sending a request.

Open console
Jobs & Audits — DQE One API

Launches an audit process for a Salesforce org, identified by the standard session claims plus a free-form DQE_Process__c parameter map.

launchAudit

Request

Send the request body as JSON, with Content-Type: application/json.

Authentication — this endpoint requires the DQE-Authorization header (an API key). See Authentication & Session for how to obtain and configure this value.
{DOMAIN} is the domain of the server where your organization's own instance of the DQE One backend is installed — since this backend runs in your own infrastructure, this value is determined by your deployment, not issued by DQE.
POSThttps://{DOMAIN}/launchAudit

Code examples

Launch an audit

curl -X POST "https://{DOMAIN}/launchAudit" \ -H "Content-Type: application/json" \ -H "DQE-Authorization: {API_KEY}" \ -d '{"orgId": "00D5f000000ABCDEAU", "sub": "0055f000000XyZAAU", "aud": "DQEOne", "urllogin": "https://mycompany.my.salesforce.com", "crt": "1730000000", "DQE_Process__c": {"ProcessType": "Audit", "TriggeredBy": "ManualLaunch"}}'
const body = { "orgId": "00D5f000000ABCDEAU", "sub": "0055f000000XyZAAU", "aud": "DQEOne", "urllogin": "https://mycompany.my.salesforce.com", "crt": "1730000000", "DQE_Process__c": { "ProcessType": "Audit", "TriggeredBy": "ManualLaunch" } }; fetch("https://{DOMAIN}/launchAudit", { method: "POST", headers: { "Content-Type": "application/json", "DQE-Authorization": "{API_KEY}" }, body: JSON.stringify(body) }) .then(r => r.json()) .then(data => console.log(data));
import requests body = { "orgId": "00D5f000000ABCDEAU", "sub": "0055f000000XyZAAU", "aud": "DQEOne", "urllogin": "https://mycompany.my.salesforce.com", "crt": "1730000000", "DQE_Process__c": { "ProcessType": "Audit", "TriggeredBy": "ManualLaunch" } } response = requests.post( "https://{DOMAIN}/launchAudit", headers={"DQE-Authorization": "{API_KEY}"}, json=body, ) print(response.json())
<?php $body = json_encode([ 'orgId' => '00D5f000000ABCDEAU', 'sub' => '0055f000000XyZAAU', 'aud' => 'DQEOne', 'urllogin' => 'https://mycompany.my.salesforce.com', 'crt' => '1730000000', 'DQE_Process__c' => [ 'ProcessType' => 'Audit', 'TriggeredBy' => 'ManualLaunch' ] ]); $ch = curl_init("https://{DOMAIN}/launchAudit"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $body); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'DQE-Authorization: {API_KEY}', ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);
const axios = require('axios'); const body = { "orgId": "00D5f000000ABCDEAU", "sub": "0055f000000XyZAAU", "aud": "DQEOne", "urllogin": "https://mycompany.my.salesforce.com", "crt": "1730000000", "DQE_Process__c": { "ProcessType": "Audit", "TriggeredBy": "ManualLaunch" } }; axios.post('https://{DOMAIN}/launchAudit', body, { headers: { 'DQE-Authorization': '{API_KEY}' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String json = "{" + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"aud\": \"DQEOne\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"crt\": \"1730000000\"," + " \"DQE_Process__c\": {" + " \"ProcessType\": \"Audit\"," + " \"TriggeredBy\": \"ManualLaunch\"" + " }" + "}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{DOMAIN}/launchAudit")) .header("Content-Type", "application/json") .header("DQE-Authorization", "{API_KEY}") .POST(HttpRequest.BodyPublishers.ofString(json)) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
using var client = new HttpClient(); client.DefaultRequestHeaders.Add("DQE-Authorization", "{API_KEY}"); var json = "{" + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"aud\": \"DQEOne\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"crt\": \"1730000000\"," + " \"DQE_Process__c\": {" + " \"ProcessType\": \"Audit\"," + " \"TriggeredBy\": \"ManualLaunch\"" + " }" + "}"; var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("https://{DOMAIN}/launchAudit", content); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);
package main import ( "bytes" "fmt" "io" "net/http" ) func main() { body := []byte(`{ "orgId": "00D5f000000ABCDEAU", "sub": "0055f000000XyZAAU", "aud": "DQEOne", "urllogin": "https://mycompany.my.salesforce.com", "crt": "1730000000", "DQE_Process__c": { "ProcessType": "Audit", "TriggeredBy": "ManualLaunch" } }`) req, _ := http.NewRequest("POST", "https://{DOMAIN}/launchAudit", bytes.NewBuffer(body)) req.Header.Set("Content-Type", "application/json") req.Header.Set("DQE-Authorization", "{API_KEY}") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() respBody, _ := io.ReadAll(resp.Body) fmt.Println(string(respBody)) }

Parameters

Headers

Header Description Mand / Opt
DQE-Authorization API key used to authenticate the request. See Authentication & Session for how to obtain and configure this value. Mandatory

Body parameters

Parameter Description Mand / Opt
orgId The Salesforce organization ID making the request.
Type: String
Mandatory
sub The subject claim — the Salesforce user/session identifier issuing the request.
Type: String
Mandatory
aud The audience claim — the intended recipient/target service for this signed request.
Type: String
Mandatory
urllogin The Salesforce org’s login URL.
Type: String
Mandatory
crt The created/issued-at timestamp claim for this signed request.
Type: String
Mandatory
DQE_Process__c A free-form key-value map of process parameters for the audit being launched. The source spec types this as an object whose values must be strings (additionalProperties: string) and does not enumerate the expected keys — confirm the expected keys with DQE engineering.
Type: Object (JSON)
Mandatory

Response

If the call succeeds, the API returns a JSON object containing the following keys.

Key Description Type
status The status of the audit-launch operation (for example, a simple success/failure indicator string). The source spec does not enumerate the possible values. string

Response example

Example launch audit response
{ "status": "ok" }

Errors

Not documented in the source spec. The OpenAPI definition for this endpoint documents only the 200 success response — it does not define specific error status codes, error bodies, or failure scenarios. Expect standard HTTP failure modes in practice (for example, a 4xx status for a missing or invalid DQE-Authorization header, or a malformed request body, and a 5xx status for a server-side failure), but the exact codes and payloads are not confirmed. This section should be completed once real error responses are observed or confirmed by DQE engineering.

Test the API

Click the button below to test this endpoint live in your browser. The DQE One server address is specific to your Salesforce org — enter it below before sending a request.

Open console
Jobs & Audits — DQE One API

Previews how records would look after a configured data-prep transformation (find/replace, optionally using regular expressions) is applied to a field, before committing any changes.

previewDataPrep

Request

Send the request body as JSON, with Content-Type: application/json.

Authentication — this endpoint requires the DQE-Authorization header (an API key). See Authentication & Session for how to obtain and configure this value.
{DOMAIN} is the domain of the server where your organization's own instance of the DQE One backend is installed — since this backend runs in your own infrastructure, this value is determined by your deployment, not issued by DQE.
POSThttps://{DOMAIN}/previewDataPrep

Code examples

Preview a data-prep transformation

curl -X POST "https://{DOMAIN}/previewDataPrep" \ -H "Content-Type: application/json" \ -H "DQE-Authorization: {API_KEY}" \ -d '{"aud": "DQEOne", "crt": "1730000000", "filterJson": "", "find": ["Rue"], "format": [], "isPersonAccount": false, "isRegex": [false], "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "origin": ["BillingStreet"], "prevRecords": [], "ProcessKind": "DataPrep", "RecordType": "Account", "replace": ["Rue De"], "selectedFieldName": "BillingStreet", "sub": "0055f000000XyZAAU", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "urllogin": "https://mycompany.my.salesforce.com", "uuidPage": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}'
const body = { "aud": "DQEOne", "crt": "1730000000", "filterJson": "", "find": [ "Rue" ], "format": [], "isPersonAccount": false, "isRegex": [ false ], "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "origin": [ "BillingStreet" ], "prevRecords": [], "ProcessKind": "DataPrep", "RecordType": "Account", "replace": [ "Rue De" ], "selectedFieldName": "BillingStreet", "sub": "0055f000000XyZAAU", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "urllogin": "https://mycompany.my.salesforce.com", "uuidPage": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }; fetch("https://{DOMAIN}/previewDataPrep", { method: "POST", headers: { "Content-Type": "application/json", "DQE-Authorization": "{API_KEY}" }, body: JSON.stringify(body) }) .then(r => r.json()) .then(data => console.log(data));
import requests body = { "aud": "DQEOne", "crt": "1730000000", "filterJson": "", "find": [ "Rue" ], "format": [], "isPersonAccount": False, "isRegex": [ false ], "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "origin": [ "BillingStreet" ], "prevRecords": [], "ProcessKind": "DataPrep", "RecordType": "Account", "replace": [ "Rue De" ], "selectedFieldName": "BillingStreet", "sub": "0055f000000XyZAAU", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "urllogin": "https://mycompany.my.salesforce.com", "uuidPage": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } response = requests.post( "https://{DOMAIN}/previewDataPrep", headers={"DQE-Authorization": "{API_KEY}"}, json=body, ) print(response.json())
<?php $body = json_encode([ 'aud' => 'DQEOne', 'crt' => '1730000000', 'filterJson' => '', 'find' => [ 'Rue' ], 'format' => [], 'isPersonAccount' => false, 'isRegex' => [ false ], 'orgId' => '00D5f000000ABCDEAU', 'orgPrefix' => 'dqe__', 'origin' => [ 'BillingStreet' ], 'prevRecords' => [], 'ProcessKind' => 'DataPrep', 'RecordType' => 'Account', 'replace' => [ 'Rue De' ], 'selectedFieldName' => 'BillingStreet', 'sub' => '0055f000000XyZAAU', 'url' => 'https://mycompany.my.salesforce.com/services/data/v58.0', 'urllogin' => 'https://mycompany.my.salesforce.com', 'uuidPage' => '3fa85f64-5717-4562-b3fc-2c963f66afa6' ]); $ch = curl_init("https://{DOMAIN}/previewDataPrep"); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $body); curl_setopt($ch, CURLOPT_HTTPHEADER, [ 'Content-Type: application/json', 'DQE-Authorization: {API_KEY}', ]); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); $data = json_decode($response, true);
const axios = require('axios'); const body = { "aud": "DQEOne", "crt": "1730000000", "filterJson": "", "find": [ "Rue" ], "format": [], "isPersonAccount": false, "isRegex": [ false ], "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "origin": [ "BillingStreet" ], "prevRecords": [], "ProcessKind": "DataPrep", "RecordType": "Account", "replace": [ "Rue De" ], "selectedFieldName": "BillingStreet", "sub": "0055f000000XyZAAU", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "urllogin": "https://mycompany.my.salesforce.com", "uuidPage": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }; axios.post('https://{DOMAIN}/previewDataPrep', body, { headers: { 'DQE-Authorization': '{API_KEY}' } }) .then(response => console.log(response.data));
HttpClient client = HttpClient.newHttpClient(); String json = "{" + " \"aud\": \"DQEOne\"," + " \"crt\": \"1730000000\"," + " \"filterJson\": \"\"," + " \"find\": [" + " \"Rue\"" + " ]," + " \"format\": []," + " \"isPersonAccount\": false," + " \"isRegex\": [" + " false" + " ]," + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"orgPrefix\": \"dqe__\"," + " \"origin\": [" + " \"BillingStreet\"" + " ]," + " \"prevRecords\": []," + " \"ProcessKind\": \"DataPrep\"," + " \"RecordType\": \"Account\"," + " \"replace\": [" + " \"Rue De\"" + " ]," + " \"selectedFieldName\": \"BillingStreet\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"url\": \"https://mycompany.my.salesforce.com/services/data/v58.0\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"uuidPage\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"" + "}"; HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://{DOMAIN}/previewDataPrep")) .header("Content-Type", "application/json") .header("DQE-Authorization", "{API_KEY}") .POST(HttpRequest.BodyPublishers.ofString(json)) .build(); HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body());
using var client = new HttpClient(); client.DefaultRequestHeaders.Add("DQE-Authorization", "{API_KEY}"); var json = "{" + " \"aud\": \"DQEOne\"," + " \"crt\": \"1730000000\"," + " \"filterJson\": \"\"," + " \"find\": [" + " \"Rue\"" + " ]," + " \"format\": []," + " \"isPersonAccount\": false," + " \"isRegex\": [" + " false" + " ]," + " \"orgId\": \"00D5f000000ABCDEAU\"," + " \"orgPrefix\": \"dqe__\"," + " \"origin\": [" + " \"BillingStreet\"" + " ]," + " \"prevRecords\": []," + " \"ProcessKind\": \"DataPrep\"," + " \"RecordType\": \"Account\"," + " \"replace\": [" + " \"Rue De\"" + " ]," + " \"selectedFieldName\": \"BillingStreet\"," + " \"sub\": \"0055f000000XyZAAU\"," + " \"url\": \"https://mycompany.my.salesforce.com/services/data/v58.0\"," + " \"urllogin\": \"https://mycompany.my.salesforce.com\"," + " \"uuidPage\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"" + "}"; var content = new StringContent(json, Encoding.UTF8, "application/json"); var response = await client.PostAsync("https://{DOMAIN}/previewDataPrep", content); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);
package main import ( "bytes" "fmt" "io" "net/http" ) func main() { body := []byte(`{ "aud": "DQEOne", "crt": "1730000000", "filterJson": "", "find": [ "Rue" ], "format": [], "isPersonAccount": false, "isRegex": [ false ], "orgId": "00D5f000000ABCDEAU", "orgPrefix": "dqe__", "origin": [ "BillingStreet" ], "prevRecords": [], "ProcessKind": "DataPrep", "RecordType": "Account", "replace": [ "Rue De" ], "selectedFieldName": "BillingStreet", "sub": "0055f000000XyZAAU", "url": "https://mycompany.my.salesforce.com/services/data/v58.0", "urllogin": "https://mycompany.my.salesforce.com", "uuidPage": "3fa85f64-5717-4562-b3fc-2c963f66afa6" }`) req, _ := http.NewRequest("POST", "https://{DOMAIN}/previewDataPrep", bytes.NewBuffer(body)) req.Header.Set("Content-Type", "application/json") req.Header.Set("DQE-Authorization", "{API_KEY}") client := &http.Client{} resp, err := client.Do(req) if err != nil { panic(err) } defer resp.Body.Close() respBody, _ := io.ReadAll(resp.Body) fmt.Println(string(respBody)) }

Parameters

Headers

Header Description Mand / Opt
DQE-Authorization API key used to authenticate the request. See Authentication & Session for how to obtain and configure this value. Mandatory

Body parameters

Parameter Description Mand / Opt
aud The audience claim — the intended recipient/target service for this signed request.
Type: String
Mandatory
crt The created/issued-at timestamp claim for this signed request.
Type: String
Mandatory
filterJson A JSON-encoded string narrowing the preview to a subset of records, consistent with filterJson on newJob in the Jobs & Audits table above.
Type: String
Optional
find An array of values to search for within the targeted field(s), each entry paired positionally with the corresponding entry in replace below. The source spec leaves array items untyped.
Type: Array (JSON)
Mandatory
format An array of formatting rules applied to the previewed values (for example, case or masking rules). The source spec leaves array items untyped.
Type: Array (JSON)
Optional
isPersonAccount Whether the preview should account for Person Accounts being enabled in the org.
Type: Boolean
Optional
isRegex An array of flags indicating, per find/replace pair, whether the find value should be treated as a regular expression rather than a literal string. The source spec leaves array items untyped.
Type: Array (JSON)
Optional
orgId The Salesforce organization ID making the request.
Type: String
Mandatory
orgPrefix A short namespace/prefix identifying the org’s custom fields in Salesforce.
Type: String
Mandatory
origin An array identifying the source field(s)/column(s) that each find/replace pair applies to. The source spec leaves array items untyped.
Type: Array (JSON)
Mandatory
prevRecords An array of previously-fetched records to preview the transformation against, rather than re-querying Salesforce. The source spec leaves array items untyped.
Type: Array (JSON)
Optional
ProcessKind The kind of data-prep process being previewed. The source spec types this as a plain string without enumerating allowed values.
Type: String
Mandatory
RecordType The Salesforce object / record type the preview applies to (for example, Account or Contact).
Type: String
Mandatory
replace An array of replacement values, paired positionally with find above.
Type: Array (JSON)
Mandatory
selectedFieldName The name of the field being previewed/transformed.
Type: String
Mandatory
sub The subject claim — the Salesforce user/session identifier issuing the request.
Type: String
Mandatory
url The Salesforce org’s instance/API base URL.
Type: String
Mandatory
urllogin The Salesforce org’s login URL.
Type: String
Mandatory
uuidPage A UUID identifying the custom UI page/session requesting this preview, used to correlate the preview with a specific UI session. Inferred from the field name only.
Type: String
Mandatory

Response

If the call succeeds, the API returns a JSON object containing the following keys.

Key Description Type
previewColumn An array of objects describing the column(s) affected by the previewed transformation (for example, field metadata for the previewed column). The source spec types each item as a generic object with no further properties defined. array[object]
previewValues An array of objects containing the previewed record values after applying the configured find/replace/regex transformation, without committing any changes. The source spec types each item as a generic object with no further properties defined. array[object]

Response example

Example preview data prep response
{ "previewColumn": [ { "field": "BillingStreet", "label": "Billing Street" } ], "previewValues": [ { "Id": "0015f00000AbCdeAAE", "before": "12 Rue de Paris", "after": "12 Rue De Paris" } ] }

Errors

Not documented in the source spec. The OpenAPI definition for this endpoint documents only the 200 success response — it does not define specific error status codes, error bodies, or failure scenarios. Expect standard HTTP failure modes in practice (for example, a 4xx status for a missing or invalid DQE-Authorization header, or a malformed request body, and a 5xx status for a server-side failure), but the exact codes and payloads are not confirmed. This section should be completed once real error responses are observed or confirmed by DQE engineering.

Test the API

Click the button below to test this endpoint live in your browser. The DQE One server address is specific to your Salesforce org — enter it below before sending a request.

Open console

See also

Related to

Was this article helpful?

0 out of 0 found this helpful