Watchlists
Bulk create watchlist entries
Create multiple watchlist entries used to match and screen entities during compliance checks
POST
/
watchlists
/
bulk
Bulk create watchlist entries
curl --request POST \
--url https://app.api.getdal.sa/services/crm/watchlists/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-tenant: <x-tenant>' \
--data '
{
"source": "Nafith",
"watchlistEntries": [
{
"orderNumber": "<string>",
"idNumber": "<string>",
"previousOrderNumber": "<string>",
"resolutionNumber": "<string>",
"amount": "<string>",
"unifiedNumber": "<string>",
"name": "<string>",
"nationalityAr": "<string>",
"attachmentId": {}
}
],
"tagIds": [
"<string>"
],
"duplicateMode": "Skip",
"allowNoMatchReport": false,
"allowCaseCreation": false
}
'import requests
url = "https://app.api.getdal.sa/services/crm/watchlists/bulk"
payload = {
"source": "Nafith",
"watchlistEntries": [
{
"orderNumber": "<string>",
"idNumber": "<string>",
"previousOrderNumber": "<string>",
"resolutionNumber": "<string>",
"amount": "<string>",
"unifiedNumber": "<string>",
"name": "<string>",
"nationalityAr": "<string>",
"attachmentId": {}
}
],
"tagIds": ["<string>"],
"duplicateMode": "Skip",
"allowNoMatchReport": False,
"allowCaseCreation": False
}
headers = {
"x-tenant": "<x-tenant>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-tenant': '<x-tenant>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
source: 'Nafith',
watchlistEntries: [
{
orderNumber: '<string>',
idNumber: '<string>',
previousOrderNumber: '<string>',
resolutionNumber: '<string>',
amount: '<string>',
unifiedNumber: '<string>',
name: '<string>',
nationalityAr: '<string>',
attachmentId: {}
}
],
tagIds: ['<string>'],
duplicateMode: 'Skip',
allowNoMatchReport: false,
allowCaseCreation: false
})
};
fetch('https://app.api.getdal.sa/services/crm/watchlists/bulk', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.api.getdal.sa/services/crm/watchlists/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'source' => 'Nafith',
'watchlistEntries' => [
[
'orderNumber' => '<string>',
'idNumber' => '<string>',
'previousOrderNumber' => '<string>',
'resolutionNumber' => '<string>',
'amount' => '<string>',
'unifiedNumber' => '<string>',
'name' => '<string>',
'nationalityAr' => '<string>',
'attachmentId' => [
]
]
],
'tagIds' => [
'<string>'
],
'duplicateMode' => 'Skip',
'allowNoMatchReport' => false,
'allowCaseCreation' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-tenant: <x-tenant>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.api.getdal.sa/services/crm/watchlists/bulk"
payload := strings.NewReader("{\n \"source\": \"Nafith\",\n \"watchlistEntries\": [\n {\n \"orderNumber\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"previousOrderNumber\": \"<string>\",\n \"resolutionNumber\": \"<string>\",\n \"amount\": \"<string>\",\n \"unifiedNumber\": \"<string>\",\n \"name\": \"<string>\",\n \"nationalityAr\": \"<string>\",\n \"attachmentId\": {}\n }\n ],\n \"tagIds\": [\n \"<string>\"\n ],\n \"duplicateMode\": \"Skip\",\n \"allowNoMatchReport\": false,\n \"allowCaseCreation\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-tenant", "<x-tenant>")
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.api.getdal.sa/services/crm/watchlists/bulk")
.header("x-tenant", "<x-tenant>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"source\": \"Nafith\",\n \"watchlistEntries\": [\n {\n \"orderNumber\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"previousOrderNumber\": \"<string>\",\n \"resolutionNumber\": \"<string>\",\n \"amount\": \"<string>\",\n \"unifiedNumber\": \"<string>\",\n \"name\": \"<string>\",\n \"nationalityAr\": \"<string>\",\n \"attachmentId\": {}\n }\n ],\n \"tagIds\": [\n \"<string>\"\n ],\n \"duplicateMode\": \"Skip\",\n \"allowNoMatchReport\": false,\n \"allowCaseCreation\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.api.getdal.sa/services/crm/watchlists/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-tenant"] = '<x-tenant>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"source\": \"Nafith\",\n \"watchlistEntries\": [\n {\n \"orderNumber\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"previousOrderNumber\": \"<string>\",\n \"resolutionNumber\": \"<string>\",\n \"amount\": \"<string>\",\n \"unifiedNumber\": \"<string>\",\n \"name\": \"<string>\",\n \"nationalityAr\": \"<string>\",\n \"attachmentId\": {}\n }\n ],\n \"tagIds\": [\n \"<string>\"\n ],\n \"duplicateMode\": \"Skip\",\n \"allowNoMatchReport\": false,\n \"allowCaseCreation\": false\n}"
response = http.request(request)
puts response.read_body{
"jobId": "1"
}{
"errorCode": "NOT_FOUND",
"message": {
"en": "The requested record was not found",
"ar": "لم يتم العثور على السجل المطلوب"
},
"validationErrors": [
"<string>"
]
}{
"errorCode": "NOT_FOUND",
"message": {
"en": "The requested record was not found",
"ar": "لم يتم العثور على السجل المطلوب"
}
}{
"errorCode": "NOT_FOUND",
"message": {
"en": "The requested record was not found",
"ar": "لم يتم العثور على السجل المطلوب"
}
}{
"errorCode": "NOT_FOUND",
"message": {
"en": "The requested record was not found",
"ar": "لم يتم العثور على السجل المطلوب"
}
}Authorizations
Headers
Tenant identifier
Body
application/json
Source of the watchlist entries
Available options:
Nafith, Makken, Custom Example:
"Nafith"
Array of watchlist records to insert in bulk
Show child attributes
Show child attributes
Tags applied to every watchlist record in this payload
Mode to indicate how to handle duplicated order numbers, values are either Skip or Update, Skip keeping first inserted entry, while Update overwrites.
Available options:
Skip, Update Whether to create no match reports or not. Defaults to false.
Whether to create cases or not. Defaults to false.
Response
Success
Example:
"1"
⌘I
Bulk create watchlist entries
curl --request POST \
--url https://app.api.getdal.sa/services/crm/watchlists/bulk \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--header 'x-tenant: <x-tenant>' \
--data '
{
"source": "Nafith",
"watchlistEntries": [
{
"orderNumber": "<string>",
"idNumber": "<string>",
"previousOrderNumber": "<string>",
"resolutionNumber": "<string>",
"amount": "<string>",
"unifiedNumber": "<string>",
"name": "<string>",
"nationalityAr": "<string>",
"attachmentId": {}
}
],
"tagIds": [
"<string>"
],
"duplicateMode": "Skip",
"allowNoMatchReport": false,
"allowCaseCreation": false
}
'import requests
url = "https://app.api.getdal.sa/services/crm/watchlists/bulk"
payload = {
"source": "Nafith",
"watchlistEntries": [
{
"orderNumber": "<string>",
"idNumber": "<string>",
"previousOrderNumber": "<string>",
"resolutionNumber": "<string>",
"amount": "<string>",
"unifiedNumber": "<string>",
"name": "<string>",
"nationalityAr": "<string>",
"attachmentId": {}
}
],
"tagIds": ["<string>"],
"duplicateMode": "Skip",
"allowNoMatchReport": False,
"allowCaseCreation": False
}
headers = {
"x-tenant": "<x-tenant>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-tenant': '<x-tenant>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
source: 'Nafith',
watchlistEntries: [
{
orderNumber: '<string>',
idNumber: '<string>',
previousOrderNumber: '<string>',
resolutionNumber: '<string>',
amount: '<string>',
unifiedNumber: '<string>',
name: '<string>',
nationalityAr: '<string>',
attachmentId: {}
}
],
tagIds: ['<string>'],
duplicateMode: 'Skip',
allowNoMatchReport: false,
allowCaseCreation: false
})
};
fetch('https://app.api.getdal.sa/services/crm/watchlists/bulk', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.api.getdal.sa/services/crm/watchlists/bulk",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'source' => 'Nafith',
'watchlistEntries' => [
[
'orderNumber' => '<string>',
'idNumber' => '<string>',
'previousOrderNumber' => '<string>',
'resolutionNumber' => '<string>',
'amount' => '<string>',
'unifiedNumber' => '<string>',
'name' => '<string>',
'nationalityAr' => '<string>',
'attachmentId' => [
]
]
],
'tagIds' => [
'<string>'
],
'duplicateMode' => 'Skip',
'allowNoMatchReport' => false,
'allowCaseCreation' => false
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>",
"x-tenant: <x-tenant>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.api.getdal.sa/services/crm/watchlists/bulk"
payload := strings.NewReader("{\n \"source\": \"Nafith\",\n \"watchlistEntries\": [\n {\n \"orderNumber\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"previousOrderNumber\": \"<string>\",\n \"resolutionNumber\": \"<string>\",\n \"amount\": \"<string>\",\n \"unifiedNumber\": \"<string>\",\n \"name\": \"<string>\",\n \"nationalityAr\": \"<string>\",\n \"attachmentId\": {}\n }\n ],\n \"tagIds\": [\n \"<string>\"\n ],\n \"duplicateMode\": \"Skip\",\n \"allowNoMatchReport\": false,\n \"allowCaseCreation\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-tenant", "<x-tenant>")
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.api.getdal.sa/services/crm/watchlists/bulk")
.header("x-tenant", "<x-tenant>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"source\": \"Nafith\",\n \"watchlistEntries\": [\n {\n \"orderNumber\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"previousOrderNumber\": \"<string>\",\n \"resolutionNumber\": \"<string>\",\n \"amount\": \"<string>\",\n \"unifiedNumber\": \"<string>\",\n \"name\": \"<string>\",\n \"nationalityAr\": \"<string>\",\n \"attachmentId\": {}\n }\n ],\n \"tagIds\": [\n \"<string>\"\n ],\n \"duplicateMode\": \"Skip\",\n \"allowNoMatchReport\": false,\n \"allowCaseCreation\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.api.getdal.sa/services/crm/watchlists/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-tenant"] = '<x-tenant>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"source\": \"Nafith\",\n \"watchlistEntries\": [\n {\n \"orderNumber\": \"<string>\",\n \"idNumber\": \"<string>\",\n \"previousOrderNumber\": \"<string>\",\n \"resolutionNumber\": \"<string>\",\n \"amount\": \"<string>\",\n \"unifiedNumber\": \"<string>\",\n \"name\": \"<string>\",\n \"nationalityAr\": \"<string>\",\n \"attachmentId\": {}\n }\n ],\n \"tagIds\": [\n \"<string>\"\n ],\n \"duplicateMode\": \"Skip\",\n \"allowNoMatchReport\": false,\n \"allowCaseCreation\": false\n}"
response = http.request(request)
puts response.read_body{
"jobId": "1"
}{
"errorCode": "NOT_FOUND",
"message": {
"en": "The requested record was not found",
"ar": "لم يتم العثور على السجل المطلوب"
},
"validationErrors": [
"<string>"
]
}{
"errorCode": "NOT_FOUND",
"message": {
"en": "The requested record was not found",
"ar": "لم يتم العثور على السجل المطلوب"
}
}{
"errorCode": "NOT_FOUND",
"message": {
"en": "The requested record was not found",
"ar": "لم يتم العثور على السجل المطلوب"
}
}{
"errorCode": "NOT_FOUND",
"message": {
"en": "The requested record was not found",
"ar": "لم يتم العثور على السجل المطلوب"
}
}