Update Store Settings
curl --request PUT \
--url https://api.launchmystore.io/api/v1/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"business": "<string>",
"businessEmail": "<string>",
"phone": "<string>",
"profileImage": "<string>",
"storeURL": "<string>",
"category": "<string>",
"country": "<string>",
"storeAdd": {},
"gstNumber": "<string>",
"availableCountries": [
{}
],
"availableLanguages": [
{}
],
"defaultLanguage": "<string>",
"useManualExchangeRates": true,
"manualExchangeRates": {},
"currencyConversionFee": 123
}
'import requests
url = "https://api.launchmystore.io/api/v1/settings"
payload = {
"name": "<string>",
"business": "<string>",
"businessEmail": "<string>",
"phone": "<string>",
"profileImage": "<string>",
"storeURL": "<string>",
"category": "<string>",
"country": "<string>",
"storeAdd": {},
"gstNumber": "<string>",
"availableCountries": [{}],
"availableLanguages": [{}],
"defaultLanguage": "<string>",
"useManualExchangeRates": True,
"manualExchangeRates": {},
"currencyConversionFee": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
business: '<string>',
businessEmail: '<string>',
phone: '<string>',
profileImage: '<string>',
storeURL: '<string>',
category: '<string>',
country: '<string>',
storeAdd: {},
gstNumber: '<string>',
availableCountries: [{}],
availableLanguages: [{}],
defaultLanguage: '<string>',
useManualExchangeRates: true,
manualExchangeRates: {},
currencyConversionFee: 123
})
};
fetch('https://api.launchmystore.io/api/v1/settings', 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.launchmystore.io/api/v1/settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'business' => '<string>',
'businessEmail' => '<string>',
'phone' => '<string>',
'profileImage' => '<string>',
'storeURL' => '<string>',
'category' => '<string>',
'country' => '<string>',
'storeAdd' => [
],
'gstNumber' => '<string>',
'availableCountries' => [
[
]
],
'availableLanguages' => [
[
]
],
'defaultLanguage' => '<string>',
'useManualExchangeRates' => true,
'manualExchangeRates' => [
],
'currencyConversionFee' => 123
]),
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://api.launchmystore.io/api/v1/settings"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"profileImage\": \"<string>\",\n \"storeURL\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": {},\n \"gstNumber\": \"<string>\",\n \"availableCountries\": [\n {}\n ],\n \"availableLanguages\": [\n {}\n ],\n \"defaultLanguage\": \"<string>\",\n \"useManualExchangeRates\": true,\n \"manualExchangeRates\": {},\n \"currencyConversionFee\": 123\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.launchmystore.io/api/v1/settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"profileImage\": \"<string>\",\n \"storeURL\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": {},\n \"gstNumber\": \"<string>\",\n \"availableCountries\": [\n {}\n ],\n \"availableLanguages\": [\n {}\n ],\n \"defaultLanguage\": \"<string>\",\n \"useManualExchangeRates\": true,\n \"manualExchangeRates\": {},\n \"currencyConversionFee\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"profileImage\": \"<string>\",\n \"storeURL\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": {},\n \"gstNumber\": \"<string>\",\n \"availableCountries\": [\n {}\n ],\n \"availableLanguages\": [\n {}\n ],\n \"defaultLanguage\": \"<string>\",\n \"useManualExchangeRates\": true,\n \"manualExchangeRates\": {},\n \"currencyConversionFee\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": 200,
"state": "success",
"message": null,
"data": {
"settings": {
"id": "c3d4e5f6-7a8b-4c9d-0e1f-2a3b4c5d6e7f",
"name": "Acme Store (renamed)",
"business": "Acme Pvt Ltd",
"currencyConversionFee": 0
}
},
"pagination": null
}
Settings
Update Store Settings
Patch a whitelisted subset of the merchant store general settings.
PUT
/
api
/
v1
/
settings
Update Store Settings
curl --request PUT \
--url https://api.launchmystore.io/api/v1/settings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"business": "<string>",
"businessEmail": "<string>",
"phone": "<string>",
"profileImage": "<string>",
"storeURL": "<string>",
"category": "<string>",
"country": "<string>",
"storeAdd": {},
"gstNumber": "<string>",
"availableCountries": [
{}
],
"availableLanguages": [
{}
],
"defaultLanguage": "<string>",
"useManualExchangeRates": true,
"manualExchangeRates": {},
"currencyConversionFee": 123
}
'import requests
url = "https://api.launchmystore.io/api/v1/settings"
payload = {
"name": "<string>",
"business": "<string>",
"businessEmail": "<string>",
"phone": "<string>",
"profileImage": "<string>",
"storeURL": "<string>",
"category": "<string>",
"country": "<string>",
"storeAdd": {},
"gstNumber": "<string>",
"availableCountries": [{}],
"availableLanguages": [{}],
"defaultLanguage": "<string>",
"useManualExchangeRates": True,
"manualExchangeRates": {},
"currencyConversionFee": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
business: '<string>',
businessEmail: '<string>',
phone: '<string>',
profileImage: '<string>',
storeURL: '<string>',
category: '<string>',
country: '<string>',
storeAdd: {},
gstNumber: '<string>',
availableCountries: [{}],
availableLanguages: [{}],
defaultLanguage: '<string>',
useManualExchangeRates: true,
manualExchangeRates: {},
currencyConversionFee: 123
})
};
fetch('https://api.launchmystore.io/api/v1/settings', 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.launchmystore.io/api/v1/settings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'business' => '<string>',
'businessEmail' => '<string>',
'phone' => '<string>',
'profileImage' => '<string>',
'storeURL' => '<string>',
'category' => '<string>',
'country' => '<string>',
'storeAdd' => [
],
'gstNumber' => '<string>',
'availableCountries' => [
[
]
],
'availableLanguages' => [
[
]
],
'defaultLanguage' => '<string>',
'useManualExchangeRates' => true,
'manualExchangeRates' => [
],
'currencyConversionFee' => 123
]),
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://api.launchmystore.io/api/v1/settings"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"profileImage\": \"<string>\",\n \"storeURL\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": {},\n \"gstNumber\": \"<string>\",\n \"availableCountries\": [\n {}\n ],\n \"availableLanguages\": [\n {}\n ],\n \"defaultLanguage\": \"<string>\",\n \"useManualExchangeRates\": true,\n \"manualExchangeRates\": {},\n \"currencyConversionFee\": 123\n}")
req, _ := http.NewRequest("PUT", 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.put("https://api.launchmystore.io/api/v1/settings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"profileImage\": \"<string>\",\n \"storeURL\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": {},\n \"gstNumber\": \"<string>\",\n \"availableCountries\": [\n {}\n ],\n \"availableLanguages\": [\n {}\n ],\n \"defaultLanguage\": \"<string>\",\n \"useManualExchangeRates\": true,\n \"manualExchangeRates\": {},\n \"currencyConversionFee\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"profileImage\": \"<string>\",\n \"storeURL\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": {},\n \"gstNumber\": \"<string>\",\n \"availableCountries\": [\n {}\n ],\n \"availableLanguages\": [\n {}\n ],\n \"defaultLanguage\": \"<string>\",\n \"useManualExchangeRates\": true,\n \"manualExchangeRates\": {},\n \"currencyConversionFee\": 123\n}"
response = http.request(request)
puts response.read_body{
"status": 200,
"state": "success",
"message": null,
"data": {
"settings": {
"id": "c3d4e5f6-7a8b-4c9d-0e1f-2a3b4c5d6e7f",
"name": "Acme Store (renamed)",
"business": "Acme Pvt Ltd",
"currencyConversionFee": 0
}
},
"pagination": null
}
Patch a whitelisted subset of fields on the merchant’s general store
settings. The endpoint silently ignores unknown fields if any allowed
field is also present, but returns 400 when the request contains only
non-whitelisted fields. This prevents accidental privilege escalation
(e.g., trying to set
id, password, role flags, etc.).
Required scope: write_settings
Allowed fields
Only the following fields are writable:name, business, businessEmail, phone, profileImage, storeURL,
category, country, storeAdd, gstNumber, availableCountries,
availableLanguages, defaultLanguage, useManualExchangeRates,
manualExchangeRates, currencyConversionFee.
Any other field (e.g. id, email, password, internal flags) is rejected.
Request Body
string
Store display name.
string
Legal business name.
string
Business contact email.
string
Phone number.
string
Logo / profile image URL.
string
Custom store URL slug.
string
Store category.
string
ISO country code.
object
Store address.
string
Tax / GST registration number.
array
Countries the store ships to.
array
Languages the storefront supports.
string
Default language code.
boolean
Toggle manual exchange rates.
object
Currency → rate map.
number
Surcharge on converted prices.
Response
On success, returns the updated settings object — same shape as Get Store Settings. If no writable fields are supplied, returns 400 with a helpful message listing the allowed fields.{
"status": 200,
"state": "success",
"message": null,
"data": {
"settings": {
"id": "c3d4e5f6-7a8b-4c9d-0e1f-2a3b4c5d6e7f",
"name": "Acme Store (renamed)",
"business": "Acme Pvt Ltd",
"currencyConversionFee": 0
}
},
"pagination": null
}