Brand Partner Guide
This guide explains how Materialogue structures brand and product data. Use it when adding or updating your brand information and product catalog through the Brand Partner API.
Every field is described with its data type, whether it is required or optional, accepted formats, and real examples. Switch to the Simpolo Example tab above to see a fully worked product submission.
Quick Start
To start using the API, you need an API key issued by Materialogue. Once you have it, all requests must include it in the header:
X-API-Key: your-api-key-here
- Get your API key from the Materialogue team. Each key is scoped to your brand only — you cannot access or modify another brand's data.
- Check your brand profile to see what's currently on file.
- Update your profile — only send the fields you want to change.
- List your products and start adding or updating.
Brand Profile Fields
Your brand profile is what appears on the Materialogue brand information page. Fields marked Required must be provided for a complete listing.
| Field | Type | Required | Description & Format | Example |
|---|---|---|---|---|
name | String | Required | Your brand name. Set by Materialogue — cannot be changed via API. | "Kohler" |
logo_url | String (URL) | Required | Full URL to your brand logo. Host it on DigitalOcean Spaces or another CDN. SVG or PNG preferred, transparent background. | "https://materialogue.blr1.cdn..." |
description | String | Optional | About your brand — history, manufacturing, positioning. Plain text. 100–500 words recommended. | "Kohler Co. is a global leader..." |
hero_images | Array of Strings | Optional | Array of image URLs shown as banners on the brand page. Landscape orientation, minimum 1400px wide. | ["https://cdn.../hero.jpg"] |
headquarters | Object | Required | Two-line address object with address_line1 and address_line2 — both strings. | See below |
collections | Array of Objects | Optional | Each item has name (string) and cover_image (URL). Sending this replaces the entire list. | See Collections section |
channel_partners | Array of Objects | Optional | Each item has state (string) and cities (array of strings). Sending this replaces the entire list. | See Channel Partners section |
contact | Object | Required | Fields: brand_name, address, phone, email — all strings. | See below |
Complete brand update example
{
"description": "Kohler Co. is a global leader in kitchen and bath products, founded in 1873.",
"logo_url": "https://materialogue.blr1.cdn.digitaloceanspaces.com/brands/kohler/logo.svg",
"hero_images": ["https://materialogue.blr1.cdn.digitaloceanspaces.com/brands/kohler/hero1.jpg"],
"headquarters": {
"address_line1": "6th Floor, Corporate Office Tower, Ambience Island, NH-08",
"address_line2": "Gurugram, Haryana 122001, India"
},
"contact": {
"brand_name": "Kohler India Corporation",
"address": "6th Floor, Corporate Office Tower, Gurugram, Haryana 122001",
"phone": "+91 124 4561000",
"email": "[email protected]"
}
}
Partial updates: You only need to send the fields you want to change. Omitting a field leaves it unchanged.
Collections
Collections represent your product ranges or lines. They appear on your brand page as visual tiles.
| Field | Type | Required | Description |
|---|---|---|---|
name | String | Required | Name of the collection, e.g. "Purist", "Alchimia", "Impatto" |
cover_image | String (URL) | Optional | Cover image URL. Square or portrait preferred. Hosted on DigitalOcean Spaces. |
"collections": [
{ "name": "Alchimia", "cover_image": "https://materialogue.blr1.cdn.digitaloceanspaces.com/brands/simpolo/collections/alchimia.jpg" },
{ "name": "Impatto", "cover_image": "https://materialogue.blr1.cdn.digitaloceanspaces.com/brands/simpolo/collections/impatto.jpg" },
{ "name": "Basaltino", "cover_image": "" }
]
Sending collections replaces the entire list. Always include all collections when updating.
Channel Partners
Channel partners show your dealer/distributor network, organised by state and city.
| Field | Type | Required | Description |
|---|---|---|---|
state | String | Required | State name, e.g. "Maharashtra", "Gujarat", "Delhi NCR" |
cities | Array of Strings | Optional | Cities within that state, e.g. ["Mumbai", "Pune", "Nagpur"] |
"channel_partners": [
{ "state": "Gujarat", "cities": ["Ahmedabad", "Surat", "Vadodara", "Rajkot"] },
{ "state": "Maharashtra", "cities": ["Mumbai", "Pune", "Nagpur"] },
{ "state": "Delhi NCR", "cities": ["New Delhi", "Noida", "Gurgaon"] }
]
Sending channel_partners replaces the entire list. Include all states when updating.
Required Product Fields
Every product must have these four fields. If any is missing, the product will be rejected.
| Field | Type | Description | Valid values |
|---|---|---|---|
category | String | Top-level product category. Must match exactly (case-sensitive). | Walls & Floor · Sanitary · Paints · Surfaces · Fabrics · Lights · Electricals · Hardware |
primary_sub_category | String | Sub-category within the main category. See the full Category Taxonomy below. | e.g. Tile, Basin Area, Laminate, Fan |
secondary_sub_category | String | Specific product type within the sub-category. | e.g. Porcelain Tile, Wash Basin, Solid Laminate |
product_name | String | The product's display name. Keep it clear and descriptive. | e.g. "Alchimia Graphite" |
Use the Category Taxonomy section to find the correct spelling. Use "Walls & Floor" not "Walls and Floor".
Identification & Classification
| Field | Type | Description |
|---|---|---|
product_code | String | Your internal SKU or model number, e.g. "INFB0RX0326". Indexed for fast lookup. |
primary_sku | String | Primary SKU if different from product_code. |
sku_variation | String | Variation identifier for colour/size variants of the same base product. e.g. "1198x1198-Matt" |
collection | String | The collection/range this product belongs to, e.g. "Alchimia". |
tags | Array of Strings | Free-form search tags, e.g. ["vitrified", "large-format", "concrete-look"]. |
Descriptions & Pricing
| Field | Type | Description |
|---|---|---|
tagline_description | String | A short one-line tagline shown on product cards. Keep under 80 characters. |
description | String | Full product description. Plain text. No HTML. 50–300 words recommended. |
price1 | Number | Primary price. A number only — no currency symbols or commas. 850 not "₹850". |
unit1 | String | Unit for price1. Common values below. |
price2 | Number | Secondary price — used for alternate pricing tiers. |
unit2 | String | Unit for price2. |
Common unit values
Specification Fields
These fields describe the physical and technical properties of a product. All are optional strings unless noted. Only fill in fields relevant to your product category — see Specs by Category for guidance.
Appearance
color Stringcolor_for_filter Stringcolor_code Stringfinish Stringpattern Stringshape Stringgrain_type StringPhysical
size Stringthickness Stringmaterial Stringmarble_type Stringstone_type Stringwood_species Stringinstallation_type StringLighting / Electrical
wattage Stringtemperature Stringbeam_angle Stringvoltage Numberpower_consumption Numberillumination StringSanitary-specific
faucet_type Stringcock_type Stringrim_type Stringthermostatic Booleanshower_function Stringno_of_outlets Numberwater_saving StringFan / Electrical
sweep_size Stringnumber_of_blades Numberfan_speed Numberair_delivery Numberspeed_levels Numbercontrol_method StringFabrics / Soft Furnishings
martindale Numberpile_height Stringroll_size Stringcurtain_width Stringpasting Stringnrc_value NumberPaint
paint_type Stringcolor_type StringHardware / Security
lock_type Stringdoor_thickness Stringdoor_control_system_type Stringcamera_features Stringactuation_type StringTechnical Documents
hd_textures_pdf String (URL)specs_sheet String (URL)installation_guide String (URL)special_features StringProduct Images
Images are stored as an array of URL strings. All images must be hosted on DigitalOcean Spaces or another publicly accessible CDN before being added to Materialogue.
| Field | Type | Description |
|---|---|---|
images | Array of Strings | Array of image URLs. First image is the primary/thumbnail. Minimum 1 image recommended. |
"images": [ "https://materialogue.blr1.cdn.digitaloceanspaces.com/Images/Simpolo/alchimia-graphite-main.jpg", "https://materialogue.blr1.cdn.digitaloceanspaces.com/Images/Simpolo/alchimia-graphite-r1.jpg" ]
Category Taxonomy — Walls & Floor
Use the exact strings below for category, primary_sub_category, and secondary_sub_category.
Category Taxonomy — Sanitary
Category Taxonomy — Paints
For paints, secondary_sub_category is the colour family (e.g. "Beige"). The actual shade name goes in product_name.
Category Taxonomy — Surfaces
Category Taxonomy — Fabrics
Category Taxonomy — Lights
Category Taxonomy — Electricals
Category Taxonomy — Hardware
Recommended Specs by Category
These are the fields shown on Materialogue's Selection Sheet and Order Sheet exports. Fill in the relevant fields for accurate export output.
| Category | Sub-Category | Spec 1 | Spec 2 |
|---|---|---|---|
| Walls & Floor | Tile | size | finish |
| Walls & Floor | Marble | collection | thickness |
| Walls & Floor | Natural Stone | collection | thickness |
| Walls & Floor | Engineered Stone | size | thickness |
| Walls & Floor | Wood Flooring | size | thickness |
| Walls & Floor | Carpet | size | thickness |
| Sanitary | Toilet Area | color | finish |
| Sanitary | Basin Area | color | finish |
| Sanitary | Shower Area | color | finish |
| Sanitary | Wellness | size | finish |
| Sanitary | Accessories | color | finish |
| Surfaces | Veneer | size | finish |
| Surfaces | Laminate | size | finish |
| Surfaces | Panel | size | pattern |
| Surfaces | Rattan / Cane | size | pattern |
| Surfaces | Wallpaper | pattern | roll_size |
| Paints | Indoor Paint | paint_type | collection |
| Paints | Exterior Paint | paint_type | collection |
| Paints | Wood Coating | finish | collection |
| Fabrics | Curtain | collection | material |
| Fabrics | Upholstery | collection | material |
| Fabrics | Sheer | collection | material |
| Lights | Architectural Light | color | temperature |
| Lights | Decorative Light | size | material |
| All others | — | First 2 non-empty from: material, color, finish, size, thickness, wattage, pattern, shape, temperature | |
Image Guidelines
Images referenced in the API must be publicly accessible URLs. They can be hosted anywhere — on your own CDN, your website, or uploaded to Materialogue's DigitalOcean Spaces (see the Image Upload tab for details).
| Image type | Recommended size | Format | Notes |
|---|---|---|---|
| Brand logo | Any (vector preferred) | SVG or PNG (transparent bg) | Used in headers and brand listings |
| Brand hero banner | Min 1400 × 600px | JPG or WebP | Landscape. Full-width banner on brand page. |
| Collection cover | 600 × 600px or 600 × 800px | JPG or WebP | Square or portrait. Used as collection tile. |
| Product image | Min 800 × 800px | JPG, PNG, or WebP | Square recommended. White or neutral background for first image. |
CDN URL format
If your images are hosted on Materialogue's DigitalOcean Spaces, the CDN URL follows this structure:
https://materialogue.blr1.cdn.digitaloceanspaces.com/[folder-path]/[filename]
Where:
[folder-path] — the folder within the bucket for your brand (provided by Materialogue)
[filename] — the uploaded file name including extension (e.g. logo.png, hero-1.jpg)
Examples by image type:
brands/[brand-name]/logo.png → Brand logo brands/[brand-name]/hero-1.jpg → Hero banner brands/[brand-name]/collections/[collection].jpg → Collection cover brands/[brand-name]/products/[sku-code].jpg → Product image
Contact the Materialogue team to get upload access to DigitalOcean Spaces for your brand folder.