Server definition
- Hash
- sha256:558cf42f5ac362d13a426e470cd0a851319551833c0fe302e9a10145e1448518
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Use when Amazon or another marketplace requests compliance files or suspends a listing pending documents. Returns the product/market evidence checklist, evidence held and gaps immediately; no case or follow-up required.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"accessible_small_parts": {
"description": "Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.",
"type": "boolean"
},
"age_group": {
"description": "Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.",
"enum": [
"under_3",
"3_to_13",
"14_plus",
"unknown"
],
"type": "string"
},
"applicable_modules": {
"description": "Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.",
"items": {
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"maxItems": 4,
"type": "array"
},
"battery_type": {
"description": "Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.",
"enum": [
"button_coin",
"lithium_ion",
"other",
"none",
"unknown"
],
"type": "string"
},
"case_id": {
"description": "The case this call continues, from an earlier result. Omit to start a new product case.",
"pattern": "^ccase_[a-f0-9]{24}$",
"type": "string"
},
"category": {
"description": "Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.",
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"eu_destination": {
"description": "Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU.",
"enum": [
"DE",
"other_eu",
"unknown"
],
"type": "string"
},
"evidence_held": {
"default": [],
"description": "Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.",
"items": {
"enum": [
"ce_declaration",
"ce_label_artwork",
"rohs_evidence",
"radio_test_report",
"un38_3_test_summary",
"battery_label_artwork",
"eu_economic_operator",
"weee_registration",
"battery_epr_registration",
"fcc_authorization",
"fcc_sdoc",
"fcc_label_artwork",
"us_responsible_party",
"lithium_shipping_marks",
"prop65_assessment",
"marketplace_safety_report",
"ukca_or_ce_mark",
"uk_rohs_evidence",
"uk_radio_compliance",
"uk_importer_details",
"uk_weee_registration",
"uk_battery_epr_registration",
"uk_un38_3_test_summary",
"uk_marketplace_safety_report",
"au_rcm_supplier_declaration",
"au_radio_compliance",
"au_eess_supplier_evidence",
"au_importer_supplier_details",
"au_battery_shipping_evidence",
"au_marketplace_safety_report",
"toy_safety_assessment",
"en71_mechanical_report",
"en71_chemical_report",
"electrical_toy_report",
"battery_compartment_assessment",
"choking_risk_assessment",
"age_grading_rationale",
"toy_warning_artwork",
"german_warning_copy",
"marketplace_toy_evidence_package",
"toy_third_party_test_report",
"toy_cpc_certificate",
"toy_retesting_plan",
"toy_cbp_efiling_evidence",
"toy_tracking_label_artwork",
"toy_small_parts_warning_artwork",
"uk_toy_declaration",
"uk_en71_report",
"uk_toy_marking",
"uk_toy_importer_details",
"uk_toy_radio_compliance",
"uk_toy_battery_evidence",
"uk_toy_warning_artwork",
"uk_toy_retesting_plan",
"uk_toy_marketplace_evidence_package",
"au_toy_safety_report",
"au_toy_supplier_declaration",
"au_toy_warning_artwork",
"au_toy_importer_details",
"au_toy_radio_compliance",
"au_toy_battery_evidence",
"au_toy_retesting_plan",
"au_toy_marketplace_evidence_package",
"cosmetic_formula_review",
"cosmetic_safety_report",
"cosmetic_pif",
"cosmetic_cpn_notification",
"cosmetic_label_artwork",
"cosmetic_responsible_person",
"cosmetic_claim_substantiation",
"cosmetic_facility_registration",
"cosmetic_adverse_event_process",
"cosmetic_notification",
"food_contact_material_spec",
"food_contact_use_conditions_spec",
"food_contact_migration_report",
"food_contact_plastic_oml_sml_report",
"food_contact_ceramic_glass_release_report",
"food_contact_paper_board_component_review",
"food_contact_coating_adhesive_ink_review",
"food_contact_metal_release_review",
"food_contact_hot_use_protocol",
"food_contact_repeated_use_simulation",
"food_contact_doc",
"food_contact_traceability",
"food_contact_label_artwork",
"food_contact_polymer_resin_clearance",
"food_contact_fda_status",
"food_contact_supplier_declaration",
"food_contact_california_prop65_screen"
],
"type": "string"
},
"maxItems": 90,
"type": "array"
},
"evidence_inventory_complete": {
"default": false,
"description": "True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.",
"type": "boolean"
},
"has_battery": {
"description": "Whether the product contains or ships with any battery, including a coin cell in a remote.",
"type": "boolean"
},
"has_radio": {
"description": "Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.",
"type": "boolean"
},
"includes_mains_charger": {
"description": "Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.",
"type": "boolean"
},
"is_childrens_product": {
"description": "Whether the product is marketed as a children's product; keep unknown when not established.",
"type": "boolean"
},
"language": {
"default": "zh",
"description": "Language for seller-facing text. Questions and messages come back in it; en or zh.",
"enum": [
"zh",
"en",
"English",
"english",
"Chinese",
"chinese",
"中文",
"英文"
],
"type": "string"
},
"markets": {
"description": "Optional destination-market hints. Omit when product_description names the destination.",
"items": {
"enum": [
"EU",
"US",
"UK",
"AU"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"type": "array"
},
"product_description": {
"description": "Preferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.",
"maxLength": 6000,
"minLength": 10,
"type": "string"
},
"product_name": {
"description": "Human-readable product or SKU name",
"maxLength": 160,
"type": "string"
},
"sales_channel": {
"description": "Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"sells_in_california": {
"description": "Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.",
"type": "boolean"
},
"supply_chain_role": {
"description": "The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"verified_only": {
"default": true,
"description": "Exclude decision rules not checked against primary sources",
"type": "boolean"
}
},
"type": "object"
},
"name": "check_amazon_compliance_request",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ok": {
"type": "boolean"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"ok",
"payload"
],
"type": "object"
}
},
{
"description": "Use when a forwarder or carrier queries or refuses a battery shipment. Returns applicable UN 38.3 test-summary requirements, shipping marks and transport evidence gaps for the cell/pack. Answers immediately from declared facts; does not inspect documents.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"applicable_modules": {
"description": "Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.",
"items": {
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"maxItems": 4,
"type": "array"
},
"battery_compartment_security": {
"description": "How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.",
"enum": [
"tool_required",
"two_independent_actions",
"other_secured",
"unsecured",
"unknown"
],
"type": "string"
},
"battery_type": {
"description": "Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.",
"enum": [
"button_coin",
"lithium_ion",
"other",
"none",
"unknown"
],
"type": "string"
},
"case_id": {
"description": "The case this call continues, from an earlier result. Omit to start a new product case.",
"pattern": "^ccase_[a-f0-9]{24}$",
"type": "string"
},
"category": {
"description": "Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.",
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"evidence_held": {
"default": [],
"description": "Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.",
"items": {
"enum": [
"ce_declaration",
"ce_label_artwork",
"rohs_evidence",
"radio_test_report",
"un38_3_test_summary",
"battery_label_artwork",
"eu_economic_operator",
"weee_registration",
"battery_epr_registration",
"fcc_authorization",
"fcc_sdoc",
"fcc_label_artwork",
"us_responsible_party",
"lithium_shipping_marks",
"prop65_assessment",
"marketplace_safety_report",
"ukca_or_ce_mark",
"uk_rohs_evidence",
"uk_radio_compliance",
"uk_importer_details",
"uk_weee_registration",
"uk_battery_epr_registration",
"uk_un38_3_test_summary",
"uk_marketplace_safety_report",
"au_rcm_supplier_declaration",
"au_radio_compliance",
"au_eess_supplier_evidence",
"au_importer_supplier_details",
"au_battery_shipping_evidence",
"au_marketplace_safety_report",
"toy_safety_assessment",
"en71_mechanical_report",
"en71_chemical_report",
"electrical_toy_report",
"battery_compartment_assessment",
"choking_risk_assessment",
"age_grading_rationale",
"toy_warning_artwork",
"german_warning_copy",
"marketplace_toy_evidence_package",
"toy_third_party_test_report",
"toy_cpc_certificate",
"toy_retesting_plan",
"toy_cbp_efiling_evidence",
"toy_tracking_label_artwork",
"toy_small_parts_warning_artwork",
"uk_toy_declaration",
"uk_en71_report",
"uk_toy_marking",
"uk_toy_importer_details",
"uk_toy_radio_compliance",
"uk_toy_battery_evidence",
"uk_toy_warning_artwork",
"uk_toy_retesting_plan",
"uk_toy_marketplace_evidence_package",
"au_toy_safety_report",
"au_toy_supplier_declaration",
"au_toy_warning_artwork",
"au_toy_importer_details",
"au_toy_radio_compliance",
"au_toy_battery_evidence",
"au_toy_retesting_plan",
"au_toy_marketplace_evidence_package",
"cosmetic_formula_review",
"cosmetic_safety_report",
"cosmetic_pif",
"cosmetic_cpn_notification",
"cosmetic_label_artwork",
"cosmetic_responsible_person",
"cosmetic_claim_substantiation",
"cosmetic_facility_registration",
"cosmetic_adverse_event_process",
"cosmetic_notification",
"food_contact_material_spec",
"food_contact_use_conditions_spec",
"food_contact_migration_report",
"food_contact_plastic_oml_sml_report",
"food_contact_ceramic_glass_release_report",
"food_contact_paper_board_component_review",
"food_contact_coating_adhesive_ink_review",
"food_contact_metal_release_review",
"food_contact_hot_use_protocol",
"food_contact_repeated_use_simulation",
"food_contact_doc",
"food_contact_traceability",
"food_contact_label_artwork",
"food_contact_polymer_resin_clearance",
"food_contact_fda_status",
"food_contact_supplier_declaration",
"food_contact_california_prop65_screen"
],
"type": "string"
},
"maxItems": 90,
"type": "array"
},
"evidence_inventory_complete": {
"default": false,
"description": "True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.",
"type": "boolean"
},
"has_battery": {
"description": "Whether the product contains or ships with any battery, including a coin cell in a remote.",
"type": "boolean"
},
"includes_mains_charger": {
"description": "Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.",
"type": "boolean"
},
"language": {
"default": "zh",
"description": "Language for seller-facing text. Questions and messages come back in it; en or zh.",
"enum": [
"zh",
"en",
"English",
"english",
"Chinese",
"chinese",
"中文",
"英文"
],
"type": "string"
},
"markets": {
"description": "Optional destination-market hints. Omit when product_description names the destination.",
"items": {
"enum": [
"EU",
"US",
"UK",
"AU"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"type": "array"
},
"product_description": {
"description": "Preferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.",
"maxLength": 6000,
"minLength": 10,
"type": "string"
},
"product_name": {
"description": "Human-readable product or SKU name",
"maxLength": 160,
"type": "string"
},
"sales_channel": {
"description": "Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"supply_chain_role": {
"description": "The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"verified_only": {
"default": true,
"description": "Exclude decision rules not checked against primary sources",
"type": "boolean"
}
},
"type": "object"
},
"name": "check_battery_transport_documents",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ok": {
"type": "boolean"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"ok",
"payload"
],
"type": "object"
}
},
{
"description": "Use when a buyer, customs or distributor requests an EU Declaration of Conformity. Returns applicable legislation, standards, evidence gaps and fields needing confirmation immediately. Does not issue or sign a declaration.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"age_group": {
"description": "Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.",
"enum": [
"under_3",
"3_to_13",
"14_plus",
"unknown"
],
"type": "string"
},
"applicable_modules": {
"description": "Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.",
"items": {
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"maxItems": 4,
"type": "array"
},
"battery_type": {
"description": "Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.",
"enum": [
"button_coin",
"lithium_ion",
"other",
"none",
"unknown"
],
"type": "string"
},
"case_id": {
"description": "The case this call continues, from an earlier result. Omit to start a new product case.",
"pattern": "^ccase_[a-f0-9]{24}$",
"type": "string"
},
"category": {
"description": "Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.",
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"eu_destination": {
"description": "Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU.",
"enum": [
"DE",
"other_eu",
"unknown"
],
"type": "string"
},
"evidence_held": {
"default": [],
"description": "Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.",
"items": {
"enum": [
"ce_declaration",
"ce_label_artwork",
"rohs_evidence",
"radio_test_report",
"un38_3_test_summary",
"battery_label_artwork",
"eu_economic_operator",
"weee_registration",
"battery_epr_registration",
"fcc_authorization",
"fcc_sdoc",
"fcc_label_artwork",
"us_responsible_party",
"lithium_shipping_marks",
"prop65_assessment",
"marketplace_safety_report",
"ukca_or_ce_mark",
"uk_rohs_evidence",
"uk_radio_compliance",
"uk_importer_details",
"uk_weee_registration",
"uk_battery_epr_registration",
"uk_un38_3_test_summary",
"uk_marketplace_safety_report",
"au_rcm_supplier_declaration",
"au_radio_compliance",
"au_eess_supplier_evidence",
"au_importer_supplier_details",
"au_battery_shipping_evidence",
"au_marketplace_safety_report",
"toy_safety_assessment",
"en71_mechanical_report",
"en71_chemical_report",
"electrical_toy_report",
"battery_compartment_assessment",
"choking_risk_assessment",
"age_grading_rationale",
"toy_warning_artwork",
"german_warning_copy",
"marketplace_toy_evidence_package",
"toy_third_party_test_report",
"toy_cpc_certificate",
"toy_retesting_plan",
"toy_cbp_efiling_evidence",
"toy_tracking_label_artwork",
"toy_small_parts_warning_artwork",
"uk_toy_declaration",
"uk_en71_report",
"uk_toy_marking",
"uk_toy_importer_details",
"uk_toy_radio_compliance",
"uk_toy_battery_evidence",
"uk_toy_warning_artwork",
"uk_toy_retesting_plan",
"uk_toy_marketplace_evidence_package",
"au_toy_safety_report",
"au_toy_supplier_declaration",
"au_toy_warning_artwork",
"au_toy_importer_details",
"au_toy_radio_compliance",
"au_toy_battery_evidence",
"au_toy_retesting_plan",
"au_toy_marketplace_evidence_package",
"cosmetic_formula_review",
"cosmetic_safety_report",
"cosmetic_pif",
"cosmetic_cpn_notification",
"cosmetic_label_artwork",
"cosmetic_responsible_person",
"cosmetic_claim_substantiation",
"cosmetic_facility_registration",
"cosmetic_adverse_event_process",
"cosmetic_notification",
"food_contact_material_spec",
"food_contact_use_conditions_spec",
"food_contact_migration_report",
"food_contact_plastic_oml_sml_report",
"food_contact_ceramic_glass_release_report",
"food_contact_paper_board_component_review",
"food_contact_coating_adhesive_ink_review",
"food_contact_metal_release_review",
"food_contact_hot_use_protocol",
"food_contact_repeated_use_simulation",
"food_contact_doc",
"food_contact_traceability",
"food_contact_label_artwork",
"food_contact_polymer_resin_clearance",
"food_contact_fda_status",
"food_contact_supplier_declaration",
"food_contact_california_prop65_screen"
],
"type": "string"
},
"maxItems": 90,
"type": "array"
},
"evidence_inventory_complete": {
"default": false,
"description": "True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.",
"type": "boolean"
},
"food_contact_material": {
"description": "The material that touches food. Migration limits and test methods differ by material.",
"enum": [
"plastic",
"metal",
"ceramic_glass",
"paper_board",
"silicone_rubber",
"multi_material",
"unknown"
],
"type": "string"
},
"has_battery": {
"description": "Whether the product contains or ships with any battery, including a coin cell in a remote.",
"type": "boolean"
},
"has_radio": {
"description": "Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.",
"type": "boolean"
},
"includes_mains_charger": {
"description": "Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.",
"type": "boolean"
},
"is_childrens_product": {
"description": "Whether the product is marketed as a children's product; keep unknown when not established.",
"type": "boolean"
},
"is_electrically_operated": {
"description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
"type": "boolean"
},
"language": {
"default": "zh",
"description": "Language for seller-facing text. Questions and messages come back in it; en or zh.",
"enum": [
"zh",
"en",
"English",
"english",
"Chinese",
"chinese",
"中文",
"英文"
],
"type": "string"
},
"markets": {
"description": "Optional destination-market hints. Omit when product_description names the destination.",
"items": {
"enum": [
"EU",
"US",
"UK",
"AU"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"type": "array"
},
"product_description": {
"description": "Preferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.",
"maxLength": 6000,
"minLength": 10,
"type": "string"
},
"product_name": {
"description": "Human-readable product or SKU name",
"maxLength": 160,
"type": "string"
},
"sales_channel": {
"description": "Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"supply_chain_role": {
"description": "The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"verified_only": {
"default": true,
"description": "Exclude decision rules not checked against primary sources",
"type": "boolean"
}
},
"type": "object"
},
"name": "check_eu_declaration_basis",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ok": {
"type": "boolean"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"ok",
"payload"
],
"type": "object"
}
},
{
"description": "Use when checking labels, artwork or packaging. Returns destination-market marks, warning language, responsible-entity details and evidence gaps from declared product facts. Answers immediately; does not inspect artwork.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"accessible_small_parts": {
"description": "Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.",
"type": "boolean"
},
"age_group": {
"description": "Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.",
"enum": [
"under_3",
"3_to_13",
"14_plus",
"unknown"
],
"type": "string"
},
"applicable_modules": {
"description": "Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.",
"items": {
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"maxItems": 4,
"type": "array"
},
"battery_compartment_security": {
"description": "How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.",
"enum": [
"tool_required",
"two_independent_actions",
"other_secured",
"unsecured",
"unknown"
],
"type": "string"
},
"battery_type": {
"description": "Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.",
"enum": [
"button_coin",
"lithium_ion",
"other",
"none",
"unknown"
],
"type": "string"
},
"case_id": {
"description": "The case this call continues, from an earlier result. Omit to start a new product case.",
"pattern": "^ccase_[a-f0-9]{24}$",
"type": "string"
},
"category": {
"description": "Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.",
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"eu_destination": {
"description": "Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU.",
"enum": [
"DE",
"other_eu",
"unknown"
],
"type": "string"
},
"evidence_held": {
"default": [],
"description": "Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.",
"items": {
"enum": [
"ce_declaration",
"ce_label_artwork",
"rohs_evidence",
"radio_test_report",
"un38_3_test_summary",
"battery_label_artwork",
"eu_economic_operator",
"weee_registration",
"battery_epr_registration",
"fcc_authorization",
"fcc_sdoc",
"fcc_label_artwork",
"us_responsible_party",
"lithium_shipping_marks",
"prop65_assessment",
"marketplace_safety_report",
"ukca_or_ce_mark",
"uk_rohs_evidence",
"uk_radio_compliance",
"uk_importer_details",
"uk_weee_registration",
"uk_battery_epr_registration",
"uk_un38_3_test_summary",
"uk_marketplace_safety_report",
"au_rcm_supplier_declaration",
"au_radio_compliance",
"au_eess_supplier_evidence",
"au_importer_supplier_details",
"au_battery_shipping_evidence",
"au_marketplace_safety_report",
"toy_safety_assessment",
"en71_mechanical_report",
"en71_chemical_report",
"electrical_toy_report",
"battery_compartment_assessment",
"choking_risk_assessment",
"age_grading_rationale",
"toy_warning_artwork",
"german_warning_copy",
"marketplace_toy_evidence_package",
"toy_third_party_test_report",
"toy_cpc_certificate",
"toy_retesting_plan",
"toy_cbp_efiling_evidence",
"toy_tracking_label_artwork",
"toy_small_parts_warning_artwork",
"uk_toy_declaration",
"uk_en71_report",
"uk_toy_marking",
"uk_toy_importer_details",
"uk_toy_radio_compliance",
"uk_toy_battery_evidence",
"uk_toy_warning_artwork",
"uk_toy_retesting_plan",
"uk_toy_marketplace_evidence_package",
"au_toy_safety_report",
"au_toy_supplier_declaration",
"au_toy_warning_artwork",
"au_toy_importer_details",
"au_toy_radio_compliance",
"au_toy_battery_evidence",
"au_toy_retesting_plan",
"au_toy_marketplace_evidence_package",
"cosmetic_formula_review",
"cosmetic_safety_report",
"cosmetic_pif",
"cosmetic_cpn_notification",
"cosmetic_label_artwork",
"cosmetic_responsible_person",
"cosmetic_claim_substantiation",
"cosmetic_facility_registration",
"cosmetic_adverse_event_process",
"cosmetic_notification",
"food_contact_material_spec",
"food_contact_use_conditions_spec",
"food_contact_migration_report",
"food_contact_plastic_oml_sml_report",
"food_contact_ceramic_glass_release_report",
"food_contact_paper_board_component_review",
"food_contact_coating_adhesive_ink_review",
"food_contact_metal_release_review",
"food_contact_hot_use_protocol",
"food_contact_repeated_use_simulation",
"food_contact_doc",
"food_contact_traceability",
"food_contact_label_artwork",
"food_contact_polymer_resin_clearance",
"food_contact_fda_status",
"food_contact_supplier_declaration",
"food_contact_california_prop65_screen"
],
"type": "string"
},
"maxItems": 90,
"type": "array"
},
"evidence_inventory_complete": {
"default": false,
"description": "True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.",
"type": "boolean"
},
"food_contact_material": {
"description": "The material that touches food. Migration limits and test methods differ by material.",
"enum": [
"plastic",
"metal",
"ceramic_glass",
"paper_board",
"silicone_rubber",
"multi_material",
"unknown"
],
"type": "string"
},
"has_battery": {
"description": "Whether the product contains or ships with any battery, including a coin cell in a remote.",
"type": "boolean"
},
"has_radio": {
"description": "Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.",
"type": "boolean"
},
"is_childrens_product": {
"description": "Whether the product is marketed as a children's product; keep unknown when not established.",
"type": "boolean"
},
"language": {
"default": "zh",
"description": "Language for seller-facing text. Questions and messages come back in it; en or zh.",
"enum": [
"zh",
"en",
"English",
"english",
"Chinese",
"chinese",
"中文",
"英文"
],
"type": "string"
},
"markets": {
"description": "Optional destination-market hints. Omit when product_description names the destination.",
"items": {
"enum": [
"EU",
"US",
"UK",
"AU"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"type": "array"
},
"product_description": {
"description": "Preferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.",
"maxLength": 6000,
"minLength": 10,
"type": "string"
},
"product_name": {
"description": "Human-readable product or SKU name",
"maxLength": 160,
"type": "string"
},
"sales_channel": {
"description": "Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"sells_in_california": {
"description": "Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.",
"type": "boolean"
},
"supply_chain_role": {
"description": "The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"verified_only": {
"default": true,
"description": "Exclude decision rules not checked against primary sources",
"type": "boolean"
}
},
"type": "object"
},
"name": "check_label_and_packaging",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ok": {
"type": "boolean"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"ok",
"payload"
],
"type": "object"
}
},
{
"description": "Use when a US importer or broker requests CPC/GCC certification, FCC SDoC or entry-filing data. Returns applicable certificate requirements, supporting evidence and responsible-party details immediately; does not issue certificates.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"accessible_small_parts": {
"description": "Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.",
"type": "boolean"
},
"age_group": {
"description": "Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.",
"enum": [
"under_3",
"3_to_13",
"14_plus",
"unknown"
],
"type": "string"
},
"applicable_modules": {
"description": "Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.",
"items": {
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"maxItems": 4,
"type": "array"
},
"battery_type": {
"description": "Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.",
"enum": [
"button_coin",
"lithium_ion",
"other",
"none",
"unknown"
],
"type": "string"
},
"case_id": {
"description": "The case this call continues, from an earlier result. Omit to start a new product case.",
"pattern": "^ccase_[a-f0-9]{24}$",
"type": "string"
},
"category": {
"description": "Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.",
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"evidence_held": {
"default": [],
"description": "Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.",
"items": {
"enum": [
"ce_declaration",
"ce_label_artwork",
"rohs_evidence",
"radio_test_report",
"un38_3_test_summary",
"battery_label_artwork",
"eu_economic_operator",
"weee_registration",
"battery_epr_registration",
"fcc_authorization",
"fcc_sdoc",
"fcc_label_artwork",
"us_responsible_party",
"lithium_shipping_marks",
"prop65_assessment",
"marketplace_safety_report",
"ukca_or_ce_mark",
"uk_rohs_evidence",
"uk_radio_compliance",
"uk_importer_details",
"uk_weee_registration",
"uk_battery_epr_registration",
"uk_un38_3_test_summary",
"uk_marketplace_safety_report",
"au_rcm_supplier_declaration",
"au_radio_compliance",
"au_eess_supplier_evidence",
"au_importer_supplier_details",
"au_battery_shipping_evidence",
"au_marketplace_safety_report",
"toy_safety_assessment",
"en71_mechanical_report",
"en71_chemical_report",
"electrical_toy_report",
"battery_compartment_assessment",
"choking_risk_assessment",
"age_grading_rationale",
"toy_warning_artwork",
"german_warning_copy",
"marketplace_toy_evidence_package",
"toy_third_party_test_report",
"toy_cpc_certificate",
"toy_retesting_plan",
"toy_cbp_efiling_evidence",
"toy_tracking_label_artwork",
"toy_small_parts_warning_artwork",
"uk_toy_declaration",
"uk_en71_report",
"uk_toy_marking",
"uk_toy_importer_details",
"uk_toy_radio_compliance",
"uk_toy_battery_evidence",
"uk_toy_warning_artwork",
"uk_toy_retesting_plan",
"uk_toy_marketplace_evidence_package",
"au_toy_safety_report",
"au_toy_supplier_declaration",
"au_toy_warning_artwork",
"au_toy_importer_details",
"au_toy_radio_compliance",
"au_toy_battery_evidence",
"au_toy_retesting_plan",
"au_toy_marketplace_evidence_package",
"cosmetic_formula_review",
"cosmetic_safety_report",
"cosmetic_pif",
"cosmetic_cpn_notification",
"cosmetic_label_artwork",
"cosmetic_responsible_person",
"cosmetic_claim_substantiation",
"cosmetic_facility_registration",
"cosmetic_adverse_event_process",
"cosmetic_notification",
"food_contact_material_spec",
"food_contact_use_conditions_spec",
"food_contact_migration_report",
"food_contact_plastic_oml_sml_report",
"food_contact_ceramic_glass_release_report",
"food_contact_paper_board_component_review",
"food_contact_coating_adhesive_ink_review",
"food_contact_metal_release_review",
"food_contact_hot_use_protocol",
"food_contact_repeated_use_simulation",
"food_contact_doc",
"food_contact_traceability",
"food_contact_label_artwork",
"food_contact_polymer_resin_clearance",
"food_contact_fda_status",
"food_contact_supplier_declaration",
"food_contact_california_prop65_screen"
],
"type": "string"
},
"maxItems": 90,
"type": "array"
},
"evidence_inventory_complete": {
"default": false,
"description": "True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.",
"type": "boolean"
},
"has_battery": {
"description": "Whether the product contains or ships with any battery, including a coin cell in a remote.",
"type": "boolean"
},
"has_radio": {
"description": "Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.",
"type": "boolean"
},
"is_childrens_product": {
"description": "Whether the product is marketed as a children's product; keep unknown when not established.",
"type": "boolean"
},
"language": {
"default": "zh",
"description": "Language for seller-facing text. Questions and messages come back in it; en or zh.",
"enum": [
"zh",
"en",
"English",
"english",
"Chinese",
"chinese",
"中文",
"英文"
],
"type": "string"
},
"markets": {
"description": "Optional destination-market hints. Omit when product_description names the destination.",
"items": {
"enum": [
"EU",
"US",
"UK",
"AU"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"type": "array"
},
"product_description": {
"description": "Preferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.",
"maxLength": 6000,
"minLength": 10,
"type": "string"
},
"product_name": {
"description": "Human-readable product or SKU name",
"maxLength": 160,
"type": "string"
},
"sales_channel": {
"description": "Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"sells_in_california": {
"description": "Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.",
"type": "boolean"
},
"supply_chain_role": {
"description": "The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"toy_chemical_assessment_complete": {
"description": "Whether a chemical safety assessment covering migration limits has already been completed for this toy.",
"type": "boolean"
},
"verified_only": {
"default": true,
"description": "Exclude decision rules not checked against primary sources",
"type": "boolean"
}
},
"type": "object"
},
"name": "check_us_import_certification",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ok": {
"type": "boolean"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"ok",
"payload"
],
"type": "object"
}
},
{
"description": "Compare requirements for a product across 2-4 of EU, UK, US and Australia. Answers immediately: no case, no account, no follow-up. Send category, markets and known facts. Missing facts produce optional refinements; do not ask or rerun automatically.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"accessible_small_parts": {
"description": "Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.",
"type": "boolean"
},
"age_group": {
"description": "Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.",
"enum": [
"under_3",
"3_to_13",
"14_plus",
"not_applicable",
"unknown"
],
"type": "string"
},
"battery_compartment_security": {
"description": "How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.",
"enum": [
"tool_required",
"two_independent_actions",
"other_secured",
"unsecured",
"unknown"
],
"type": "string"
},
"battery_type": {
"description": "Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.",
"enum": [
"button_coin",
"lithium_ion",
"other",
"none",
"unknown"
],
"type": "string"
},
"case_id": {
"description": "The case this call continues, from an earlier result. Omit to start a new product case.",
"pattern": "^ccase_[a-f0-9]{24}$",
"type": "string"
},
"category": {
"description": "Product category",
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"claims_therapeutic": {
"description": "Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime.",
"type": "boolean"
},
"contact_duration": {
"description": "How long the product touches food in normal use. Long-term contact triggers stricter migration testing.",
"maxLength": 80,
"type": "string"
},
"contact_temperature": {
"description": "The temperature at contact. Hot fill and cooking raise migration limits and change the test.",
"maxLength": 80,
"type": "string"
},
"eu_destination": {
"description": "Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU.",
"enum": [
"DE",
"other_eu",
"unknown"
],
"type": "string"
},
"food_contact_material": {
"description": "The material that touches food. Migration limits and test methods differ by material.",
"maxLength": 120,
"type": "string"
},
"food_type": {
"description": "The food the product will contact. Simulant selection for migration testing depends on it.",
"maxLength": 80,
"type": "string"
},
"has_battery": {
"description": "Whether the product contains or ships with any battery, including a coin cell in a remote.",
"type": "boolean"
},
"has_radio": {
"description": "Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.",
"type": "boolean"
},
"includes_mains_charger": {
"description": "Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.",
"type": "boolean"
},
"ingredients_reviewed": {
"description": "Whether the full ingredient list has already been checked against restricted-substance annexes.",
"type": "boolean"
},
"is_childrens_product": {
"description": "Whether the product is marketed as a children's product; keep unknown when not established.",
"type": "boolean"
},
"is_electrically_operated": {
"description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
"type": "boolean"
},
"is_sunscreen": {
"description": "Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties.",
"type": "boolean"
},
"language": {
"default": "zh",
"description": "Response language. Defaults to Chinese.",
"enum": [
"zh",
"en"
],
"type": "string"
},
"markets": {
"items": {
"enum": [
"EU",
"US",
"UK",
"AU"
],
"type": "string"
},
"maxItems": 4,
"minItems": 2,
"type": "array"
},
"repeated_use": {
"description": "Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles.",
"enum": [
"single_use",
"repeated_use",
"unknown"
],
"type": "string"
},
"supply_chain_role": {
"description": "The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"toy_chemical_assessment_complete": {
"description": "Whether a chemical safety assessment covering migration limits has already been completed for this toy.",
"type": "boolean"
},
"verified_only": {
"description": "Exclude rules not yet checked against primary sources. Default false: unverified material is included but labelled via review_status and the trust envelope.",
"type": "boolean"
}
},
"required": [
"category",
"markets"
],
"type": "object"
},
"name": "compare_market_requirements",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ok": {
"type": "boolean"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"ok",
"payload"
],
"type": "object"
}
},
{
"description": "Get a short scope and human-review service summary. Set detail=full for the coverage matrix, input definitions and methodology; optional, not a prerequisite. Start product cases at Stage 1 with market_access_check.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"detail": {
"default": "summary",
"description": "Full adds per-market coverage, input definitions and methodology.",
"enum": [
"summary",
"full"
],
"type": "string"
},
"language": {
"default": "zh",
"description": "Response language. Defaults to Chinese.",
"enum": [
"zh",
"en"
],
"type": "string"
}
},
"type": "object"
},
"name": "describe_coverage",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ok": {
"type": "boolean"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"ok",
"payload"
],
"type": "object"
}
},
{
"description": "Retrieve the primary sources, verification date and evidence gaps for a claim_id from an earlier result. Copy the exact ID; not a general question-answering tool.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"case_id": {
"description": "Opaque ComplianceCN product-case ID returned by the first successful free workflow call. Carry it unchanged through clarification retries, Stage 2 and human review for the same product/SKU. Never reuse it for another product or SKU.",
"pattern": "^ccase_[a-f0-9]{24}$",
"type": "string"
},
"claim_id": {
"maxLength": 160,
"minLength": 3,
"type": "string"
},
"language": {
"default": "zh",
"description": "Response language. Defaults to Chinese.",
"enum": [
"zh",
"en"
],
"type": "string"
}
},
"required": [
"claim_id"
],
"type": "object"
},
"name": "explain_claim",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ok": {
"type": "boolean"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"ok",
"payload"
],
"type": "object"
}
},
{
"description": "Free, unlimited EU/UK/US/AU product assessments with human review for a signed next-step pack. Send a plain-language `message` in English or Chinese; the first response already contains preliminary requirements. Follow `next_action`: execute it exactly as returned and answer questions by `key`. The first reviewed pack is free per confirmed seller email; further packs are arranged with ComplianceCN. Provide email and consent through this same tool when next_action requests them; no browser form is required. Human review requires email confirmation and reviewer sign-off.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"action": {
"default": "continue",
"description": "Follow the returned next_action. Use correct_stage_2 for seller corrections; confirm_stage_1/correct_stage_1 are legacy aliases.",
"enum": [
"continue",
"start_stage_2",
"confirm_stage_2",
"request_review_email",
"correct_stage_2",
"confirm_stage_1",
"correct_stage_1"
],
"type": "string"
},
"answers": {
"additionalProperties": {
"anyOf": [
{
"maxLength": 6000,
"type": "string"
},
{
"type": "boolean"
},
{
"type": "number"
},
{
"items": {
"maxLength": 240,
"type": "string"
},
"maxItems": 40,
"type": "array"
}
]
},
"description": "Optional structured answers keyed by the stable question.key values returned by the previous call.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"case_id": {
"description": "The case this call continues, from an earlier result. Omit to start a new product case.",
"pattern": "^ccase_[a-f0-9]{24}$",
"type": "string"
},
"consent_to_contact": {
"description": "For request_review_email: true only with the seller's permission to email them about this case. Reuse existing scoped consent; never infer it.",
"type": "boolean"
},
"email": {
"description": "For request_review_email only: the seller's real notification email, used with their permission.",
"maxLength": 320,
"type": "string"
},
"language": {
"description": "Preferred response language; inferred from the seller message when omitted.",
"enum": [
"zh",
"en",
"English",
"english",
"Chinese",
"chinese",
"中文",
"英文"
],
"type": "string"
},
"message": {
"description": "The seller's initial product/market description or their latest natural-language clarification. Do not repeat information already supplied.",
"maxLength": 6000,
"minLength": 1,
"type": "string"
}
},
"type": "object"
},
"name": "market_access_check",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ok": {
"type": "boolean"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"ok",
"payload"
],
"type": "object"
}
},
{
"description": "Check structured product facts, destination markets and evidence held. Returns requirements, an evidence checklist and gaps in one response. For plain-language input use market_access_check. Automated findings are provisional; a signed pack requires human review.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"accessible_small_parts": {
"description": "Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.",
"type": "boolean"
},
"age_group": {
"description": "Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.",
"enum": [
"under_3",
"3_to_13",
"14_plus",
"unknown"
],
"type": "string"
},
"applicable_modules": {
"description": "Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.",
"items": {
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"maxItems": 4,
"type": "array"
},
"battery_compartment_security": {
"description": "How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.",
"enum": [
"tool_required",
"two_independent_actions",
"other_secured",
"unsecured",
"unknown"
],
"type": "string"
},
"battery_type": {
"description": "Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.",
"enum": [
"button_coin",
"lithium_ion",
"other",
"none",
"unknown"
],
"type": "string"
},
"case_id": {
"description": "The case this call continues, from an earlier result. Omit to start a new product case.",
"pattern": "^ccase_[a-f0-9]{24}$",
"type": "string"
},
"category": {
"description": "Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.",
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"claims_therapeutic": {
"description": "Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime.",
"type": "boolean"
},
"clarification_answer": {
"description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
"maxLength": 6000,
"minLength": 1,
"type": "string"
},
"contact_duration": {
"description": "How long the product touches food in normal use. Long-term contact triggers stricter migration testing.",
"enum": [
"short",
"long_term",
"unknown"
],
"type": "string"
},
"contact_temperature": {
"description": "The temperature at contact. Hot fill and cooking raise migration limits and change the test.",
"enum": [
"ambient",
"hot_fill",
"cooking_reheating",
"freezing",
"unknown"
],
"type": "string"
},
"eu_destination": {
"description": "Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU.",
"enum": [
"DE",
"other_eu",
"unknown"
],
"type": "string"
},
"evidence_held": {
"default": [],
"description": "Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.",
"items": {
"enum": [
"ce_declaration",
"ce_label_artwork",
"rohs_evidence",
"radio_test_report",
"un38_3_test_summary",
"battery_label_artwork",
"eu_economic_operator",
"weee_registration",
"battery_epr_registration",
"fcc_authorization",
"fcc_sdoc",
"fcc_label_artwork",
"us_responsible_party",
"lithium_shipping_marks",
"prop65_assessment",
"marketplace_safety_report",
"ukca_or_ce_mark",
"uk_rohs_evidence",
"uk_radio_compliance",
"uk_importer_details",
"uk_weee_registration",
"uk_battery_epr_registration",
"uk_un38_3_test_summary",
"uk_marketplace_safety_report",
"au_rcm_supplier_declaration",
"au_radio_compliance",
"au_eess_supplier_evidence",
"au_importer_supplier_details",
"au_battery_shipping_evidence",
"au_marketplace_safety_report",
"toy_safety_assessment",
"en71_mechanical_report",
"en71_chemical_report",
"electrical_toy_report",
"battery_compartment_assessment",
"choking_risk_assessment",
"age_grading_rationale",
"toy_warning_artwork",
"german_warning_copy",
"marketplace_toy_evidence_package",
"toy_third_party_test_report",
"toy_cpc_certificate",
"toy_retesting_plan",
"toy_cbp_efiling_evidence",
"toy_tracking_label_artwork",
"toy_small_parts_warning_artwork",
"uk_toy_declaration",
"uk_en71_report",
"uk_toy_marking",
"uk_toy_importer_details",
"uk_toy_radio_compliance",
"uk_toy_battery_evidence",
"uk_toy_warning_artwork",
"uk_toy_retesting_plan",
"uk_toy_marketplace_evidence_package",
"au_toy_safety_report",
"au_toy_supplier_declaration",
"au_toy_warning_artwork",
"au_toy_importer_details",
"au_toy_radio_compliance",
"au_toy_battery_evidence",
"au_toy_retesting_plan",
"au_toy_marketplace_evidence_package",
"cosmetic_formula_review",
"cosmetic_safety_report",
"cosmetic_pif",
"cosmetic_cpn_notification",
"cosmetic_label_artwork",
"cosmetic_responsible_person",
"cosmetic_claim_substantiation",
"cosmetic_facility_registration",
"cosmetic_adverse_event_process",
"cosmetic_notification",
"food_contact_material_spec",
"food_contact_use_conditions_spec",
"food_contact_migration_report",
"food_contact_plastic_oml_sml_report",
"food_contact_ceramic_glass_release_report",
"food_contact_paper_board_component_review",
"food_contact_coating_adhesive_ink_review",
"food_contact_metal_release_review",
"food_contact_hot_use_protocol",
"food_contact_repeated_use_simulation",
"food_contact_doc",
"food_contact_traceability",
"food_contact_label_artwork",
"food_contact_polymer_resin_clearance",
"food_contact_fda_status",
"food_contact_supplier_declaration",
"food_contact_california_prop65_screen"
],
"type": "string"
},
"maxItems": 90,
"type": "array"
},
"evidence_inventory_complete": {
"default": false,
"description": "True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.",
"type": "boolean"
},
"evidence_notes": {
"description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
"maxLength": 6000,
"type": "string"
},
"evidence_observations": {
"default": [],
"description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
"items": {
"properties": {
"confidence": {
"default": "low",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"document_date": {
"anyOf": [
{
"maxLength": 80,
"type": "string"
},
{
"type": "null"
}
]
},
"document_reference": {
"anyOf": [
{
"maxLength": 260,
"type": "string"
},
{
"type": "null"
}
],
"description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
},
"document_type": {
"anyOf": [
{
"maxLength": 160,
"type": "string"
},
{
"type": "null"
}
],
"description": "Plain-language apparent document type; this does not authenticate or approve the document."
},
"evidence_id": {
"anyOf": [
{
"enum": [
"ce_declaration",
"ce_label_artwork",
"rohs_evidence",
"radio_test_report",
"un38_3_test_summary",
"battery_label_artwork",
"eu_economic_operator",
"weee_registration",
"battery_epr_registration",
"fcc_authorization",
"fcc_sdoc",
"fcc_label_artwork",
"us_responsible_party",
"lithium_shipping_marks",
"prop65_assessment",
"marketplace_safety_report",
"ukca_or_ce_mark",
"uk_rohs_evidence",
"uk_radio_compliance",
"uk_importer_details",
"uk_weee_registration",
"uk_battery_epr_registration",
"uk_un38_3_test_summary",
"uk_marketplace_safety_report",
"au_rcm_supplier_declaration",
"au_radio_compliance",
"au_eess_supplier_evidence",
"au_importer_supplier_details",
"au_battery_shipping_evidence",
"au_marketplace_safety_report",
"toy_safety_assessment",
"en71_mechanical_report",
"en71_chemical_report",
"electrical_toy_report",
"battery_compartment_assessment",
"choking_risk_assessment",
"age_grading_rationale",
"toy_warning_artwork",
"german_warning_copy",
"marketplace_toy_evidence_package",
"toy_third_party_test_report",
"toy_cpc_certificate",
"toy_retesting_plan",
"toy_cbp_efiling_evidence",
"toy_tracking_label_artwork",
"toy_small_parts_warning_artwork",
"uk_toy_declaration",
"uk_en71_report",
"uk_toy_marking",
"uk_toy_importer_details",
"uk_toy_radio_compliance",
"uk_toy_battery_evidence",
"uk_toy_warning_artwork",
"uk_toy_retesting_plan",
"uk_toy_marketplace_evidence_package",
"au_toy_safety_report",
"au_toy_supplier_declaration",
"au_toy_warning_artwork",
"au_toy_importer_details",
"au_toy_radio_compliance",
"au_toy_battery_evidence",
"au_toy_retesting_plan",
"au_toy_marketplace_evidence_package",
"cosmetic_formula_review",
"cosmetic_safety_report",
"cosmetic_pif",
"cosmetic_cpn_notification",
"cosmetic_label_artwork",
"cosmetic_responsible_person",
"cosmetic_claim_substantiation",
"cosmetic_facility_registration",
"cosmetic_adverse_event_process",
"cosmetic_notification",
"food_contact_material_spec",
"food_contact_use_conditions_spec",
"food_contact_migration_report",
"food_contact_plastic_oml_sml_report",
"food_contact_ceramic_glass_release_report",
"food_contact_paper_board_component_review",
"food_contact_coating_adhesive_ink_review",
"food_contact_metal_release_review",
"food_contact_hot_use_protocol",
"food_contact_repeated_use_simulation",
"food_contact_doc",
"food_contact_traceability",
"food_contact_label_artwork",
"food_contact_polymer_resin_clearance",
"food_contact_fda_status",
"food_contact_supplier_declaration",
"food_contact_california_prop65_screen"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
},
"issuer_or_lab": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
],
"description": "Issuing organisation or laboratory name only; omit personal names and addresses."
},
"issues": {
"default": [],
"description": "Concise unresolved checks only; never include document quotations or report text.",
"items": {
"maxLength": 240,
"type": "string"
},
"maxItems": 16,
"type": "array"
},
"models_covered": {
"default": [],
"description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
"items": {
"maxLength": 120,
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"provenance": {
"default": "agent_extraction",
"enum": [
"seller_statement",
"agent_extraction",
"llm_inference",
"keyword_inference"
],
"type": "string"
},
"report_or_certificate_number": {
"anyOf": [
{
"maxLength": 140,
"type": "string"
},
{
"type": "null"
}
]
},
"standards_referenced": {
"default": [],
"items": {
"maxLength": 160,
"type": "string"
},
"maxItems": 24,
"type": "array"
},
"status": {
"default": "mentioned_uncertain",
"enum": [
"reported_held",
"mentioned_uncertain",
"not_held",
"needs_human_review"
],
"type": "string"
}
},
"type": "object"
},
"maxItems": 40,
"type": "array"
},
"evidence_text": {
"description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
"maxLength": 6000,
"type": "string"
},
"food_contact_material": {
"description": "The material that touches food. Migration limits and test methods differ by material.",
"enum": [
"plastic",
"metal",
"ceramic_glass",
"paper_board",
"silicone_rubber",
"multi_material",
"unknown"
],
"type": "string"
},
"food_type": {
"description": "The food the product will contact. Simulant selection for migration testing depends on it.",
"enum": [
"dry",
"aqueous",
"acidic",
"fatty",
"alcoholic",
"mixed",
"unknown"
],
"type": "string"
},
"has_battery": {
"description": "Whether the product contains or ships with any battery, including a coin cell in a remote.",
"type": "boolean"
},
"has_radio": {
"description": "Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.",
"type": "boolean"
},
"includes_mains_charger": {
"description": "Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.",
"type": "boolean"
},
"ingredients_reviewed": {
"description": "Whether the full ingredient list has already been checked against restricted-substance annexes.",
"type": "boolean"
},
"is_childrens_product": {
"description": "Whether the product is marketed as a children's product; keep unknown when not established.",
"type": "boolean"
},
"is_electrically_operated": {
"description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
"type": "boolean"
},
"is_sunscreen": {
"description": "Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties.",
"type": "boolean"
},
"language": {
"default": "zh",
"description": "Language for seller-facing text. Questions and messages come back in it; en or zh.",
"enum": [
"zh",
"en",
"English",
"english",
"Chinese",
"chinese",
"中文",
"英文"
],
"type": "string"
},
"markets": {
"description": "Optional destination-market hints. Omit when product_description names the destination.",
"items": {
"enum": [
"EU",
"US",
"UK",
"AU"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"type": "array"
},
"product_description": {
"description": "Preferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.",
"maxLength": 6000,
"minLength": 10,
"type": "string"
},
"product_name": {
"description": "Human-readable product or SKU name",
"maxLength": 160,
"type": "string"
},
"repeated_use": {
"description": "Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles.",
"enum": [
"single_use",
"repeated_use",
"unknown"
],
"type": "string"
},
"sales_channel": {
"description": "Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"sells_in_california": {
"description": "Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.",
"type": "boolean"
},
"supply_chain_role": {
"description": "The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"toy_chemical_assessment_complete": {
"description": "Whether a chemical safety assessment covering migration limits has already been completed for this toy.",
"type": "boolean"
},
"verified_only": {
"default": true,
"description": "Exclude decision rules not checked against primary sources",
"type": "boolean"
}
},
"type": "object"
},
"name": "preflight_product",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ok": {
"type": "boolean"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"ok",
"payload"
],
"type": "object"
}
},
{
"description": "Start free email alerts for a checked product when the seller explicitly requests them. Requires a real email, consent_to_alerts=true and a saved product/market profile. Covers matching human-reviewed ComplianceCN updates, not every regulatory change. There is no payment and no checkout step.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"consent_to_alerts": {
"const": true,
"description": "Must be true. The seller explicitly agrees to save this product profile and receive matched product-change and subscription-service emails.",
"type": "boolean"
},
"email": {
"description": "Seller email for product-change alerts. Provide only after the seller explicitly asks for the alert subscription.",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
"type": "string"
},
"preflight_result": {
"additionalProperties": {},
"description": "The completed preflight result when available. Its requirement, rule and claim IDs improve future change matching.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"product_profile": {
"description": "The same normalized product profile used for the completed preflight. Do not include document contents or unrelated personal data.",
"properties": {
"accessible_small_parts": {
"description": "Whether a child could reach a part that fits in a small-parts cylinder, including parts freed by reasonably foreseeable use.",
"type": "boolean"
},
"age_group": {
"description": "Intended user age. Decides whether toy safety rules apply and which small-parts and warning duties follow.",
"enum": [
"under_3",
"3_to_13",
"14_plus",
"unknown"
],
"type": "string"
},
"applicable_modules": {
"description": "Optional additional modules that should be assessed together with the primary category, for example toys plus battery-electronics.",
"items": {
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"maxItems": 4,
"type": "array"
},
"battery_compartment_security": {
"description": "How the battery compartment is secured. Button and coin cells carry stricter duties because ingestion is the hazard.",
"enum": [
"tool_required",
"two_independent_actions",
"other_secured",
"unsecured",
"unknown"
],
"type": "string"
},
"battery_type": {
"description": "Cell chemistry. Decides whether UN 38.3 transport testing and battery-passport duties apply. Use unknown rather than guessing.",
"enum": [
"button_coin",
"lithium_ion",
"other",
"none",
"unknown"
],
"type": "string"
},
"case_id": {
"description": "The case this call continues, from an earlier result. Omit to start a new product case.",
"pattern": "^ccase_[a-f0-9]{24}$",
"type": "string"
},
"category": {
"description": "Optional structured category hint. Canonical IDs and common English/Chinese labels are accepted. Omit when product_description contains enough information for extraction.",
"enum": [
"battery-electronics",
"toys",
"cosmetics",
"food-contact",
"toy",
"玩具",
"battery",
"electronics",
"电池电子产品",
"带电池电子产品",
"cosmetic",
"化妆品",
"food_contact",
"foodcontact",
"食品接触材料",
"食品接触用品",
"食品接触产品"
],
"type": "string"
},
"claims_therapeutic": {
"description": "Whether the product claims to treat, prevent or cure anything. A therapeutic claim moves a cosmetic into a different regime.",
"type": "boolean"
},
"clarification_answer": {
"description": "Continuation shortcut for the exact same case_id when answering questions_required. Send the seller's natural-language answer here; the service restores and merges the previous canonical product profile. Never use this field to introduce a different product or SKU.",
"maxLength": 6000,
"minLength": 1,
"type": "string"
},
"contact_duration": {
"description": "How long the product touches food in normal use. Long-term contact triggers stricter migration testing.",
"enum": [
"short",
"long_term",
"unknown"
],
"type": "string"
},
"contact_temperature": {
"description": "The temperature at contact. Hot fill and cooking raise migration limits and change the test.",
"enum": [
"ambient",
"hot_fill",
"cooking_reheating",
"freezing",
"unknown"
],
"type": "string"
},
"eu_destination": {
"description": "Destination member state, where it changes the answer. Language and producer-registration duties differ across the EU.",
"enum": [
"DE",
"other_eu",
"unknown"
],
"type": "string"
},
"evidence_held": {
"default": [],
"description": "Evidence IDs the seller already holds, from a previous result's evidence_checklist. Marks each item held rather than unknown; it does not verify the document.",
"items": {
"enum": [
"ce_declaration",
"ce_label_artwork",
"rohs_evidence",
"radio_test_report",
"un38_3_test_summary",
"battery_label_artwork",
"eu_economic_operator",
"weee_registration",
"battery_epr_registration",
"fcc_authorization",
"fcc_sdoc",
"fcc_label_artwork",
"us_responsible_party",
"lithium_shipping_marks",
"prop65_assessment",
"marketplace_safety_report",
"ukca_or_ce_mark",
"uk_rohs_evidence",
"uk_radio_compliance",
"uk_importer_details",
"uk_weee_registration",
"uk_battery_epr_registration",
"uk_un38_3_test_summary",
"uk_marketplace_safety_report",
"au_rcm_supplier_declaration",
"au_radio_compliance",
"au_eess_supplier_evidence",
"au_importer_supplier_details",
"au_battery_shipping_evidence",
"au_marketplace_safety_report",
"toy_safety_assessment",
"en71_mechanical_report",
"en71_chemical_report",
"electrical_toy_report",
"battery_compartment_assessment",
"choking_risk_assessment",
"age_grading_rationale",
"toy_warning_artwork",
"german_warning_copy",
"marketplace_toy_evidence_package",
"toy_third_party_test_report",
"toy_cpc_certificate",
"toy_retesting_plan",
"toy_cbp_efiling_evidence",
"toy_tracking_label_artwork",
"toy_small_parts_warning_artwork",
"uk_toy_declaration",
"uk_en71_report",
"uk_toy_marking",
"uk_toy_importer_details",
"uk_toy_radio_compliance",
"uk_toy_battery_evidence",
"uk_toy_warning_artwork",
"uk_toy_retesting_plan",
"uk_toy_marketplace_evidence_package",
"au_toy_safety_report",
"au_toy_supplier_declaration",
"au_toy_warning_artwork",
"au_toy_importer_details",
"au_toy_radio_compliance",
"au_toy_battery_evidence",
"au_toy_retesting_plan",
"au_toy_marketplace_evidence_package",
"cosmetic_formula_review",
"cosmetic_safety_report",
"cosmetic_pif",
"cosmetic_cpn_notification",
"cosmetic_label_artwork",
"cosmetic_responsible_person",
"cosmetic_claim_substantiation",
"cosmetic_facility_registration",
"cosmetic_adverse_event_process",
"cosmetic_notification",
"food_contact_material_spec",
"food_contact_use_conditions_spec",
"food_contact_migration_report",
"food_contact_plastic_oml_sml_report",
"food_contact_ceramic_glass_release_report",
"food_contact_paper_board_component_review",
"food_contact_coating_adhesive_ink_review",
"food_contact_metal_release_review",
"food_contact_hot_use_protocol",
"food_contact_repeated_use_simulation",
"food_contact_doc",
"food_contact_traceability",
"food_contact_label_artwork",
"food_contact_polymer_resin_clearance",
"food_contact_fda_status",
"food_contact_supplier_declaration",
"food_contact_california_prop65_screen"
],
"type": "string"
},
"maxItems": 90,
"type": "array"
},
"evidence_inventory_complete": {
"default": false,
"description": "True only when evidence_notes/evidence_text and evidence_held together form a complete inventory. Otherwise unprovided applicable evidence remains unknown, not missing.",
"type": "boolean"
},
"evidence_notes": {
"description": "Document and evidence information known by the seller or agent: filenames, supplier claims, models, standards, issuers, dates, or extracted key text. Explicit evidence may be mapped to evidence IDs; authenticity, completeness and SKU coverage still need original-file and human review.",
"maxLength": 6000,
"type": "string"
},
"evidence_observations": {
"default": [],
"description": "Sanitised document observations that may continue between workflow stages: apparent type, filename/reference, models, organisation, date, identifiers, standards, confidence and unresolved issues. Do not include file contents, verbatim extracts, quotations, addresses or unrelated personal information.",
"items": {
"properties": {
"confidence": {
"default": "low",
"enum": [
"low",
"medium",
"high"
],
"type": "string"
},
"document_date": {
"anyOf": [
{
"maxLength": 80,
"type": "string"
},
{
"type": "null"
}
]
},
"document_reference": {
"anyOf": [
{
"maxLength": 260,
"type": "string"
},
{
"type": "null"
}
],
"description": "Filename or short seller/agent reference only. Do not send a local path, URL, document body or quotation."
},
"document_type": {
"anyOf": [
{
"maxLength": 160,
"type": "string"
},
{
"type": "null"
}
],
"description": "Plain-language apparent document type; this does not authenticate or approve the document."
},
"evidence_id": {
"anyOf": [
{
"enum": [
"ce_declaration",
"ce_label_artwork",
"rohs_evidence",
"radio_test_report",
"un38_3_test_summary",
"battery_label_artwork",
"eu_economic_operator",
"weee_registration",
"battery_epr_registration",
"fcc_authorization",
"fcc_sdoc",
"fcc_label_artwork",
"us_responsible_party",
"lithium_shipping_marks",
"prop65_assessment",
"marketplace_safety_report",
"ukca_or_ce_mark",
"uk_rohs_evidence",
"uk_radio_compliance",
"uk_importer_details",
"uk_weee_registration",
"uk_battery_epr_registration",
"uk_un38_3_test_summary",
"uk_marketplace_safety_report",
"au_rcm_supplier_declaration",
"au_radio_compliance",
"au_eess_supplier_evidence",
"au_importer_supplier_details",
"au_battery_shipping_evidence",
"au_marketplace_safety_report",
"toy_safety_assessment",
"en71_mechanical_report",
"en71_chemical_report",
"electrical_toy_report",
"battery_compartment_assessment",
"choking_risk_assessment",
"age_grading_rationale",
"toy_warning_artwork",
"german_warning_copy",
"marketplace_toy_evidence_package",
"toy_third_party_test_report",
"toy_cpc_certificate",
"toy_retesting_plan",
"toy_cbp_efiling_evidence",
"toy_tracking_label_artwork",
"toy_small_parts_warning_artwork",
"uk_toy_declaration",
"uk_en71_report",
"uk_toy_marking",
"uk_toy_importer_details",
"uk_toy_radio_compliance",
"uk_toy_battery_evidence",
"uk_toy_warning_artwork",
"uk_toy_retesting_plan",
"uk_toy_marketplace_evidence_package",
"au_toy_safety_report",
"au_toy_supplier_declaration",
"au_toy_warning_artwork",
"au_toy_importer_details",
"au_toy_radio_compliance",
"au_toy_battery_evidence",
"au_toy_retesting_plan",
"au_toy_marketplace_evidence_package",
"cosmetic_formula_review",
"cosmetic_safety_report",
"cosmetic_pif",
"cosmetic_cpn_notification",
"cosmetic_label_artwork",
"cosmetic_responsible_person",
"cosmetic_claim_substantiation",
"cosmetic_facility_registration",
"cosmetic_adverse_event_process",
"cosmetic_notification",
"food_contact_material_spec",
"food_contact_use_conditions_spec",
"food_contact_migration_report",
"food_contact_plastic_oml_sml_report",
"food_contact_ceramic_glass_release_report",
"food_contact_paper_board_component_review",
"food_contact_coating_adhesive_ink_review",
"food_contact_metal_release_review",
"food_contact_hot_use_protocol",
"food_contact_repeated_use_simulation",
"food_contact_doc",
"food_contact_traceability",
"food_contact_label_artwork",
"food_contact_polymer_resin_clearance",
"food_contact_fda_status",
"food_contact_supplier_declaration",
"food_contact_california_prop65_screen"
],
"type": "string"
},
{
"type": "null"
}
],
"description": "Canonical evidence ID when the apparent document type can be mapped safely; otherwise null."
},
"issuer_or_lab": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
],
"description": "Issuing organisation or laboratory name only; omit personal names and addresses."
},
"issues": {
"default": [],
"description": "Concise unresolved checks only; never include document quotations or report text.",
"items": {
"maxLength": 240,
"type": "string"
},
"maxItems": 16,
"type": "array"
},
"models_covered": {
"default": [],
"description": "Model/SKU identifiers explicitly stated by the seller, agent or extracted document facts.",
"items": {
"maxLength": 120,
"type": "string"
},
"maxItems": 20,
"type": "array"
},
"provenance": {
"default": "agent_extraction",
"enum": [
"seller_statement",
"agent_extraction",
"llm_inference",
"keyword_inference"
],
"type": "string"
},
"report_or_certificate_number": {
"anyOf": [
{
"maxLength": 140,
"type": "string"
},
{
"type": "null"
}
]
},
"standards_referenced": {
"default": [],
"items": {
"maxLength": 160,
"type": "string"
},
"maxItems": 24,
"type": "array"
},
"status": {
"default": "mentioned_uncertain",
"enum": [
"reported_held",
"mentioned_uncertain",
"not_held",
"needs_human_review"
],
"type": "string"
}
},
"type": "object"
},
"maxItems": 40,
"type": "array"
},
"evidence_text": {
"description": "Document/evidence information already known or extracted by an agent. File upload is optional and separate. Do not paste sensitive certificates or full reports into agent chat.",
"maxLength": 6000,
"type": "string"
},
"food_contact_material": {
"description": "The material that touches food. Migration limits and test methods differ by material.",
"enum": [
"plastic",
"metal",
"ceramic_glass",
"paper_board",
"silicone_rubber",
"multi_material",
"unknown"
],
"type": "string"
},
"food_type": {
"description": "The food the product will contact. Simulant selection for migration testing depends on it.",
"enum": [
"dry",
"aqueous",
"acidic",
"fatty",
"alcoholic",
"mixed",
"unknown"
],
"type": "string"
},
"has_battery": {
"description": "Whether the product contains or ships with any battery, including a coin cell in a remote.",
"type": "boolean"
},
"has_radio": {
"description": "Whether the product transmits: Bluetooth, Wi-Fi, NFC, or any other radio. Decides the RED conformity route in the EU and FCC authorisation in the US.",
"type": "boolean"
},
"includes_mains_charger": {
"description": "Whether a mains plug, wall charger or power adapter ships in the box. A supplied charger is separately in scope.",
"type": "boolean"
},
"ingredients_reviewed": {
"description": "Whether the full ingredient list has already been checked against restricted-substance annexes.",
"type": "boolean"
},
"is_childrens_product": {
"description": "Whether the product is marketed as a children's product; keep unknown when not established.",
"type": "boolean"
},
"is_electrically_operated": {
"description": "Whether the toy is electrically operated, including mains-powered or battery-powered operation.",
"type": "boolean"
},
"is_sunscreen": {
"description": "Whether the product is sold as sun protection. Sunscreens carry separate testing and labelling duties.",
"type": "boolean"
},
"language": {
"default": "zh",
"description": "Language for seller-facing text. Questions and messages come back in it; en or zh.",
"enum": [
"zh",
"en",
"English",
"english",
"Chinese",
"chinese",
"中文",
"英文"
],
"type": "string"
},
"markets": {
"description": "Optional destination-market hints. Omit when product_description names the destination.",
"items": {
"enum": [
"EU",
"US",
"UK",
"AU"
],
"type": "string"
},
"maxItems": 4,
"minItems": 1,
"type": "array"
},
"product_description": {
"description": "Preferred first input: describe the product, destination market, sales channel and any known supplier documents in plain language. The tool extracts a preliminary profile and fills the internal checklist. Required when category/markets are not already supplied.",
"maxLength": 6000,
"minLength": 10,
"type": "string"
},
"product_name": {
"description": "Human-readable product or SKU name",
"maxLength": 160,
"type": "string"
},
"repeated_use": {
"description": "Whether the article is single-use or reused. Repeated use requires migration testing across successive cycles.",
"enum": [
"single_use",
"repeated_use",
"unknown"
],
"type": "string"
},
"sales_channel": {
"description": "Where the product is sold. Marketplaces impose their own evidence requests on top of the legal requirements.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"sells_in_california": {
"description": "Whether the product is sold into California. Proposition 65 warning duties apply on top of federal requirements.",
"type": "boolean"
},
"supply_chain_role": {
"description": "The seller's role in the chain. Decides which duties are theirs rather than the manufacturer's or importer's.",
"maxLength": 80,
"minLength": 1,
"type": "string"
},
"toy_chemical_assessment_complete": {
"description": "Whether a chemical safety assessment covering migration limits has already been completed for this toy.",
"type": "boolean"
},
"verified_only": {
"default": true,
"description": "Exclude decision rules not checked against primary sources",
"type": "boolean"
}
},
"type": "object"
}
},
"required": [
"product_profile",
"email",
"consent_to_alerts"
],
"type": "object"
},
"name": "watch_product_regulatory_changes",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ok": {
"type": "boolean"
},
"payload": {
"additionalProperties": {},
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"ok",
"payload"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:558cf42f5ac362d13a426e470cd0a851319551833c0fe302e9a10145e1448518 | sha256sum