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
string
required
The unique menu ID
Response
Responses use the standard envelope (status, state, message, data, count, pagination). The menu is nested under data.menu.
integer
HTTP status code (
200 on success)string
Result state, e.g.
successstring
Human-readable message, or
nullobject
Wrapper object containing the menu
Show data.menu
Show data.menu
string
Unique menu ID (UUID)
string
Menu name
string
URL-safe menu handle
string
URL-safe slug
string
Destination URL for this menu item
string
Where the menu is used (e.g.
header, footer)string
Item resource type (e.g.
page, product, category, customized)array
Array of nested child menu-item objects (same shape, stored as JSON)
boolean
Whether the menu item is enabled
integer
Nesting depth (0 for top level)
integer
Sort order within its level
string
Parent menu ID, or
null for top-level itemsstring
Linked product ID, when
menuItemType is productstring
Linked category ID, when
menuItemType is categorystring
Linked page ID, when
menuItemType is pagestring
Creation timestamp (ISO 8601)
string
Last update timestamp (ISO 8601)
integer
Result count (omitted for single-resource responses)
object
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 |