Update Shop
curl --request PUT \
--url https://api.launchmystore.io/account/add-business-detail \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"business": "<string>",
"businessEmail": "<string>",
"phone": "<string>",
"ownerName": "<string>",
"category": "<string>",
"country": "<string>",
"storeAdd": "<string>",
"gstNumber": "<string>",
"availableCountries": [
{}
],
"availableLanguages": [
{}
],
"defaultLanguage": "<string>",
"useManualExchangeRates": true,
"manualExchangeRates": {},
"currencyConversionFee": 123
}
'import requests
url = "https://api.launchmystore.io/account/add-business-detail"
payload = {
"business": "<string>",
"businessEmail": "<string>",
"phone": "<string>",
"ownerName": "<string>",
"category": "<string>",
"country": "<string>",
"storeAdd": "<string>",
"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({
business: '<string>',
businessEmail: '<string>',
phone: '<string>',
ownerName: '<string>',
category: '<string>',
country: '<string>',
storeAdd: '<string>',
gstNumber: '<string>',
availableCountries: [{}],
availableLanguages: [{}],
defaultLanguage: '<string>',
useManualExchangeRates: true,
manualExchangeRates: {},
currencyConversionFee: 123
})
};
fetch('https://api.launchmystore.io/account/add-business-detail', 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/account/add-business-detail",
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([
'business' => '<string>',
'businessEmail' => '<string>',
'phone' => '<string>',
'ownerName' => '<string>',
'category' => '<string>',
'country' => '<string>',
'storeAdd' => '<string>',
'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/account/add-business-detail"
payload := strings.NewReader("{\n \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownerName\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": \"<string>\",\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/account/add-business-detail")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownerName\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": \"<string>\",\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/account/add-business-detail")
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 \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownerName\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": \"<string>\",\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_bodyShop
Update Shop
Update shop / business settings
PUT
/
account
/
add-business-detail
Update Shop
curl --request PUT \
--url https://api.launchmystore.io/account/add-business-detail \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"business": "<string>",
"businessEmail": "<string>",
"phone": "<string>",
"ownerName": "<string>",
"category": "<string>",
"country": "<string>",
"storeAdd": "<string>",
"gstNumber": "<string>",
"availableCountries": [
{}
],
"availableLanguages": [
{}
],
"defaultLanguage": "<string>",
"useManualExchangeRates": true,
"manualExchangeRates": {},
"currencyConversionFee": 123
}
'import requests
url = "https://api.launchmystore.io/account/add-business-detail"
payload = {
"business": "<string>",
"businessEmail": "<string>",
"phone": "<string>",
"ownerName": "<string>",
"category": "<string>",
"country": "<string>",
"storeAdd": "<string>",
"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({
business: '<string>',
businessEmail: '<string>',
phone: '<string>',
ownerName: '<string>',
category: '<string>',
country: '<string>',
storeAdd: '<string>',
gstNumber: '<string>',
availableCountries: [{}],
availableLanguages: [{}],
defaultLanguage: '<string>',
useManualExchangeRates: true,
manualExchangeRates: {},
currencyConversionFee: 123
})
};
fetch('https://api.launchmystore.io/account/add-business-detail', 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/account/add-business-detail",
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([
'business' => '<string>',
'businessEmail' => '<string>',
'phone' => '<string>',
'ownerName' => '<string>',
'category' => '<string>',
'country' => '<string>',
'storeAdd' => '<string>',
'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/account/add-business-detail"
payload := strings.NewReader("{\n \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownerName\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": \"<string>\",\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/account/add-business-detail")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownerName\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": \"<string>\",\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/account/add-business-detail")
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 \"business\": \"<string>\",\n \"businessEmail\": \"<string>\",\n \"phone\": \"<string>\",\n \"ownerName\": \"<string>\",\n \"category\": \"<string>\",\n \"country\": \"<string>\",\n \"storeAdd\": \"<string>\",\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_bodyThis endpoint is part of the merchant Admin API and is authenticated with a
merchant access token (not an app OAuth access token). The OAuth App API
exposes the store read-only via
GET /api/v1/shop.json;
there is no app-scoped shop-update endpoint.Update Shop
The OAuth App API is read-only for the shop resource — there is noPUT /api/v1/shop.json. To read shop details over the App API, use
Get Shop (GET /api/v1/shop.json, scope
read_shop).
Shop / business settings are updated through the merchant dashboard API
using a merchant (or staff) JWT, not an OAuth app access token. The relevant
endpoint is PUT /account/add-business-detail. Only the fields you send are
updated.
Request
curl -X PUT "https://api.launchmystore.io/account/add-business-detail" \
-H "Authorization: Bearer YOUR_MERCHANT_JWT" \
-H "Content-Type: application/json" \
-d '{
"business": "My Awesome Store - Rebranded",
"businessEmail": "support@mystore.com",
"phone": "+1 (555) 987-6543"
}'
const response = await fetch('https://api.launchmystore.io/account/add-business-detail', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_MERCHANT_JWT',
'Content-Type': 'application/json'
},
body: JSON.stringify({
business: 'My Awesome Store - Rebranded',
businessEmail: 'support@mystore.com',
phone: '+1 (555) 987-6543'
})
});
Body Parameters
All parameters are optional. Only provided fields will be updated.string
Business / shop name.
string
Business contact email.
string
Business phone number.
string
Store owner’s name.
string
Store category.
string
Store country. Currency is auto-resolved from the store’s country.
string
Store address.
string
Tax / GST registration number.
array
Countries the store ships to / supports (e.g.
["India", "United States"]).array
Supported language codes (e.g.
["en", "es", "fr"]).string
Default storefront language code (e.g.
"en").boolean
Use manually-entered exchange rates instead of live API rates.
object
Manual exchange rate map keyed by currency code, based on the store’s default
currency (e.g.
{ "USD": 1.0, "EUR": 0.92, "INR": 83.12 }).number
Currency conversion fee percentage (0–10).
The store logo is updated via the separate
PUT /account/add-business-logo
endpoint (multipart upload).Response
Responses use the platform response envelope:status, state, message,
data.
{
"status": 200,
"state": "success",
"message": "Business details updated successfully",
"data": {
"id": "acc_abc123",
"business": "My Awesome Store - Rebranded",
"businessEmail": "support@mystore.com",
"phone": "+1 (555) 987-6543",
"country": "United States",
"availableCountries": ["United States", "Canada"],
"availableLanguages": ["en"],
"defaultLanguage": "en"
}
}
Notes
- Currency is auto-resolved from the store’s country; there is no standalone currency field on this endpoint.
- Domains and plan / billing changes are managed in the dashboard, not via this endpoint.