Skip to main content
PATCH
/
api
/
v1
/
customer
/
{customerId}
Afriex SDK
const customer = await afriex.customers.update("customer-id", {
  fullName: "Jane Doe",
});
curl --request PATCH \
--url https://sandbox.api.afriex.com/api/v1/customer/{customerId} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"fullName": "Jane Doe"
}
'
import requests

url = "https://sandbox.api.afriex.com/api/v1/customer/{customerId}"

payload = { "fullName": "Jane Doe" }
headers = {
"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: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({fullName: 'Jane Doe'})
};

fetch('https://sandbox.api.afriex.com/api/v1/customer/{customerId}', 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://sandbox.api.afriex.com/api/v1/customer/{customerId}",
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([
'fullName' => 'Jane Doe'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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://sandbox.api.afriex.com/api/v1/customer/{customerId}"

payload := strings.NewReader("{\n \"fullName\": \"Jane Doe\"\n}")

req, _ := http.NewRequest("PATCH", url, payload)

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://sandbox.api.afriex.com/api/v1/customer/{customerId}")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"fullName\": \"Jane Doe\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://sandbox.api.afriex.com/api/v1/customer/{customerId}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"fullName\": \"Jane Doe\"\n}"

response = http.request(request)
puts response.read_body
{
  "data": {
    "name": "Jane Doe",
    "email": "jane.doe@example.com",
    "phone": "+2348192837465",
    "customerId": "69d5ffe1ab82306f11b032f3",
    "countryCode": "NG",
    "createdAt": "2026-04-08T07:12:33.519Z",
    "updatedAt": "2026-04-08T07:20:11.004Z"
  }
}
Partially update a customer’s profile. Send at least one of fullName, email, or phone; any field you omit is left unchanged.

Authorizations

x-api-key
string
header
required

Static business API key issued from the dashboard. A business can provision multiple API keys, each scoped to a configurable set of permissions (e.g. read transactions, create deposits, etc). Permissions are chosen per key at creation time in the dashboard and may be revoked by deleting the key. Requests made with a key that does not include the permission required by the target endpoint will be rejected with a 403 Forbidden response; an unrecognised, malformed or revoked key returns 401 Unauthorized. Manage your keys and their permissions under Developer → API keys in the dashboard.

Headers

x-api-signature
string

Signature of the request payload, used for request authentication where payload signing is enabled for your business.

x-api-version
string

API version in ISO 8601 format (e.g. 2025-12-28). Defaults to latest stable.

Path Parameters

customerId
string
required

The unique identifier of the customer

Body

application/json

Partial profile update. At least one of fullName, email, or phone must be present.

fullName
string

The full name of the customer.

email
string<email>

The email of the customer.

phone
string

The phone number of the customer in E.164 format.

Response

Customer updated successfully.

data
object