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": "7374cb9e-9f9c-4041-87de-379aea6ed21a",
"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": "7374cb9e-9f9c-4041-87de-379aea6ed21a",
"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
Store display name.
Legal business name.
Business contact email.
Phone number.
Logo / profile image URL.
Custom store URL slug.
Store category.
ISO country code.
Store address.
Tax / GST registration number.
Countries the store ships to.
Languages the storefront supports.
Default language code.
Toggle manual exchange rates.
Currency → rate map.
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": "7374cb9e-9f9c-4041-87de-379aea6ed21a",
"name": "Acme Store (renamed)",
"business": "Acme Pvt Ltd",
"currencyConversionFee": 0
}
},
"pagination": null
}
⌘I