Create a customer
curl --request POST \
--url https://developersandbox-api.flutterwave.com/customers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "cornelius@gmail.com",
"meta": {},
"name": {
"first": "King",
"middle": "Leo",
"last": "LeBron"
},
"phone": {
"country_code": "234",
"number": "08012345678"
}
}
'import requests
url = "https://developersandbox-api.flutterwave.com/customers"
payload = {
"email": "cornelius@gmail.com",
"meta": {},
"name": {
"first": "King",
"middle": "Leo",
"last": "LeBron"
},
"phone": {
"country_code": "234",
"number": "08012345678"
}
}
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({
email: 'cornelius@gmail.com',
meta: {},
name: {first: 'King', middle: 'Leo', last: 'LeBron'},
phone: {country_code: '234', number: '08012345678'}
})
};
fetch('https://developersandbox-api.flutterwave.com/customers', 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://developersandbox-api.flutterwave.com/customers",
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([
'email' => 'cornelius@gmail.com',
'meta' => [
],
'name' => [
'first' => 'King',
'middle' => 'Leo',
'last' => 'LeBron'
],
'phone' => [
'country_code' => '234',
'number' => '08012345678'
]
]),
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://developersandbox-api.flutterwave.com/customers"
payload := strings.NewReader("{\n \"email\": \"cornelius@gmail.com\",\n \"meta\": {},\n \"name\": {\n \"first\": \"King\",\n \"middle\": \"Leo\",\n \"last\": \"LeBron\"\n },\n \"phone\": {\n \"country_code\": \"234\",\n \"number\": \"08012345678\"\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://developersandbox-api.flutterwave.com/customers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"cornelius@gmail.com\",\n \"meta\": {},\n \"name\": {\n \"first\": \"King\",\n \"middle\": \"Leo\",\n \"last\": \"LeBron\"\n },\n \"phone\": {\n \"country_code\": \"234\",\n \"number\": \"08012345678\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developersandbox-api.flutterwave.com/customers")
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 \"email\": \"cornelius@gmail.com\",\n \"meta\": {},\n \"name\": {\n \"first\": \"King\",\n \"middle\": \"Leo\",\n \"last\": \"LeBron\"\n },\n \"phone\": {\n \"country_code\": \"234\",\n \"number\": \"08012345678\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"data": {
"id": "cus_3XarBILKQS",
"address": {
"city": "New York",
"country": "US",
"line1": "123 Main Street",
"postal_code": "10001",
"state": "New York",
"line2": "Apt 4B"
},
"email": "cornelius@gmail.com",
"name": {
"first": "King",
"middle": "Leo",
"last": "LeBron"
},
"phone": {
"country_code": "234",
"number": "08012345678"
},
"meta": {},
"created_datetime": "2023-11-07T05:31:56Z"
}
}{
"status": "failed",
"error": {
"type": "REQUEST_NOT_VALID",
"code": "10400",
"message": "Request is not valid",
"validation_errors": [
{
"field_name": "amount",
"message": "must not be null"
}
]
}
}{
"status": "failed",
"message": "UNAUTHORIZED",
"error": {
"type": "UNAUTHORIZED",
"code": "10401",
"message": "unauthorized"
}
}{
"status": "failed",
"message": "<string>",
"error": {
"type": "FORBIDDEN",
"code": "10403",
"message": "Forbidden"
}
}{
"status": "failed",
"message": "<string>",
"error": {
"type": "RESOURCE_CONFLICT",
"code": "10409",
"message": "Resource conflict"
}
}Customer
Create a customer
Create a customer
POST
/
customers
Create a customer
curl --request POST \
--url https://developersandbox-api.flutterwave.com/customers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "cornelius@gmail.com",
"meta": {},
"name": {
"first": "King",
"middle": "Leo",
"last": "LeBron"
},
"phone": {
"country_code": "234",
"number": "08012345678"
}
}
'import requests
url = "https://developersandbox-api.flutterwave.com/customers"
payload = {
"email": "cornelius@gmail.com",
"meta": {},
"name": {
"first": "King",
"middle": "Leo",
"last": "LeBron"
},
"phone": {
"country_code": "234",
"number": "08012345678"
}
}
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({
email: 'cornelius@gmail.com',
meta: {},
name: {first: 'King', middle: 'Leo', last: 'LeBron'},
phone: {country_code: '234', number: '08012345678'}
})
};
fetch('https://developersandbox-api.flutterwave.com/customers', 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://developersandbox-api.flutterwave.com/customers",
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([
'email' => 'cornelius@gmail.com',
'meta' => [
],
'name' => [
'first' => 'King',
'middle' => 'Leo',
'last' => 'LeBron'
],
'phone' => [
'country_code' => '234',
'number' => '08012345678'
]
]),
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://developersandbox-api.flutterwave.com/customers"
payload := strings.NewReader("{\n \"email\": \"cornelius@gmail.com\",\n \"meta\": {},\n \"name\": {\n \"first\": \"King\",\n \"middle\": \"Leo\",\n \"last\": \"LeBron\"\n },\n \"phone\": {\n \"country_code\": \"234\",\n \"number\": \"08012345678\"\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://developersandbox-api.flutterwave.com/customers")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"cornelius@gmail.com\",\n \"meta\": {},\n \"name\": {\n \"first\": \"King\",\n \"middle\": \"Leo\",\n \"last\": \"LeBron\"\n },\n \"phone\": {\n \"country_code\": \"234\",\n \"number\": \"08012345678\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developersandbox-api.flutterwave.com/customers")
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 \"email\": \"cornelius@gmail.com\",\n \"meta\": {},\n \"name\": {\n \"first\": \"King\",\n \"middle\": \"Leo\",\n \"last\": \"LeBron\"\n },\n \"phone\": {\n \"country_code\": \"234\",\n \"number\": \"08012345678\"\n }\n}"
response = http.request(request)
puts response.read_body{
"message": "<string>",
"data": {
"id": "cus_3XarBILKQS",
"address": {
"city": "New York",
"country": "US",
"line1": "123 Main Street",
"postal_code": "10001",
"state": "New York",
"line2": "Apt 4B"
},
"email": "cornelius@gmail.com",
"name": {
"first": "King",
"middle": "Leo",
"last": "LeBron"
},
"phone": {
"country_code": "234",
"number": "08012345678"
},
"meta": {},
"created_datetime": "2023-11-07T05:31:56Z"
}
}{
"status": "failed",
"error": {
"type": "REQUEST_NOT_VALID",
"code": "10400",
"message": "Request is not valid",
"validation_errors": [
{
"field_name": "amount",
"message": "must not be null"
}
]
}
}{
"status": "failed",
"message": "UNAUTHORIZED",
"error": {
"type": "UNAUTHORIZED",
"code": "10401",
"message": "unauthorized"
}
}{
"status": "failed",
"message": "<string>",
"error": {
"type": "FORBIDDEN",
"code": "10403",
"message": "Forbidden"
}
}{
"status": "failed",
"message": "<string>",
"error": {
"type": "RESOURCE_CONFLICT",
"code": "10409",
"message": "Resource conflict"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
A unique identifier to track this operation. It must be between 12 and 255 characters in length.
Required string length:
12 - 255A unique identifier to prevent duplicate requests. It must be between 12 and 255 characters in length.
Required string length:
12 - 255Body
application/json
The Customer's email address.
Pattern:
^[a-zA-Z0-9_+&*-]+(?:\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}$Example:
"cornelius@gmail.com"
Customer address information.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The Customer's full name.
Show child attributes
Show child attributes
The customer's mobile number.
Show child attributes
Show child attributes
Example:
{
"country_code": "234",
"number": "08012345678"
}
Was this page helpful?
⌘I