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
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.
The product object
Show Product Object
Show Product Object
Numeric product ID
UUID product ID. Either
id or product_id may be used as the
:id path parameter on subsequent calls.Product title
URL-safe product handle
Product description (HTML)
Product vendor
Product type/category
Publication scope. Always
global.Publish timestamp (ISO 8601)
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 of product variants
Array of product options (e.g., Size, Color)
Array of product images
Creation timestamp (ISO 8601)
Last update timestamp (ISO 8601)
Example Response
{
"product": {
"id": 482910,
"product_id": "f73049dc-b4d4-4f85-99c2-681a5e351a8a",
"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 Shopify-style{ errors } body is
returned with HTTP 404:
{
"errors": {
"base": ["Product not found"]
}
}
⌘I