Get Product
curl --request GET \
--url https://api.launchmystore.io/api/v1/products/:id.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.launchmystore.io/api/v1/products/: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/products/: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/products/: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/products/: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/products/:id.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/products/: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{
"product": {
"id": 123,
"product_id": "<string>",
"title": "<string>",
"handle": "<string>",
"body_html": "<string>",
"vendor": "<string>",
"product_type": "<string>",
"published_scope": "<string>",
"published_at": "<string>",
"tags": [
{}
],
"variants": [
{}
],
"options": [
{}
],
"images": [
{}
],
"created_at": "<string>",
"updated_at": "<string>"
}
}Products
Get Product
Retrieve a single product by ID
GET
/
api
/
v1
/
products
/
:id.json
Get Product
curl --request GET \
--url https://api.launchmystore.io/api/v1/products/:id.json \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.launchmystore.io/api/v1/products/: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/products/: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/products/: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/products/: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/products/:id.json")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.launchmystore.io/api/v1/products/: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{
"product": {
"id": 123,
"product_id": "<string>",
"title": "<string>",
"handle": "<string>",
"body_html": "<string>",
"vendor": "<string>",
"product_type": "<string>",
"published_scope": "<string>",
"published_at": "<string>",
"tags": [
{}
],
"variants": [
{}
],
"options": [
{}
],
"images": [
{}
],
"created_at": "<string>",
"updated_at": "<string>"
}
}Get Product
Returns a single product by its unique ID.Request
curl -X GET "https://api.launchmystore.io/api/v1/products/482910.json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Parameters
string
required
The product to retrieve. Accepts either the UUID product ID or the
6-digit numeric product ID.
Response
Returns the product as a bare object under theproduct key. Money
fields are returned as decimal strings and IDs are numeric. The header
X-LMS-Api-Version advertises the contract version.
object
The product object
Show Product Object
Show Product Object
integer
Numeric product ID
string
UUID product ID. Either
id or product_id may be used as the
:id path parameter on subsequent calls.string
Product title
string
URL-safe product handle
string
Product description (HTML)
string
Product vendor
string
Product type/category
string
Publication scope. Always
global.string
Publish timestamp (ISO 8601)
array
Array of product tags
The product body does not include a
status
(active/draft/archived) field — the product transformer does
not emit one, so don’t gate logic on product status read from this
endpoint. status is still settable on
Create /
Update and filterable on
List Products — it’s just not echoed
back in the response.array
Array of product variants
array
Array of product options (e.g., Size, Color)
array
Array of product images
string
Creation timestamp (ISO 8601)
string
Last update timestamp (ISO 8601)
Example Response
{
"product": {
"id": 482910,
"product_id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"title": "Classic T-Shirt",
"handle": "classic-t-shirt",
"body_html": "<p>A comfortable cotton t-shirt perfect for everyday wear.</p>",
"vendor": "MyBrand",
"product_type": "Apparel",
"published_scope": "global",
"published_at": "2024-01-15T10:30:00.000Z",
"tags": ["cotton", "casual", "summer"],
"options": [
{
"id": 1,
"name": "Size",
"position": 1,
"values": ["Small", "Medium", "Large", "XL"]
},
{
"id": 2,
"name": "Color",
"position": 2,
"values": ["Black", "White", "Navy"]
}
],
"variants": [
{
"id": 731204,
"title": "Small / Black",
"price": "25.00",
"compare_at_price": "30.00",
"sku": "TSHIRT-S-BLK",
"inventory_quantity": 50,
"weight": 0.2,
"weight_unit": "kg",
"option1": "Small",
"option2": "Black",
"position": 1
}
],
"images": [
{
"id": 1,
"src": "https://cdn.launchmystore.io/images/tshirt.jpg",
"alt": "Classic T-Shirt",
"position": 1,
"width": 1200,
"height": 1200
}
],
"created_at": "2024-01-15T10:30:00.000Z",
"updated_at": "2024-01-20T14:45:00.000Z"
}
}
Error Response
If no product matches the given ID, a standard{ errors } body is
returned with HTTP 404:
{
"errors": {
"base": ["Product not found"]
}
}
⌘I