Update customer details
curl --request POST \
--url https://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customerName": "<string>",
"customerBusinessReference": "<string>",
"customerContact": {
"emailAddress": "jsmith@example.com",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"mobilePhone": "<string>",
"telephone": "<string>"
},
"customerAddress": {
"addressLines": "<string>",
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"region": "<string>",
"zipCode": "<string>"
}
}
'import requests
url = "https://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail"
payload = {
"customerName": "<string>",
"customerBusinessReference": "<string>",
"customerContact": {
"emailAddress": "jsmith@example.com",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"mobilePhone": "<string>",
"telephone": "<string>"
},
"customerAddress": {
"addressLines": "<string>",
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"region": "<string>",
"zipCode": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customerName: '<string>',
customerBusinessReference: '<string>',
customerContact: {
emailAddress: 'jsmith@example.com',
firstName: '<string>',
lastName: '<string>',
middleName: '<string>',
mobilePhone: '<string>',
telephone: '<string>'
},
customerAddress: {
addressLines: '<string>',
city: '<string>',
country: '<string>',
countryCode: '<string>',
region: '<string>',
zipCode: '<string>'
}
})
};
fetch('https://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail', 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://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail",
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([
'customerName' => '<string>',
'customerBusinessReference' => '<string>',
'customerContact' => [
'emailAddress' => 'jsmith@example.com',
'firstName' => '<string>',
'lastName' => '<string>',
'middleName' => '<string>',
'mobilePhone' => '<string>',
'telephone' => '<string>'
],
'customerAddress' => [
'addressLines' => '<string>',
'city' => '<string>',
'country' => '<string>',
'countryCode' => '<string>',
'region' => '<string>',
'zipCode' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail"
payload := strings.NewReader("{\n \"customerName\": \"<string>\",\n \"customerBusinessReference\": \"<string>\",\n \"customerContact\": {\n \"emailAddress\": \"jsmith@example.com\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"mobilePhone\": \"<string>\",\n \"telephone\": \"<string>\"\n },\n \"customerAddress\": {\n \"addressLines\": \"<string>\",\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"region\": \"<string>\",\n \"zipCode\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customerName\": \"<string>\",\n \"customerBusinessReference\": \"<string>\",\n \"customerContact\": {\n \"emailAddress\": \"jsmith@example.com\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"mobilePhone\": \"<string>\",\n \"telephone\": \"<string>\"\n },\n \"customerAddress\": {\n \"addressLines\": \"<string>\",\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"region\": \"<string>\",\n \"zipCode\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customerName\": \"<string>\",\n \"customerBusinessReference\": \"<string>\",\n \"customerContact\": {\n \"emailAddress\": \"jsmith@example.com\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"mobilePhone\": \"<string>\",\n \"telephone\": \"<string>\"\n },\n \"customerAddress\": {\n \"addressLines\": \"<string>\",\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"region\": \"<string>\",\n \"zipCode\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"$ref": "#/components/schemas/Status/example"
}{
"errorCode": "ER-001",
"errorDescription": "Invalid request parameters"
}{
"errorCode": "ER-012",
"errorDescription": "The server encountered an unexpected condition and could not complete the request. Please contact Corpay Support."
}Customer
Update customer details
Update mutable attributes of a customer (name, contact, and address). Address and contact updates are updated against MAIN Address and contact of customer.
POST
/
customers
/
{customerAccountNumber}
/
updateDetail
Update customer details
curl --request POST \
--url https://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"customerName": "<string>",
"customerBusinessReference": "<string>",
"customerContact": {
"emailAddress": "jsmith@example.com",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"mobilePhone": "<string>",
"telephone": "<string>"
},
"customerAddress": {
"addressLines": "<string>",
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"region": "<string>",
"zipCode": "<string>"
}
}
'import requests
url = "https://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail"
payload = {
"customerName": "<string>",
"customerBusinessReference": "<string>",
"customerContact": {
"emailAddress": "jsmith@example.com",
"firstName": "<string>",
"lastName": "<string>",
"middleName": "<string>",
"mobilePhone": "<string>",
"telephone": "<string>"
},
"customerAddress": {
"addressLines": "<string>",
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"region": "<string>",
"zipCode": "<string>"
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
customerName: '<string>',
customerBusinessReference: '<string>',
customerContact: {
emailAddress: 'jsmith@example.com',
firstName: '<string>',
lastName: '<string>',
middleName: '<string>',
mobilePhone: '<string>',
telephone: '<string>'
},
customerAddress: {
addressLines: '<string>',
city: '<string>',
country: '<string>',
countryCode: '<string>',
region: '<string>',
zipCode: '<string>'
}
})
};
fetch('https://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail', 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://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail",
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([
'customerName' => '<string>',
'customerBusinessReference' => '<string>',
'customerContact' => [
'emailAddress' => 'jsmith@example.com',
'firstName' => '<string>',
'lastName' => '<string>',
'middleName' => '<string>',
'mobilePhone' => '<string>',
'telephone' => '<string>'
],
'customerAddress' => [
'addressLines' => '<string>',
'city' => '<string>',
'country' => '<string>',
'countryCode' => '<string>',
'region' => '<string>',
'zipCode' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail"
payload := strings.NewReader("{\n \"customerName\": \"<string>\",\n \"customerBusinessReference\": \"<string>\",\n \"customerContact\": {\n \"emailAddress\": \"jsmith@example.com\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"mobilePhone\": \"<string>\",\n \"telephone\": \"<string>\"\n },\n \"customerAddress\": {\n \"addressLines\": \"<string>\",\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"region\": \"<string>\",\n \"zipCode\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customerName\": \"<string>\",\n \"customerBusinessReference\": \"<string>\",\n \"customerContact\": {\n \"emailAddress\": \"jsmith@example.com\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"mobilePhone\": \"<string>\",\n \"telephone\": \"<string>\"\n },\n \"customerAddress\": {\n \"addressLines\": \"<string>\",\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"region\": \"<string>\",\n \"zipCode\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://apigwuat.corpay.com/customers/{customerAccountNumber}/updateDetail")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"customerName\": \"<string>\",\n \"customerBusinessReference\": \"<string>\",\n \"customerContact\": {\n \"emailAddress\": \"jsmith@example.com\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"mobilePhone\": \"<string>\",\n \"telephone\": \"<string>\"\n },\n \"customerAddress\": {\n \"addressLines\": \"<string>\",\n \"city\": \"<string>\",\n \"country\": \"<string>\",\n \"countryCode\": \"<string>\",\n \"region\": \"<string>\",\n \"zipCode\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"$ref": "#/components/schemas/Status/example"
}{
"errorCode": "ER-001",
"errorDescription": "Invalid request parameters"
}{
"errorCode": "ER-012",
"errorDescription": "The server encountered an unexpected condition and could not complete the request. Please contact Corpay Support."
}Performance expectations:
p50: 1100 ms, p99: 1900 ms.
Measured on successful requests (2xx), server-side only.
How to interpret these metrics
p50: 1100 ms, p99: 1900 ms.
Measured on successful requests (2xx), server-side only.
How to interpret these metrics
Authorizations
Use OAuth2 client credentials to obtain a bearer token.
Token endpoint:
POST <BASE_URL>/keycloak/realms/longship/protocol/openid-connect/token
Use the same base URL as the selected API server:
- Test environment:
https://apigwuat.corpay.com - Production environment:
https://apigw.corpay.com
Example:
curl --location '<BASE_URL>/keycloak/realms/longship/protocol/openid-connect/token' \
--header 'accept: application/json' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id=.......' \
--data-urlencode 'client_secret=......'
Path Parameters
Body
application/json
Maximum string length:
310Reference to Consumer System Internal Identifier
Maximum string length:
40Show child attributes
Show child attributes
If customer address is provided then all the fields inside the address object needs to be provided.
Show child attributes
Show child attributes
Response
Operation status
The response is of type object.
⌘I