Payouts
Deactivate a Contact
GET /api/v1/contacts//deactivate — Mark a beneficiary contact as inactive. Deactivated contacts cannot receive new payout requests.
Deactivate a Contact
curl --request GET \
--url https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate \
--header 'Content-Type: <content-type>' \
--header 'X-Real-IP: <x-real-ip>' \
--header 'x-api-key: <api-key>'import requests
url = "https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate"
headers = {
"x-api-key": "<api-key>",
"Content-Type": "<content-type>",
"X-Real-IP": "<x-real-ip>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-api-key': '<api-key>',
'Content-Type': '<content-type>',
'X-Real-IP': '<x-real-ip>'
}
};
fetch('https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate', 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.bluswap.co/api/v1/contacts/{contact_id}/deactivate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Content-Type: <content-type>",
"X-Real-IP: <x-real-ip>",
"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"
"net/http"
"io"
)
func main() {
url := "https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("X-Real-IP", "<x-real-ip>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate")
.header("x-api-key", "<api-key>")
.header("Content-Type", "<content-type>")
.header("X-Real-IP", "<x-real-ip>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = '<content-type>'
request["X-Real-IP"] = '<x-real-ip>'
response = http.request(request)
puts response.read_body{
"contact_id": "<string>",
"status": "<string>"
}Use this endpoint to mark a beneficiary contact as inactive when you no longer need to send payouts to them — for example, when an employee leaves, a vendor relationship ends, or a bank account is closed. Deactivated contacts retain their
contact_id in your records but cannot receive new payout requests. If you need to reactivate a contact in the future, reach out to bluSwap support.
string
required
Your secret API key.
string
required
Must be
application/json.string
required
Your whitelisted server IP address.
Path parameter
string
required
The unique identifier of the contact you want to deactivate. You received this in the response when the contact was created.
Deactivating a contact is immediate and cannot be self-reversed. Any payout requests submitted for an
INACTIVE contact will be rejected. Ensure there are no pending payouts before deactivating.Sample Request
curl --location --request GET 'https://api.bluswap.co/api/v1/contacts/YOUR_CONTACT_ID/deactivate' \
--header 'x-api-key: YOUR_SECRET_KEY' \
--header 'Content-Type: application/json' \
--header 'X-Real-IP: YOUR_WHITELISTED_IP'
const response = await fetch(
'https://api.bluswap.co/api/v1/contacts/YOUR_CONTACT_ID/deactivate',
{
headers: {
'x-api-key': '<YOUR_API_KEY>',
'Content-Type': 'application/json',
'X-Real-IP': '<YOUR_WHITELISTED_IP>'
}
}
);
console.log(await response.json());
import requests
response = requests.get(
"https://api.bluswap.co/api/v1/contacts/YOUR_CONTACT_ID/deactivate",
headers={"x-api-key": "<YOUR_API_KEY>", "X-Real-IP": "<YOUR_WHITELISTED_IP>"},
)
print(response.json())
var request = java.net.http.HttpRequest.newBuilder(
java.net.URI.create("https://api.bluswap.co/api/v1/contacts/YOUR_CONTACT_ID/deactivate"))
.headers(
"x-api-key", "<YOUR_API_KEY>",
"Content-Type", "application/json",
"X-Real-IP", "<YOUR_WHITELISTED_IP>")
.GET()
.build();
var response = java.net.http.HttpClient.newHttpClient()
.send(request, java.net.http.HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
package main
import "net/http"
func main() {
request, _ := http.NewRequest(
http.MethodGet,
"https://api.bluswap.co/api/v1/contacts/YOUR_CONTACT_ID/deactivate",
nil,
)
request.Header.Set("x-api-key", "<YOUR_API_KEY>")
request.Header.Set("Content-Type", "application/json")
request.Header.Set("X-Real-IP", "<YOUR_WHITELISTED_IP>")
response, _ := http.DefaultClient.Do(request)
defer response.Body.Close()
}
<?php
$curl = curl_init('https://api.bluswap.co/api/v1/contacts/YOUR_CONTACT_ID/deactivate');
curl_setopt_array($curl, [
CURLOPT_HTTPHEADER => [
'x-api-key: <YOUR_API_KEY>',
'Content-Type: application/json',
'X-Real-IP: <YOUR_WHITELISTED_IP>'
],
CURLOPT_RETURNTRANSFER => true
]);
echo curl_exec($curl);
curl_close($curl);
require "net/http"
uri = URI("https://api.bluswap.co/api/v1/contacts/YOUR_CONTACT_ID/deactivate")
request = Net::HTTP::Get.new(uri, {
"x-api-key" => "<YOUR_API_KEY>",
"Content-Type" => "application/json",
"X-Real-IP" => "<YOUR_WHITELISTED_IP>"
})
puts Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |http| http.request(request).body }
Sample Response
{
"status": "SUCCESS",
"status_code": 200,
"message": "Contact marked as inactive",
"detail": null,
"data": {
"contact_id": "b3ebxxxx-xxxx-xxxx-xxxx-xx98756877",
"status": "INACTIVE"
}
}
Response fields
string
The unique identifier of the contact that was deactivated.
string
The updated status of the contact. Returns
INACTIVE on success.⌘I
Deactivate a Contact
curl --request GET \
--url https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate \
--header 'Content-Type: <content-type>' \
--header 'X-Real-IP: <x-real-ip>' \
--header 'x-api-key: <api-key>'import requests
url = "https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate"
headers = {
"x-api-key": "<api-key>",
"Content-Type": "<content-type>",
"X-Real-IP": "<x-real-ip>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'x-api-key': '<api-key>',
'Content-Type': '<content-type>',
'X-Real-IP': '<x-real-ip>'
}
};
fetch('https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate', 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.bluswap.co/api/v1/contacts/{contact_id}/deactivate",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Content-Type: <content-type>",
"X-Real-IP: <x-real-ip>",
"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"
"net/http"
"io"
)
func main() {
url := "https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("X-Real-IP", "<x-real-ip>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate")
.header("x-api-key", "<api-key>")
.header("Content-Type", "<content-type>")
.header("X-Real-IP", "<x-real-ip>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bluswap.co/api/v1/contacts/{contact_id}/deactivate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = '<content-type>'
request["X-Real-IP"] = '<x-real-ip>'
response = http.request(request)
puts response.read_body{
"contact_id": "<string>",
"status": "<string>"
}