curl --request PATCH \
--url https://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId} \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"title": null,
"person": {
"mailingAddress": {
"city": "Paris",
"country": "FR"
}
}
}
'import requests
url = "https://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}"
payload = {
"title": None,
"person": { "mailingAddress": {
"city": "Paris",
"country": "FR"
} }
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'Idempotency-Key': '<idempotency-key>',
'X-API-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({title: null, person: {mailingAddress: {city: 'Paris', country: 'FR'}}})
};
fetch('https://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}', 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://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}",
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([
'title' => null,
'person' => [
'mailingAddress' => [
'city' => 'Paris',
'country' => 'FR'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"X-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://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}"
payload := strings.NewReader("{\n \"title\": null,\n \"person\": {\n \"mailingAddress\": {\n \"city\": \"Paris\",\n \"country\": \"FR\"\n }\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
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.patch("https://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}")
.header("Idempotency-Key", "<idempotency-key>")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": null,\n \"person\": {\n \"mailingAddress\": {\n \"city\": \"Paris\",\n \"country\": \"FR\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": null,\n \"person\": {\n \"mailingAddress\": {\n \"city\": \"Paris\",\n \"country\": \"FR\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "rp_01JDIRECTOR",
"customerId": "cus_01JBUSINESS",
"partyType": "person",
"roles": [
"director"
],
"title": "Chief executive officer",
"person": {
"firstName": "Amina",
"lastName": "Diallo",
"residenceCountry": "FR",
"mailingAddress": {
"city": "Paris",
"country": "FR"
}
},
"createdAt": "2026-07-15T18:20:00.000Z",
"updatedAt": "2026-07-15T19:05:00.000Z"
}
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "https://docs.swipelux.com/errors/idempotency-request-in-progress",
"title": "Idempotency Request In Progress",
"status": 409,
"code": "idempotency_request_in_progress",
"detail": "A request with this Idempotency-Key is still in progress.",
"correlationId": "01JERRORIDEMPOTENCY",
"retryable": true
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}Update related party
Deep-merges the supplied fields into the party: omitted fields stay unchanged, explicit null clears optional fields, and arrays are replaced whole. The id, customerId, and partyType are immutable.
curl --request PATCH \
--url https://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId} \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"title": null,
"person": {
"mailingAddress": {
"city": "Paris",
"country": "FR"
}
}
}
'import requests
url = "https://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}"
payload = {
"title": None,
"person": { "mailingAddress": {
"city": "Paris",
"country": "FR"
} }
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'Idempotency-Key': '<idempotency-key>',
'X-API-Key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({title: null, person: {mailingAddress: {city: 'Paris', country: 'FR'}}})
};
fetch('https://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}', 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://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}",
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([
'title' => null,
'person' => [
'mailingAddress' => [
'city' => 'Paris',
'country' => 'FR'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"X-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://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}"
payload := strings.NewReader("{\n \"title\": null,\n \"person\": {\n \"mailingAddress\": {\n \"city\": \"Paris\",\n \"country\": \"FR\"\n }\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
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.patch("https://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}")
.header("Idempotency-Key", "<idempotency-key>")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"title\": null,\n \"person\": {\n \"mailingAddress\": {\n \"city\": \"Paris\",\n \"country\": \"FR\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://platform.swipelux.com/v3/customers/{customerId}/related-parties/{relatedPartyId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": null,\n \"person\": {\n \"mailingAddress\": {\n \"city\": \"Paris\",\n \"country\": \"FR\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "rp_01JDIRECTOR",
"customerId": "cus_01JBUSINESS",
"partyType": "person",
"roles": [
"director"
],
"title": "Chief executive officer",
"person": {
"firstName": "Amina",
"lastName": "Diallo",
"residenceCountry": "FR",
"mailingAddress": {
"city": "Paris",
"country": "FR"
}
},
"createdAt": "2026-07-15T18:20:00.000Z",
"updatedAt": "2026-07-15T19:05:00.000Z"
}
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}{
"type": "https://docs.swipelux.com/errors/idempotency-request-in-progress",
"title": "Idempotency Request In Progress",
"status": 409,
"code": "idempotency_request_in_progress",
"detail": "A request with this Idempotency-Key is still in progress.",
"correlationId": "01JERRORIDEMPOTENCY",
"retryable": true
}{
"type": "<string>",
"title": "<string>",
"status": 499,
"code": "<string>",
"detail": "<string>",
"correlationId": "<string>",
"transferId": "<string>",
"retryable": true,
"errors": [
{
"pointer": "<string>",
"code": "<string>",
"message": "<string>"
}
],
"statusReason": {
"code": "sanctions_screening_failed",
"message": "<string>",
"retryable": true
},
"reviewAnswer": "<string>",
"capabilities": [
"<string>"
],
"blockingResources": [
{
"id": "<string>"
}
]
}Authorizations
Your Swipelux API key. Obtain this from the Swipelux Dashboard.
Headers
Required for effectful v3 requests (POST, PATCH, PUT, DELETE). Reuse the same key with the same body to replay the cached response.
1 - 255Body
- Option 1
- Option 2
Related-party-type-specific JSON merge document. The stored party type selects the applicable branch; shared-only patches can satisfy both schemas. Unknown request fields are silently ignored.
control_person, director, officer, authorized_signer, authorized_representative, compliance_officer, primary_contact, account_administrator, trustee, settlor, protector, beneficiary, general_partner, limited_partner, other Preserved exactly; leading/trailing whitespace and control characters are rejected.
1 - 256Preserved exactly; leading/trailing whitespace and control characters are rejected.
1 - 256Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
Related party updated
- Option 1
- Option 2
Show child attributes
Show child attributes
Related topics
KYB workflowGet related partyArchive related partyList related partiesCreate related party