Skip to main content
POST
/
customers
/
subcustomer
Create sub customer
curl --request POST \
  --url https://apigwuat.corpay.com/customers/subcustomer \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "customerName": "<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>"
  },
  "customerAccountNumber": "<string>",
  "customerBusinessReference": "<string>"
}
'
import requests

url = "https://apigwuat.corpay.com/customers/subcustomer"

payload = {
"customerName": "<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>"
},
"customerAccountNumber": "<string>",
"customerBusinessReference": "<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>',
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>'
},
customerAccountNumber: '<string>',
customerBusinessReference: '<string>'
})
};

fetch('https://apigwuat.corpay.com/customers/subcustomer', 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/subcustomer",
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>',
'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>'
],
'customerAccountNumber' => '<string>',
'customerBusinessReference' => '<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/subcustomer"

payload := strings.NewReader("{\n \"customerName\": \"<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 \"customerAccountNumber\": \"<string>\",\n \"customerBusinessReference\": \"<string>\"\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/subcustomer")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"customerName\": \"<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 \"customerAccountNumber\": \"<string>\",\n \"customerBusinessReference\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://apigwuat.corpay.com/customers/subcustomer")

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 \"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 \"customerAccountNumber\": \"<string>\",\n \"customerBusinessReference\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "customerAccountNumber": 50000002122
}
{
"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: 250 ms, p99: 800 ms.
Measured on successful requests (2xx), server-side only.
How to interpret these metrics

Authorizations

Authorization
string
header
required

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=......'

Body

application/json
customerName
string
required
Maximum string length: 310
customerContact
object
required
customerAddress
object
required

If customer address is provided then all the fields inside the address object needs to be provided.

customerAccountNumber
string
customerBusinessReference
string

Reference to Consumer System Internal Identifier

Maximum string length: 40

Response

Subcustomer's customer account number

customerAccountNumber
string