Theme Settings
curl --request GET \
--url https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json', 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/themes/{theme_id}/settings.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyThemes
Theme Settings
Manage theme global settings
GET
/
api
/
v1
/
themes
/
{theme_id}
/
settings.json
Theme Settings
curl --request GET \
--url https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json', 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/themes/{theme_id}/settings.json",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/themes/{theme_id}/settings.json")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyTheme Settings
Manage global theme settings (colors, typography, layout options, etc.).Get Theme Settings
Retrieve the current theme settings.Request
curl -X GET "https://api.launchmystore.io/api/v1/themes/theme_abc123/settings.json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
The response uses the standard envelope (status, state, message, data).
data.settings holds the current setting values, data.schema holds the
theme’s settings schema groups, and data.presets lists the available preset
names (data.currentPreset is the active preset name, or null when settings
are stored as a direct object).
{
"status": 200,
"state": "success",
"message": null,
"data": {
"success": true,
"schema": [
{
"name": "Colors",
"settings": [
{ "type": "color", "id": "colors_accent_1", "label": "Accent 1", "default": "#121212" },
{ "type": "color", "id": "colors_background_1", "label": "Background 1", "default": "#ffffff" }
]
}
],
"settings": {
"colors_solid_button_labels": "#ffffff",
"colors_accent_1": "#121212",
"colors_accent_2": "#334FB4",
"colors_text": "#121212",
"colors_outline_button_labels": "#121212",
"colors_background_1": "#ffffff",
"colors_background_2": "#f3f3f3",
"type_header_font": "Assistant",
"type_body_font": "Assistant",
"type_header_font_size_scale": 100,
"type_body_font_size_scale": 100
},
"colorSchemeOptions": [],
"colorSchemes": [],
"colorSchemeDefinition": null,
"presets": ["Default", "Dark"],
"currentPreset": "Default"
},
"count": null,
"pagination": null
}
Update Theme Settings
Update one or more theme settings.The request body is the flat settings map itself — the setting keys go
at the top level of the body. Do not wrap them in a
"settings"
key: the endpoint forwards the entire body as the settings object, so a
{ "settings": { ... } } body arrives double-wrapped (settings.settings.*)
and nothing is applied.Request
curl -X PUT "https://api.launchmystore.io/api/v1/themes/theme_abc123/settings.json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"colors_accent_1": "#FF5733",
"colors_background_1": "#FAFAFA",
"type_header_font": "Roboto"
}'
const response = await fetch('https://api.launchmystore.io/api/v1/themes/theme_abc123/settings.json', {
method: 'PUT',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
colors_accent_1: '#FF5733',
colors_background_1: '#FAFAFA',
type_header_font: 'Roboto'
})
});
Body Parameters
The body is a flat object of settingkey: value pairs to update (sent at
the top level, not nested under a settings key).
Response
The submitted settings are merged into the active preset (or the current settings object) and saved. The response uses the standard envelope; the proxied save result is returned verbatim underdata.
{
"status": 200,
"state": "success",
"message": null,
"data": {
"success": true,
"message": "Theme settings saved successfully"
},
"count": null,
"pagination": null
}
Common Settings
Theme settings are defined by the theme’ssettings_schema.json. Common settings include:
| Setting Key | Type | Description |
|---|---|---|
colors_accent_1 | color | Primary accent color |
colors_accent_2 | color | Secondary accent color |
colors_text | color | Body text color |
colors_background_1 | color | Primary background |
colors_background_2 | color | Secondary background |
type_header_font | font_picker | Header font family |
type_body_font | font_picker | Body font family |
type_header_font_size_scale | range | Header font size scale (%) |
type_body_font_size_scale | range | Body font size scale (%) |
logo | image_picker | Store logo |
favicon | image_picker | Browser favicon |
Errors
Errors return a numeric HTTP status with an envelope of the form{ "status": <code>, "state": "error", "message": "<reason>", "data": null }.
{
"status": 404,
"state": "error",
"message": "Store not found",
"data": null
}
| HTTP Status | When |
|---|---|
401 | Invalid or missing access token |
403 | App doesn’t have the required scope (read_themes for GET, write_themes for PUT) |
404 | Store not found |
400 | The settings could not be saved (the underlying error message is returned in message) |
500 | Unexpected server error |