Get Menu
curl --request GET \
--url https://api.launchmystore.io/api/v1/menus/:id.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.launchmystore.io/api/v1/menus/:id.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/menus/:id.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/menus/:id.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/menus/:id.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/menus/:id.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/menus/:id.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_body{
"status": 123,
"state": "<string>",
"message": "<string>",
"data": {
"menuId": "<string>",
"name": "<string>",
"handle": "<string>",
"slug": "<string>",
"url": "<string>",
"menuType": "<string>",
"menuItemType": "<string>",
"child": [
{}
],
"selected": true,
"depth": 123,
"order": 123,
"parentId": "<string>",
"productId": "<string>",
"categoryId": "<string>",
"pageId": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
},
"count": 123,
"pagination": {}
}Menus
Get Menu
Retrieve a single navigation menu with links
GET
/
api
/
v1
/
menus
/
:id.json
Get Menu
curl --request GET \
--url https://api.launchmystore.io/api/v1/menus/:id.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.launchmystore.io/api/v1/menus/:id.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/menus/:id.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/menus/:id.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/menus/:id.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/menus/:id.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/menus/:id.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_body{
"status": 123,
"state": "<string>",
"message": "<string>",
"data": {
"menuId": "<string>",
"name": "<string>",
"handle": "<string>",
"slug": "<string>",
"url": "<string>",
"menuType": "<string>",
"menuItemType": "<string>",
"child": [
{}
],
"selected": true,
"depth": 123,
"order": 123,
"parentId": "<string>",
"productId": "<string>",
"categoryId": "<string>",
"pageId": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>"
},
"count": 123,
"pagination": {}
}Get Menu
Returns a single navigation menu by its ID, including all links and nested children.Request
curl -X GET "https://api.launchmystore.io/api/v1/menus/menu_abc123.json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
const response = await fetch('https://api.launchmystore.io/api/v1/menus/menu_abc123.json', {
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
}
});
Path Parameters
The unique menu ID
Response
Responses use the standard envelope (status, state, message, data, count, pagination). The menu is nested under data.menu.
HTTP status code (
200 on success)Result state, e.g.
successHuman-readable message, or
nullWrapper object containing the menu
Show data.menu
Show data.menu
Unique menu ID (UUID)
Menu name
URL-safe menu handle
URL-safe slug
Destination URL for this menu item
Where the menu is used (e.g.
header, footer)Item resource type (e.g.
page, product, category, customized)Array of nested child menu-item objects (same shape, stored as JSON)
Whether the menu item is enabled
Nesting depth (0 for top level)
Sort order within its level
Parent menu ID, or
null for top-level itemsLinked product ID, when
menuItemType is productLinked category ID, when
menuItemType is categoryLinked page ID, when
menuItemType is pageCreation timestamp (ISO 8601)
Last update timestamp (ISO 8601)
Result count (omitted for single-resource responses)
Pagination metadata;
null for single-resource responsesExample Response
{
"status": 200,
"state": "success",
"message": null,
"data": {
"menu": {
"menuId": "a1b2c3d4-0001-4e5f-8a9b-0c1d2e3f4a5b",
"name": "Home",
"handle": "home",
"slug": "home",
"url": "/",
"menuType": "header",
"menuItemType": "customized",
"child": [
{
"name": "New Arrivals",
"url": "/collections/new-arrivals",
"menuItemType": "category",
"categoryId": "c0ffee00-1111-4222-8333-444455556666"
}
],
"selected": true,
"depth": 0,
"order": 1,
"parentId": null,
"productId": null,
"categoryId": null,
"pageId": null,
"createdAt": "2024-01-01T10:00:00.000Z",
"updatedAt": "2024-03-15T14:30:00.000Z"
}
},
"count": null,
"pagination": null
}
Error Response
When the menu does not exist, the endpoint returns the standard envelope with anerror state:
{
"status": 404,
"state": "error",
"message": "Menu not found",
"data": null
}
Error Codes
| HTTP Status | Description |
|---|---|
401 | Invalid or missing access token |
403 | App doesn’t have read_content scope |
404 | Menu with the specified ID does not exist |
⌘I