curl --request PATCH \
--url https://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId} \
--header 'Content-Type: application/json' \
--header 'X-Frankie-CustomerID: <x-frankie-customerid>' \
--header 'api_key: <api-key>' \
--data '
{
"entry": {
"reference": "CERT-BAD-ACTOR-1234-5678",
"reasons": [
"<string>"
],
"state": "ACTIVE"
},
"comment": {
"text": "Update after speaking to customer over the phone directly.",
"entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
'import requests
url = "https://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}"
payload = {
"entry": {
"reference": "CERT-BAD-ACTOR-1234-5678",
"reasons": ["<string>"],
"state": "ACTIVE"
},
"comment": {
"text": "Update after speaking to customer over the phone directly.",
"entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
headers = {
"api_key": "<api-key>",
"X-Frankie-CustomerID": "<x-frankie-customerid>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
api_key: '<api-key>',
'X-Frankie-CustomerID': '<x-frankie-customerid>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
entry: {reference: 'CERT-BAD-ACTOR-1234-5678', reasons: ['<string>'], state: 'ACTIVE'},
comment: {
text: 'Update after speaking to customer over the phone directly.',
entityId: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
}
})
};
fetch('https://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}', 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://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'entry' => [
'reference' => 'CERT-BAD-ACTOR-1234-5678',
'reasons' => [
'<string>'
],
'state' => 'ACTIVE'
],
'comment' => [
'text' => 'Update after speaking to customer over the phone directly.',
'entityId' => '3fa85f64-5717-4562-b3fc-2c963f66afa6'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Frankie-CustomerID: <x-frankie-customerid>",
"api_key: <api-key>"
],
]);
$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://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}"
payload := strings.NewReader("{\n \"entry\": {\n \"reference\": \"CERT-BAD-ACTOR-1234-5678\",\n \"reasons\": [\n \"<string>\"\n ],\n \"state\": \"ACTIVE\"\n },\n \"comment\": {\n \"text\": \"Update after speaking to customer over the phone directly.\",\n \"entityId\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("X-Frankie-CustomerID", "<x-frankie-customerid>")
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.patch("https://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}")
.header("api_key", "<api-key>")
.header("X-Frankie-CustomerID", "<x-frankie-customerid>")
.header("Content-Type", "application/json")
.body("{\n \"entry\": {\n \"reference\": \"CERT-BAD-ACTOR-1234-5678\",\n \"reasons\": [\n \"<string>\"\n ],\n \"state\": \"ACTIVE\"\n },\n \"comment\": {\n \"text\": \"Update after speaking to customer over the phone directly.\",\n \"entityId\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["api_key"] = '<api-key>'
request["X-Frankie-CustomerID"] = '<x-frankie-customerid>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"entry\": {\n \"reference\": \"CERT-BAD-ACTOR-1234-5678\",\n \"reasons\": [\n \"<string>\"\n ],\n \"state\": \"ACTIVE\"\n },\n \"comment\": {\n \"text\": \"Update after speaking to customer over the phone directly.\",\n \"entityId\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n }\n}"
response = http.request(request)
puts response.read_body{
"requestId": "01HN9XHZN6MGXM9JXG50K59Q85",
"entry": {
"attributes": [
{
"type": "ENTITY_TYPE",
"value": "<string>"
}
],
"entryId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"entityType": "INDIVIDUAL",
"reference": "CERT-BAD-ACTOR-1234-5678",
"reasons": [
"<string>"
],
"state": "ACTIVE",
"batchName": "blocklist.csv",
"createdBy": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedBy": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
}Modify a matchlist entry
This can be used in updating a matchlist entry’s non-attribute fields such as reference, state, reason.
This endpoint can also be used to “delete” an entry by changing its state to DELETED and capturing comments.
NOTE: Updating attributes field of a matchlist entry is not allowed. An entry could be used in existing matches, and modifying attributes directly could lead to inconsistencies.
As a workaround, retrieve the entry details, then create a new entry with the original and updated values. The old entry should have its state changed to DELETED.
curl --request PATCH \
--url https://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId} \
--header 'Content-Type: application/json' \
--header 'X-Frankie-CustomerID: <x-frankie-customerid>' \
--header 'api_key: <api-key>' \
--data '
{
"entry": {
"reference": "CERT-BAD-ACTOR-1234-5678",
"reasons": [
"<string>"
],
"state": "ACTIVE"
},
"comment": {
"text": "Update after speaking to customer over the phone directly.",
"entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
'import requests
url = "https://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}"
payload = {
"entry": {
"reference": "CERT-BAD-ACTOR-1234-5678",
"reasons": ["<string>"],
"state": "ACTIVE"
},
"comment": {
"text": "Update after speaking to customer over the phone directly.",
"entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
headers = {
"api_key": "<api-key>",
"X-Frankie-CustomerID": "<x-frankie-customerid>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
api_key: '<api-key>',
'X-Frankie-CustomerID': '<x-frankie-customerid>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
entry: {reference: 'CERT-BAD-ACTOR-1234-5678', reasons: ['<string>'], state: 'ACTIVE'},
comment: {
text: 'Update after speaking to customer over the phone directly.',
entityId: '3fa85f64-5717-4562-b3fc-2c963f66afa6'
}
})
};
fetch('https://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}', 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://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'entry' => [
'reference' => 'CERT-BAD-ACTOR-1234-5678',
'reasons' => [
'<string>'
],
'state' => 'ACTIVE'
],
'comment' => [
'text' => 'Update after speaking to customer over the phone directly.',
'entityId' => '3fa85f64-5717-4562-b3fc-2c963f66afa6'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Frankie-CustomerID: <x-frankie-customerid>",
"api_key: <api-key>"
],
]);
$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://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}"
payload := strings.NewReader("{\n \"entry\": {\n \"reference\": \"CERT-BAD-ACTOR-1234-5678\",\n \"reasons\": [\n \"<string>\"\n ],\n \"state\": \"ACTIVE\"\n },\n \"comment\": {\n \"text\": \"Update after speaking to customer over the phone directly.\",\n \"entityId\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("X-Frankie-CustomerID", "<x-frankie-customerid>")
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.patch("https://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}")
.header("api_key", "<api-key>")
.header("X-Frankie-CustomerID", "<x-frankie-customerid>")
.header("Content-Type", "application/json")
.body("{\n \"entry\": {\n \"reference\": \"CERT-BAD-ACTOR-1234-5678\",\n \"reasons\": [\n \"<string>\"\n ],\n \"state\": \"ACTIVE\"\n },\n \"comment\": {\n \"text\": \"Update after speaking to customer over the phone directly.\",\n \"entityId\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.uat.frankie.one/v2/matchlists/{matchlistName}/entries/{entryId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["api_key"] = '<api-key>'
request["X-Frankie-CustomerID"] = '<x-frankie-customerid>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"entry\": {\n \"reference\": \"CERT-BAD-ACTOR-1234-5678\",\n \"reasons\": [\n \"<string>\"\n ],\n \"state\": \"ACTIVE\"\n },\n \"comment\": {\n \"text\": \"Update after speaking to customer over the phone directly.\",\n \"entityId\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\"\n }\n}"
response = http.request(request)
puts response.read_body{
"requestId": "01HN9XHZN6MGXM9JXG50K59Q85",
"entry": {
"attributes": [
{
"type": "ENTITY_TYPE",
"value": "<string>"
}
],
"entryId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"entityType": "INDIVIDUAL",
"reference": "CERT-BAD-ACTOR-1234-5678",
"reasons": [
"<string>"
],
"state": "ACTIVE",
"batchName": "blocklist.csv",
"createdBy": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedBy": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
}Authorizations
Headers
Your API key provided by FrankieOne
"245c765b124a098d09ef8765...."
Your Customer ID provided by FrankieOne
"12345678-1234-1234-1234-123456789012"
Your Customer Child ID provided by FrankieOne
"87654321-4321-4321-4321-210987654321"
Open string that can be used to define the "channel" the request comes in from. It can potentially be used in routing and risk calculations upon request. Default values that can be used are: api portal smartui Any alphanumeric string is supported though. Anything over 64 characters will be truncated.
If this header parameter is supplied and set to 1, then the request will not wait for the process to finish, and will return a 202 if there are no obvious errors in the input. The request will then run in the background and send a notification back to the customer. See our callback API for details on this.
0, 1 Username provided by API caller
"fred.flintstone@frankieone.com"
Path Parameters
The name of the matchlist.
The unique identifier of the matchlist entry.
Body
Was this page helpful?