{
    "openapi": "3.1.0",
    "info": {
        "title": "Tianci Hongye Product Hub API",
        "version": "1.2.0",
        "description": "Read-only product data of Jiangmen Tianci Hongye Technology Co., Ltd. (WITMIRROR). Specifications are authoritative; do not alter them when creating listings. Bilingual fields use {zh, en}."
    },
    "servers": [
        {
            "url": "https://tcpr.tcled88.com"
        }
    ],
    "paths": {
        "/api/v1/products": {
            "get": {
                "operationId": "listProducts",
                "summary": "List or search products",
                "parameters": [
                    {
                        "name": "category",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "desktop",
                                "wall",
                                "vanity",
                                "bathroom",
                                "full-length",
                                "handheld",
                                "cabinet",
                                "makeup-bag"
                            ]
                        }
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "description": "Model number or keyword",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "new",
                        "in": "query",
                        "description": "1 = new arrivals only",
                        "schema": {
                            "type": "integer",
                            "enum": [
                                0,
                                1
                            ]
                        }
                    },
                    {
                        "name": "since",
                        "in": "query",
                        "description": "YYYY-MM-DD, products updated on or after",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "lang",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "zh",
                                "en"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Product index; read each item's \"api\" URL for full details"
                    }
                }
            }
        },
        "/api/v1/products/{id}": {
            "get": {
                "operationId": "getProduct",
                "summary": "Full data of one product (specs, packaging, images, FAQ)",
                "parameters": [
                    {
                        "name": "id",
                        "in": "path",
                        "required": true,
                        "description": "Product id or model number, e.g. TCMM-R",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "lang",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "zh",
                                "en"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Product"
                    },
                    "404": {
                        "description": "Not found"
                    }
                }
            }
        },
        "/api/v1/categories": {
            "get": {
                "operationId": "listCategories",
                "summary": "Product categories",
                "responses": {
                    "200": {
                        "description": "Categories"
                    }
                }
            }
        },
        "/api/v1/company": {
            "get": {
                "operationId": "getCompany",
                "summary": "Full company profile: identity, key facts, history, brands, product lines, factory, R&D, quality and certifications, OEM/ODM terms, customers, FAQ, standard descriptions, media and sales contact",
                "parameters": [
                    {
                        "name": "lang",
                        "in": "query",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "zh",
                                "en"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Company"
                    }
                }
            }
        },
        "/api/v1/company/media": {
            "get": {
                "operationId": "listCompanyMedia",
                "summary": "Company photos (factory, production, QC, packing, showroom, certificates) and logos with captions",
                "responses": {
                    "200": {
                        "description": "Media list"
                    }
                }
            }
        },
        "/api/v1/guide": {
            "get": {
                "operationId": "getListingGuide",
                "summary": "Rules for creating marketplace listings from this data",
                "responses": {
                    "200": {
                        "description": "Guide"
                    }
                }
            }
        },
        "/api/v1/changes": {
            "get": {
                "operationId": "listChanges",
                "summary": "Products added or updated since a date",
                "parameters": [
                    {
                        "name": "since",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Changed products"
                    }
                }
            }
        }
    }
}