# 7. Get Product

Fetch a single product’s record by id, including pricing, stock, media, variants, and warehouse's inventories, returned in the standard response envelope.

Overview

Auth
HMAC Partner
Method
GET

# Path

https://partners-api.tocobagus.net/api/v1 /partner/stores/products/{productId}

# Request

# Query Parameters

Name Type Required Description
isVariantActive boolean Set to true to filter product with active variants

# Required Headers

Header Example Description
x-signature bdbb8833fe43671e058b56dace75763a78a2edf8de7365afb6f534d750056e80 HMAC signature of the request, computed with the partner secret and x-timestamp (auth integrity).
x-partner-client-id 2025112012475048491498 Partner identifier issued by Omni; used to locate the partner secret.
x-store-client-id 638765489981529612855 Target store identifier under the partner account.
x-store-token stkn__6AbJF05mjvxh7sh Store access token for store-level authorization.
x-timestamp 1758100350458 UNIX epoch timestamp used when computing x-signature (replay protection).

# Request Payload

Request payload: Not used for GET.

# Example Request

curl -X GET "http:///partner/stores/products/015c28c3-b48c-4e1f-a8a1-9a1cc07022c4" \
  -H "Content-Type: application/json" \
  -H "x-signature: bdbb8833fe43671e058b56dace75763a78a2edf8de7365afb6f534d750056e80" \
  -H "x-partner-client-id: 2025112012475048491498" \
  -H "x-store-client-id: 638765489981529612855" \
  -H "x-store-token: stkn__6AbJF05mjvxh7sh" \
  -H "x-timestamp: 1758100350458" \
const qs = new URLSearchParams({});
const url = "http:///partner/stores/products/015c28c3-b48c-4e1f-a8a1-9a1cc07022c4" + (qs.toString() ? "?" + qs.toString() : "");
const res = await fetch(url, {
  method: "GET",
  headers: {
  "x-signature": "bdbb8833fe43671e058b56dace75763a78a2edf8de7365afb6f534d750056e80",
  "x-partner-client-id": "2025112012475048491498",
  "x-store-client-id": "638765489981529612855",
  "x-store-token": "stkn__6AbJF05mjvxh7sh",
  "x-timestamp": "1758100350458"
}
});
const json = await res.json();
console.log(json);
qs := url.Values{}

u := "http:///partner/stores/products/015c28c3-b48c-4e1f-a8a1-9a1cc07022c4"
if q := qs.Encode(); q != "" { u = u + "?" + q }
req, _ := http.NewRequest("GET", u, nil)
req.Header.Set("x-signature", "bdbb8833fe43671e058b56dace75763a78a2edf8de7365afb6f534d750056e80")
req.Header.Set("x-partner-client-id", "2025112012475048491498")
req.Header.Set("x-store-client-id", "638765489981529612855")
req.Header.Set("x-store-token", "stkn__6AbJF05mjvxh7sh")
req.Header.Set("x-timestamp", "1758100350458")
req.Header.Set("Content-Type","application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
b, _ := io.ReadAll(resp.Body)
fmt.Println(string(b))
var client = java.net.http.HttpClient.newHttpClient();
var req = java.net.http.HttpRequest.newBuilder()
    .uri(java.net.URI.create("http:///partner/stores/products/015c28c3-b48c-4e1f-a8a1-9a1cc07022c4"))
    .header("Content-Type","application/json")
    .header("x-signature", "bdbb8833fe43671e058b56dace75763a78a2edf8de7365afb6f534d750056e80")
    .header("x-partner-client-id", "2025112012475048491498")
    .header("x-store-client-id", "638765489981529612855")
    .header("x-store-token", "stkn__6AbJF05mjvxh7sh")
    .header("x-timestamp", "1758100350458")
    .method("GET", java.net.http.HttpRequest.BodyPublishers.noBody())
    .build();
var res = client.send(req, java.net.http.HttpResponse.BodyHandlers.ofString());
System.out.println(res.body());

# Responses

# Example Responses

{
  "success": true,
  "message": "Product detail retrieved successfully",
  "requestId": "1c91b672-200e-45a5-96c2-215be52e9e6b",
  "meta": {
    "timestamp": "2026-02-03T15:44:34.585Z"
  },
  "data": {
    "id": "2f89be61-f614-4710-bbfd-7d0ed1fbe4d0",
    "externalId": "e4fd1621-5cbd-4bf6-b26d-2da7b677e775",
    "name": "Kacamata Hitam Stylish",
    "description": "Kacamata hitam dengan desain modern, melindungi dari sinar UV.",
    "sku": "SKU-KCM-HITAM-1",
    "price": 120000,
    "stock": 39,
    "weight": 200,
    "dimensions": {
      "length": 0,
      "width": 0,
      "height": 0
    },
    "minOrder": 1,
    "categoryId": "0e882586-c506-4792-a831-02767a68dae2",
    "departmentId": "2fde2994-28a8-4d09-a128-6d744b9e1323",
    "typeId": "d86db295-41c3-423d-a2c2-a59724f38316",
    "brandId": "addcaa1b-8cdb-4c9a-9e5d-8b0fbbacfaea",
    "hashtags": [],
    "condition": "NEW",
    "photos": [
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210637.webp",
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210707.webp",
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210570.webp",
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210608.webp",
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210559.webp",
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210544.webp"
    ],
    "thumbnails": [
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210637-thumbnail.webp",
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210707-thumbnail.webp",
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210570-thumbnail.webp",
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210608-thumbnail.webp",
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210559-thumbnail.webp",
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210544-thumbnail.webp"
    ],
    "officialBanners": [
      "https://d13eru2cpf9i9v.cloudfront.net/toco/img/image-1769658210637.webp"
    ],
    "isPreorder": false,
    "preorderPeriod": 0,
    "hasVariant": true,
    "isArchived": false,
    "insuranceRequired": false,
    "codEnabled": false,
    "isVerified": true,
    "variants": {
      "items": [
        {
          "id": "cde66255-8f87-43f6-acbf-329515bd2283",
          "name": "Variant",
          "sku": "SKU-KCM-HITAM-1",
          "isActive": true,
          "price": 120000,
          "specialPrice": 90000,
          "optionIndexes": [
            0
          ],
          "photos": [
            "https://img.freepik.com/free-vector/image-upload-concept-illustration_23-2148276163.jpg"
          ],
          "stock": 20,
          "weight": 200,
          "warehouses": [
            {
              "id": "625d5773-6bb7-4ef8-8692-e44191dc53a7",
              "clientId": "2026012714314318226016",
              "stock": 20,
              "isActive": true
            }
          ]
        },
        {
          "id": "79d5cd58-e8b5-4227-b5ed-3d73bced3260",
          "name": "Variant",
          "sku": "SKU-KCM-HITAM-2",
          "isActive": true,
          "price": 125000,
          "specialPrice": 100000,
          "optionIndexes": [
            1
          ],
          "photos": [
            "https://img.freepik.com/free-vector/image-upload-concept-illustration_23-2148276163.jpg"
          ],
          "stock": 19,
          "weight": 200,
          "warehouses": [
            {
              "id": "625d5773-6bb7-4ef8-8692-e44191dc53a7",
              "clientId": "2026012714314318226016",
              "stock": 20,
              "isActive": true
            }
          ]
        }
      ],
      "optionGroups": [
        {
          "level": 1,
          "name": "Color",
          "values": [
            {
              "label": "Black"
            },
            {
              "label": "Brown"
            }
          ]
        }
      ]
    }
  }
}
{
  "success": false,
  "error": {
    "code": "PRD_014",
    "message": "Product not found",
    "details": {
      "timestamp": "2026-02-04T18:42:34.245Z",
      "hint": "Product not found or does not belong to this store",
      "context": {
        "id": "015c28c3-b48c-4e1f-a8a1-9a1cc07022c4"
      }
    }
  },
  "requestId": "bfcf3f30-4320-4fc4-9ce0-1dc5797b7179"
}

# Dictionary

None for this endpoint.

# Notes

None for this endpoint.