curl --request PATCH \
--url https://api.example.com/submerchants/{submerchantId} \
--header 'ApiKey: <apikey>' \
--header 'Content-Type: application/json' \
--header 'Environment: <environment>' \
--header 'MerchantId: <merchantid>' \
--data '
{
"name": "Updated Submerchant Name",
"description": "Updated submerchant description",
"address": "456 Updated St",
"zipcode": "54321",
"city": "London",
"phoneNumber": "+9876543210",
"legalInfo": {
"legalName": "<string>",
"headOfficeAddress": "<string>",
"businessActivity": "<string>",
"managerName": "<string>",
"websiteURL": "<string>",
"isBetting": true,
"isCrypto": true,
"isNGO": true
}
}
'import requests
url = "https://api.example.com/submerchants/{submerchantId}"
payload = {
"name": "Updated Submerchant Name",
"description": "Updated submerchant description",
"address": "456 Updated St",
"zipcode": "54321",
"city": "London",
"phoneNumber": "+9876543210",
"legalInfo": {
"legalName": "<string>",
"headOfficeAddress": "<string>",
"businessActivity": "<string>",
"managerName": "<string>",
"websiteURL": "<string>",
"isBetting": True,
"isCrypto": True,
"isNGO": True
}
}
headers = {
"ApiKey": "<apikey>",
"MerchantId": "<merchantid>",
"Environment": "<environment>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
ApiKey: '<apikey>',
MerchantId: '<merchantid>',
Environment: '<environment>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Updated Submerchant Name',
description: 'Updated submerchant description',
address: '456 Updated St',
zipcode: '54321',
city: 'London',
phoneNumber: '+9876543210',
legalInfo: {
legalName: '<string>',
headOfficeAddress: '<string>',
businessActivity: '<string>',
managerName: '<string>',
websiteURL: '<string>',
isBetting: true,
isCrypto: true,
isNGO: true
}
})
};
fetch('https://api.example.com/submerchants/{submerchantId}', 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.example.com/submerchants/{submerchantId}",
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([
'name' => 'Updated Submerchant Name',
'description' => 'Updated submerchant description',
'address' => '456 Updated St',
'zipcode' => '54321',
'city' => 'London',
'phoneNumber' => '+9876543210',
'legalInfo' => [
'legalName' => '<string>',
'headOfficeAddress' => '<string>',
'businessActivity' => '<string>',
'managerName' => '<string>',
'websiteURL' => '<string>',
'isBetting' => true,
'isCrypto' => true,
'isNGO' => true
]
]),
CURLOPT_HTTPHEADER => [
"ApiKey: <apikey>",
"Content-Type: application/json",
"Environment: <environment>",
"MerchantId: <merchantid>"
],
]);
$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://api.example.com/submerchants/{submerchantId}"
payload := strings.NewReader("{\n \"name\": \"Updated Submerchant Name\",\n \"description\": \"Updated submerchant description\",\n \"address\": \"456 Updated St\",\n \"zipcode\": \"54321\",\n \"city\": \"London\",\n \"phoneNumber\": \"+9876543210\",\n \"legalInfo\": {\n \"legalName\": \"<string>\",\n \"headOfficeAddress\": \"<string>\",\n \"businessActivity\": \"<string>\",\n \"managerName\": \"<string>\",\n \"websiteURL\": \"<string>\",\n \"isBetting\": true,\n \"isCrypto\": true,\n \"isNGO\": true\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("ApiKey", "<apikey>")
req.Header.Add("MerchantId", "<merchantid>")
req.Header.Add("Environment", "<environment>")
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://api.example.com/submerchants/{submerchantId}")
.header("ApiKey", "<apikey>")
.header("MerchantId", "<merchantid>")
.header("Environment", "<environment>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Updated Submerchant Name\",\n \"description\": \"Updated submerchant description\",\n \"address\": \"456 Updated St\",\n \"zipcode\": \"54321\",\n \"city\": \"London\",\n \"phoneNumber\": \"+9876543210\",\n \"legalInfo\": {\n \"legalName\": \"<string>\",\n \"headOfficeAddress\": \"<string>\",\n \"businessActivity\": \"<string>\",\n \"managerName\": \"<string>\",\n \"websiteURL\": \"<string>\",\n \"isBetting\": true,\n \"isCrypto\": true,\n \"isNGO\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/submerchants/{submerchantId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["ApiKey"] = '<apikey>'
request["MerchantId"] = '<merchantid>'
request["Environment"] = '<environment>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Updated Submerchant Name\",\n \"description\": \"Updated submerchant description\",\n \"address\": \"456 Updated St\",\n \"zipcode\": \"54321\",\n \"city\": \"London\",\n \"phoneNumber\": \"+9876543210\",\n \"legalInfo\": {\n \"legalName\": \"<string>\",\n \"headOfficeAddress\": \"<string>\",\n \"businessActivity\": \"<string>\",\n \"managerName\": \"<string>\",\n \"websiteURL\": \"<string>\",\n \"isBetting\": true,\n \"isCrypto\": true,\n \"isNGO\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "mch_1a2b3c",
"createdAt": "2026-08-13T09:00:00.000Z",
"name": "Submerchant Name",
"defaultCurrency": "XOF",
"status": "closed",
"isActive": true,
"isAggregator": true,
"members": [
"<string>"
],
"activity": "compliance",
"description": "<string>",
"address": "<string>",
"zipcode": "<string>",
"city": "<string>",
"phoneNumber": "<string>",
"country": "CI",
"preferences": {},
"internalCode": "<string>",
"merchantGroupId": "<string>",
"details": {},
"enabledProducts": [
"<string>"
],
"legalInfo": {
"legalName": "<string>",
"headOfficeAddress": "<string>",
"businessActivity": "<string>",
"managerName": "<string>",
"websiteURL": "<string>",
"isBetting": true,
"isCrypto": true,
"isNGO": true
}
}{
"status": 400,
"error": {
"statusCode": 400,
"message": [
"destination.provider must be a string"
],
"error": "Bad Request"
}
}{
"status": 401,
"error": {
"type": "authorization_error",
"code": "wrong_credentials",
"message": "L'ID marchand et/ou la clé d'API sont incorrects."
}
}{
"httpStatus": 404,
"message": "X not found",
"error": "Not found"
}{
"type": "internal_error",
"code": [
"internal_error",
"wrong_credentials",
"not_granted",
"live_mode_not_granted"
],
"message": "An error occurred on our system. Please try again later."
}Update a submerchant
curl --request PATCH \
--url https://api.example.com/submerchants/{submerchantId} \
--header 'ApiKey: <apikey>' \
--header 'Content-Type: application/json' \
--header 'Environment: <environment>' \
--header 'MerchantId: <merchantid>' \
--data '
{
"name": "Updated Submerchant Name",
"description": "Updated submerchant description",
"address": "456 Updated St",
"zipcode": "54321",
"city": "London",
"phoneNumber": "+9876543210",
"legalInfo": {
"legalName": "<string>",
"headOfficeAddress": "<string>",
"businessActivity": "<string>",
"managerName": "<string>",
"websiteURL": "<string>",
"isBetting": true,
"isCrypto": true,
"isNGO": true
}
}
'import requests
url = "https://api.example.com/submerchants/{submerchantId}"
payload = {
"name": "Updated Submerchant Name",
"description": "Updated submerchant description",
"address": "456 Updated St",
"zipcode": "54321",
"city": "London",
"phoneNumber": "+9876543210",
"legalInfo": {
"legalName": "<string>",
"headOfficeAddress": "<string>",
"businessActivity": "<string>",
"managerName": "<string>",
"websiteURL": "<string>",
"isBetting": True,
"isCrypto": True,
"isNGO": True
}
}
headers = {
"ApiKey": "<apikey>",
"MerchantId": "<merchantid>",
"Environment": "<environment>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
ApiKey: '<apikey>',
MerchantId: '<merchantid>',
Environment: '<environment>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Updated Submerchant Name',
description: 'Updated submerchant description',
address: '456 Updated St',
zipcode: '54321',
city: 'London',
phoneNumber: '+9876543210',
legalInfo: {
legalName: '<string>',
headOfficeAddress: '<string>',
businessActivity: '<string>',
managerName: '<string>',
websiteURL: '<string>',
isBetting: true,
isCrypto: true,
isNGO: true
}
})
};
fetch('https://api.example.com/submerchants/{submerchantId}', 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.example.com/submerchants/{submerchantId}",
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([
'name' => 'Updated Submerchant Name',
'description' => 'Updated submerchant description',
'address' => '456 Updated St',
'zipcode' => '54321',
'city' => 'London',
'phoneNumber' => '+9876543210',
'legalInfo' => [
'legalName' => '<string>',
'headOfficeAddress' => '<string>',
'businessActivity' => '<string>',
'managerName' => '<string>',
'websiteURL' => '<string>',
'isBetting' => true,
'isCrypto' => true,
'isNGO' => true
]
]),
CURLOPT_HTTPHEADER => [
"ApiKey: <apikey>",
"Content-Type: application/json",
"Environment: <environment>",
"MerchantId: <merchantid>"
],
]);
$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://api.example.com/submerchants/{submerchantId}"
payload := strings.NewReader("{\n \"name\": \"Updated Submerchant Name\",\n \"description\": \"Updated submerchant description\",\n \"address\": \"456 Updated St\",\n \"zipcode\": \"54321\",\n \"city\": \"London\",\n \"phoneNumber\": \"+9876543210\",\n \"legalInfo\": {\n \"legalName\": \"<string>\",\n \"headOfficeAddress\": \"<string>\",\n \"businessActivity\": \"<string>\",\n \"managerName\": \"<string>\",\n \"websiteURL\": \"<string>\",\n \"isBetting\": true,\n \"isCrypto\": true,\n \"isNGO\": true\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("ApiKey", "<apikey>")
req.Header.Add("MerchantId", "<merchantid>")
req.Header.Add("Environment", "<environment>")
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://api.example.com/submerchants/{submerchantId}")
.header("ApiKey", "<apikey>")
.header("MerchantId", "<merchantid>")
.header("Environment", "<environment>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Updated Submerchant Name\",\n \"description\": \"Updated submerchant description\",\n \"address\": \"456 Updated St\",\n \"zipcode\": \"54321\",\n \"city\": \"London\",\n \"phoneNumber\": \"+9876543210\",\n \"legalInfo\": {\n \"legalName\": \"<string>\",\n \"headOfficeAddress\": \"<string>\",\n \"businessActivity\": \"<string>\",\n \"managerName\": \"<string>\",\n \"websiteURL\": \"<string>\",\n \"isBetting\": true,\n \"isCrypto\": true,\n \"isNGO\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/submerchants/{submerchantId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["ApiKey"] = '<apikey>'
request["MerchantId"] = '<merchantid>'
request["Environment"] = '<environment>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"Updated Submerchant Name\",\n \"description\": \"Updated submerchant description\",\n \"address\": \"456 Updated St\",\n \"zipcode\": \"54321\",\n \"city\": \"London\",\n \"phoneNumber\": \"+9876543210\",\n \"legalInfo\": {\n \"legalName\": \"<string>\",\n \"headOfficeAddress\": \"<string>\",\n \"businessActivity\": \"<string>\",\n \"managerName\": \"<string>\",\n \"websiteURL\": \"<string>\",\n \"isBetting\": true,\n \"isCrypto\": true,\n \"isNGO\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "mch_1a2b3c",
"createdAt": "2026-08-13T09:00:00.000Z",
"name": "Submerchant Name",
"defaultCurrency": "XOF",
"status": "closed",
"isActive": true,
"isAggregator": true,
"members": [
"<string>"
],
"activity": "compliance",
"description": "<string>",
"address": "<string>",
"zipcode": "<string>",
"city": "<string>",
"phoneNumber": "<string>",
"country": "CI",
"preferences": {},
"internalCode": "<string>",
"merchantGroupId": "<string>",
"details": {},
"enabledProducts": [
"<string>"
],
"legalInfo": {
"legalName": "<string>",
"headOfficeAddress": "<string>",
"businessActivity": "<string>",
"managerName": "<string>",
"websiteURL": "<string>",
"isBetting": true,
"isCrypto": true,
"isNGO": true
}
}{
"status": 400,
"error": {
"statusCode": 400,
"message": [
"destination.provider must be a string"
],
"error": "Bad Request"
}
}{
"status": 401,
"error": {
"type": "authorization_error",
"code": "wrong_credentials",
"message": "L'ID marchand et/ou la clé d'API sont incorrects."
}
}{
"httpStatus": 404,
"message": "X not found",
"error": "Not found"
}{
"type": "internal_error",
"code": [
"internal_error",
"wrong_credentials",
"not_granted",
"live_mode_not_granted"
],
"message": "An error occurred on our system. Please try again later."
}Headers
Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.
Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.
Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.
live, sandbox Path Parameters
Body
Name of the submerchant
"Updated Submerchant Name"
Description of the submerchant
"Updated submerchant description"
Address of the submerchant
"456 Updated St"
Zipcode of the submerchant
"54321"
City of the submerchant
"London"
Phone number of the submerchant
"+9876543210"
Legal info of the submerchant. Merged into the stored one, incoming winning per sub-field: a sub-field left out or set to null keeps its stored value.
Show child attributes
Show child attributes
Response
Submerchant updated successfully
Identifier of the merchant
"mch_1a2b3c"
Creation date of the merchant, ISO 8601
"2026-08-13T09:00:00.000Z"
Name of the merchant
"Submerchant Name"
Default currency of the merchant, ISO 4217
"XOF"
Status of the merchant
closed, live, sandbox, suspended, testing, initialized Whether the merchant is active
Whether the merchant is an aggregator
Identifiers of the users that are members of the merchant
Activity of the merchant
compliance, inactive_30_days, inactive_90_days, low_performer, newcomer, top_performer, watch_list Description of the merchant
Address of the merchant
Zipcode of the merchant
City of the merchant
Phone number of the merchant
Country of the merchant, ISO 3166-1 alpha-2
"CI"
Preferences of the merchant
Internal code of the merchant
Identifier of the group the merchant belongs to
Additional details of the merchant
Products enabled for the merchant
Legal info of the submerchant
Show child attributes
Show child attributes
