{"openapi": "3.0.3", "info": {"title": "FFL Cockpit API", "version": "1.0.0", "description": "REST API for developers building their own storefronts and integrations outside of WooCommerce/BigCommerce. Configure your distributors, search and pull product data (your restricted, custom-priced catalog - built from the same S3 feed that powers FFL Cockpit website sync and delivered in bulk as a presigned parquet export), evaluate product/state restrictions, quote the most cost-effective fulfillment, place and track distributor orders, and use the crowdsourced fraud tools.\n\nAll endpoints require your API key in the `x-api-key` header except the documentation endpoints, and every key is locked to a registered server IP allowlist (mandatory - provide your server IPs at enrollment; view them via GET /v1/account). Requests are rate limited per subscription tier; 429 responses include a Retry-After header.\n\n**AI coding agents (Claude Code, Codex, ...):** fetch `/v1/llms.txt` - a single markdown reference with exact contracts, workflows, and invariants designed for you.", "contact": {"name": "Garidium Support", "email": "support@garidium.com"}}, "servers": [{"url": "https://api.fflcockpit.com", "description": "Production"}], "security": [{"ApiKeyAuth": []}], "tags": [{"name": "Account", "description": "Key status, subscription info, usage"}, {"name": "Distributors", "description": "Supported distributors and your configuration"}, {"name": "Products", "description": "Search, detail, and bulk catalog data"}, {"name": "Orders", "description": "Fulfillment quotes, order placement, history, tracking"}, {"name": "Analytics", "description": "Product/market analytics - one metric per call, refreshed daily, scoped to your distributors"}, {"name": "FFLs", "description": "FFL dealer directory for checkout (transfer dealer selection)"}, {"name": "Restrictions", "description": "Product/geography restriction checks"}, {"name": "Fraud", "description": "Crowdsourced card-not-present fraud tools"}, {"name": "Documentation", "description": "Spec and docs (no auth required)"}], "components": {"securitySchemes": {"ApiKeyAuth": {"type": "apiKey", "in": "header", "name": "x-api-key", "description": "Your subscription API key. ALL requests must also originate from one of the key's whitelisted server IP addresses - keys without a registered IP allowlist do not authenticate (403 ip_whitelist_required), and calls from unregistered addresses return 403 ip_not_allowed."}}, "schemas": {"DistributorConfig2ndAmendmentWholesale": {"title": "2nd Amendment Wholesale", "description": "Configuration entry for 2nd Amendment Wholesale (distid 2AW) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["2AW"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"API_TOKEN": {"type": "string"}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}, "billing_address": {"type": "object", "additionalProperties": false, "properties": {"company": {"type": "string"}, "first_name": {"type": "string"}, "last_name": {"type": "string"}, "address_street": {"type": "string"}, "address_street_2": {"type": "string"}, "city": {"type": "string"}, "state": {"type": "string", "pattern": "[A-Za-z]{2}", "minLength": 2, "maxLength": 2}, "postal_code": {"pattern": "[0-9]{5}(-[0-9]{4})?"}, "email": {"type": "string", "format": "email"}, "phone": {"type": "number", "minLength": 10, "maxLength": 10}}, "required": ["company", "first_name", "last_name", "address_street", "city", "state", "postal_code", "email", "phone"]}}, "additionalProperties": false, "required": ["API_TOKEN", "ffl_recipient_emails"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigAmChar": {"title": "AmChar", "description": "Configuration entry for AmChar (distid AMC) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["AMC"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"api_key": {"type": "string"}}, "additionalProperties": false, "required": ["api_key"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigBillHicks": {"title": "Bill Hicks", "description": "Configuration entry for Bill Hicks (distid BILL) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["BILL"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"customer_number": {"type": "string"}, "ship_to": {"type": "string"}, "default_ship_method": {"type": "string", "enum": ["UPSF", "UPSR"]}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["customer_number", "ffl_recipient_emails"]}}, "additionalProperties": false, "required": ["active", "distid", "fulfillment", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigCamFour": {"title": "CamFour", "description": "Configuration entry for CamFour (distid CAM4) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["CAM4"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}, "api_key": {"type": "string"}}, "additionalProperties": false, "required": ["api_key"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping", "product_feed"]}, "DistributorConfigChattanoogaShootingSupplies": {"title": "Chattanooga Shooting Supplies", "description": "Configuration entry for Chattanooga Shooting Supplies (distid CSSI) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["CSSI"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "default_shipping_method_non_firearms": {"type": "string", "enum": ["best", "fastest", "economy", "ground", "next_day_air", "second_day_air"]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"API_SID": {"type": "string"}, "API_TOKEN": {"type": "string"}}, "additionalProperties": false, "required": ["API_SID", "API_TOKEN"]}}, "additionalProperties": false, "required": ["active", "distid", "fulfillment", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigCountrywideSports": {"title": "Countrywide Sports", "description": "Configuration entry for Countrywide Sports (distid CWS) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["CWS"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"firearms": {"type": "object", "properties": {"email": {"type": "string", "format": "email"}, "password": {"type": "string"}}, "additionalProperties": false, "required": ["email", "password"]}, "accessories": {"type": "object", "properties": {"email": {"type": "string", "format": "email"}, "password": {"type": "string"}}, "additionalProperties": false, "required": ["email", "password"]}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["firearms", "accessories", "ffl_recipient_emails"]}}, "additionalProperties": false, "required": ["active", "distid", "fulfillment", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigCrow": {"title": "Crow", "description": "Configuration entry for Crow (distid CROW) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["CROW"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "fulfillment": {"properties": {"security_code": {"type": "string"}, "payment_method": {"type": "string", "enum": ["Open Account", "Credit Card"]}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["security_code", "ffl_recipient_emails"]}, "product_feed": {"properties": {"active": {"type": "boolean"}, "version": {"type": "string", "enum": ["A", "B"]}}, "additionalProperties": true}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping", "product_feed", "fulfillment"]}, "DistributorConfigDavidsons": {"title": "Davidsons", "description": "Configuration entry for Davidsons (distid DAV) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["DAV"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_feed": {"properties": {"active": {"type": "boolean"}, "default_warehouse": {"type": "string", "enum": ["NC", "AZ"]}}}, "fulfillment": {"properties": {"dealer_customer_number": {"type": "string"}}, "additionalProperties": false, "required": ["dealer_customer_number"]}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigGunAccessorySupply": {"title": "Gun Accessory Supply", "description": "Configuration entry for Gun Accessory Supply (distid GAS) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["GAS"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "fulfillment": {"properties": {"ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["ffl_recipient_emails"]}, "product_feed": {"properties": {"active": {"type": "boolean"}, "ftp_user": {"type": "string"}, "ftp_password": {"type": "string"}}, "additionalProperties": false, "required": ["ftp_user"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping", "product_feed", "fulfillment"]}, "DistributorConfigHicksInc": {"title": "Hicks Inc", "description": "Configuration entry for Hicks Inc (distid HCKS) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["HCKS"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}, "ftp_user": {"type": "string"}, "ftp_password": {"type": "string"}}, "additionalProperties": false, "required": ["ftp_user", "ftp_password"]}, "fulfillment": {"properties": {"ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["ffl_recipient_emails"]}}, "additionalProperties": false, "required": ["active", "distid", "product_feed", "fulfillment", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigIronValley": {"title": "Iron Valley", "description": "Configuration entry for Iron Valley (distid IRV) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["IRV"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "fulfillment": {"properties": {"customer_number": {"type": "string"}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["customer_number", "ffl_recipient_emails"]}, "product_feed": {"properties": {"active": {"type": "boolean"}, "ftp_user": {"type": "string"}, "ftp_password": {"type": "string"}}, "additionalProperties": false}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigKinseys": {"title": "Kinseys", "description": "Configuration entry for Kinseys (distid KIN) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["KIN"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "fulfillment": {"properties": {"api_key": {"type": "string"}, "dealer_api_key": {"type": "string"}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["api_key", "dealer_api_key", "ffl_recipient_emails"]}, "product_feed": {"properties": {"active": {"type": "boolean"}, "ftp_user": {"type": "string"}, "ftp_password": {"type": "string"}}, "additionalProperties": false, "required": ["ftp_user", "ftp_password"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping", "product_feed", "fulfillment"]}, "DistributorConfigKroll": {"title": "Kroll", "description": "Configuration entry for Kroll (distid KRL) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["KRL"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "fulfillment": {"properties": {"dealer_account_number": {"type": "number"}, "api_user": {"type": "string"}, "api_key": {"type": "string"}, "payment_method": {"type": "string", "enum": ["AccountTerms", "CreditCard"]}, "credit_card_last_four": {"type": "string", "minLength": 0, "maxLength": 4}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["payment_method", "dealer_account_number", "api_user", "api_key", "ffl_recipient_emails"]}, "product_feed": {"properties": {"active": {"type": "boolean"}, "ftp_user": {"type": "string"}, "ftp_password": {"type": "string"}}, "additionalProperties": false, "required": ["ftp_user", "ftp_password"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping", "product_feed", "fulfillment"]}, "DistributorConfigLibertyMountain": {"title": "Liberty Mountain", "description": "Configuration entry for Liberty Mountain within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["LIB"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"ftp_user": {"type": "string"}, "ftp_password": {"type": "string"}, "order_email": {"type": "string", "format": "email"}}, "additionalProperties": false, "required": ["ftp_user", "ftp_password", "order_email"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping", "fulfillment"]}, "DistributorConfigLipseys": {"title": "Lipseys", "description": "Configuration entry for Lipseys (distid LIP) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["LIP"]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"ship_to_store": {"type": "object", "properties": {"API_USER": {"type": "string", "format": "email"}, "API_PASSWORD": {"type": "string"}}, "additionalProperties": false, "required": ["API_USER", "API_PASSWORD"]}, "API_HOST": {"type": "string"}, "API_USER": {"type": "string", "format": "email"}, "API_PASSWORD": {"type": "string"}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["API_USER", "API_PASSWORD", "ffl_recipient_emails"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigMGE": {"title": "MGE", "description": "Configuration entry for MGE (distid MGE) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["MGE"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}, "ftp_user": {"type": "string"}, "ftp_password": {"type": "string"}}, "additionalProperties": false, "required": ["ftp_user", "ftp_password"]}, "fulfillment": {"properties": {"dealer_id": {"type": "string"}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["ffl_recipient_emails"]}}, "additionalProperties": false, "required": ["active", "distid", "product_feed", "fulfillment", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigMSR": {"title": "MSR", "description": "Configuration entry for MSR (distid MSR) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["MSR"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"API_USER": {"type": "string"}, "API_PASSWORD": {"type": "string"}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["API_USER", "API_PASSWORD", "ffl_recipient_emails"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping", "fulfillment"]}, "DistributorConfigOrionWholesale": {"title": "Orion Wholesale", "description": "Configuration entry for Orion Wholesale (distid ORI) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["ORI"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"api_key": {"type": "string"}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["api_key"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigRSRGroup": {"title": "RSR Group", "description": "Configuration entry for RSR Group (distid RSR) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["RSR"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}, "ftp_user": {"type": "string"}, "ftp_password": {"type": "string"}}, "additionalProperties": false}, "fulfillment": {"properties": {"ship_to_store": {"type": "object", "properties": {"store_account": {"type": "number"}, "password": {"type": "string"}}, "additionalProperties": false, "required": ["store_account", "password"]}, "API_HOST": {"type": "string"}, "API_USER": {"type": "number"}, "API_PASSWORD": {"type": "string"}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["API_USER", "API_PASSWORD", "ffl_recipient_emails"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigSportsSouth": {"title": "Sports South", "description": "Configuration entry for Sports South (distid TSW) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["TSW"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"api_user": {"type": "string"}, "api_password": {"type": "string"}, "api_customer_number": {"type": "string"}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["api_user", "api_password", "api_customer_number", "ffl_recipient_emails"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigSportsmansSupply": {"title": "Sportsmans Supply", "description": "Configuration entry for Sportsmans Supply within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["SSI"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"ftp_user": {"type": "string"}, "ftp_password": {"type": "string"}}, "additionalProperties": false, "required": ["ftp_user", "ftp_password"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping"]}, "DistributorConfigTGD": {"title": "TGD", "description": "Configuration entry for TGD (distid TGD) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["TGD"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}}}, "fulfillment": {"properties": {"customer_number": {"type": "string"}, "order_email": {"type": "string", "format": "email"}}, "additionalProperties": false, "required": ["customer_number", "order_email"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping", "fulfillment"]}, "DistributorConfigZanders": {"title": "Zanders", "description": "Configuration entry for Zanders (distid ZND) within the configuration document's distributors section (from the full configuration schema at /v1/config/schema).", "type": "object", "properties": {"active": {"type": "boolean"}, "distid": {"type": "string", "enum": ["ZND"]}, "shipping": {"title": "Shipping", "description": "Shipping Configuration", "type": "object", "properties": {"price_based_shipping_levels": {"type": "array", "items": {"title": "Price-based Shipping", "description": "Price-based Shipping Configuration", "type": "object", "properties": {"flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "max_unit_cost": {"type": "integer"}, "min_unit_cost": {"type": "integer"}, "product_class": {"type": "array", "items": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "string", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "required": ["flat_rate", "min_unit_cost"]}}, "flat_rate": {"title": "Flat Rate Shipping", "description": "Flat Rate Shipping Configuration", "type": "object", "properties": {"cost": {"type": "number"}, "shipping_class": {"type": "string"}}, "required": ["cost", "shipping_class"]}, "insurance": {"title": "Distributor Shipping Insurance Fees", "description": "Distributor Shipping Insurance Fees", "type": "object", "properties": {"cost_per_hundred": {"description": "Cost in dollars per hundred in unit cost", "type": "number"}, "include": {"type": "boolean"}}, "required": ["include"]}, "handling": {"title": "Distributor Handling Fees", "description": "Distributor Handling Fees", "type": "object", "properties": {"amount": {"description": "Amount in Dollars for Handling Fee", "type": "number"}, "order_threshold": {"description": "Any Order below this threshold will incur a handling charge", "type": "number"}, "add_handling_to_unit_cost": {"type": "boolean"}}, "required": ["amount", "order_threshold", "add_handling_to_unit_cost"]}}, "oneOf": [{"required": ["price_based_shipping"]}, {"required": ["flat_rate"]}]}, "drop_ship_only_items": {"type": "boolean"}, "product_restrictions": {"properties": {"min_quantity_to_list": {"description": "Minimum In-Stock Quantity to List an Item", "type": "integer", "minimum": 1}, "include_uncategorized_product": {"description": "Allows the option to list uncategorized product", "type": "boolean"}, "product_groups": {"type": "array", "items": {"properties": {"id": {"type": "string"}, "name": {"type": "string"}, "type": {"type": "string", "enum": ["include", "exclude"]}, "criteria": {"properties": {"sku": {"type": "array", "items": {"type": "string"}}, "upc": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "brand": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "category": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "min_quantity_to_list": {"type": "number", "description": "Minimum Quantity to List", "minimum": 1}, "cost": {"type": "object", "properties": {"min_cost": {"type": "number", "description": "Minimum cost filter", "minimum": 0}, "max_cost": {"type": "number", "description": "Maximum cost filter", "minimum": 0.01}}, "additionalProperties": false}}, "additionalProperties": false}}, "additionalProperties": false}}, "sku": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "cost": {"title": "Cost-based Product Restrictions", "description": "Cost-based Product Restrictions", "type": "object", "properties": {"global_restrictions": {"type": "object", "properties": {"max_distributor_cost": {"description": "Maximum Distributor Cost for a Listed Item", "type": "number"}, "min_distributor_cost": {"description": "Minimum Distributor Cost for a Listed Item", "type": "number"}}, "required": ["max_distributor_cost", "min_distributor_cost"]}, "product_class_restrictions": {"type": "array", "items": {"type": "object", "properties": {"product_class": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "max_distributor_cost": {"type": "number"}, "min_distributor_cost": {"type": "number"}}, "required": ["product_class", "max_distributor_cost", "min_distributor_cost"]}}}, "additionalProperties": false, "anyOf": [{"required": ["product_class_restrictions"]}, {"required": ["global_restrictions"]}]}, "upc": {"title": "Include Exclude Options", "description": "Include Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}, "include": {"type": "array", "items": {"anyOf": [{"type": "string"}, {"type": "number"}]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "brand": {"title": "Include Exclude Brand Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Brand Selections", "description": "Brand Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "category": {"title": "Include Exclude Category Options", "description": "Include Exclude Brand Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}, "include": {"title": "Category Selections", "description": "Category Selections", "type": "array", "items": {"type": "string", "description": "Allowed values are your live catalog's values - see GET /v1/products/facets."}}}, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "product_class": {"title": "Include Exclude Product Class Options", "description": "Include Product Class Exclude Options", "type": "object", "properties": {"include_operand": {"type": "string", "enum": ["AND", "OR"]}, "exclude": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}, "include": {"title": "Product Class Selections", "description": "Product Class  Selections", "type": "array", "items": {"type": "string", "enum": ["AC", "AG", "AO", "AP", "AR", "BP", "BS", "FA", "FI", "FP", "HS", "HT", "HZ", "KN", "LL", "MG", "MZ", "OP", "OT", "RC", "RL", "SF", "SO"]}}}, "additionalProperties": false, "anyOf": [{"required": ["exclude"]}, {"required": ["include"]}]}, "purchase_limit": {"type": "integer"}}, "additionalProperties": false, "anyOf": [{"required": ["min_quantity_to_list"]}, {"required": ["product_groups"]}, {"required": ["product_class"]}, {"required": ["sku"]}, {"required": ["category"]}, {"required": ["brand"]}, {"required": ["upc"]}, {"required": ["cost"]}]}, "product_feed": {"properties": {"active": {"type": "boolean"}, "ftp_user": {"type": "string"}, "ftp_password": {"type": "string"}, "ftp_path": {"type": "string"}}}, "fulfillment": {"properties": {"ship_to_store": {"type": "object", "properties": {"api_user": {"type": "string", "format": "email"}, "api_password": {"type": "string"}}, "additionalProperties": false, "required": ["api_user", "api_password"]}, "firearms": {"type": "object", "properties": {"api_user": {"type": "string", "format": "email"}, "api_password": {"type": "string"}}, "additionalProperties": false, "required": ["api_user", "api_password"]}, "accessories": {"type": "object", "properties": {"api_user": {"type": "string", "format": "email"}, "api_password": {"type": "string"}}, "additionalProperties": false, "required": ["api_user", "api_password"]}, "ffl_recipient_emails": {"type": "array", "items": {"type": "string", "format": "email"}}}, "additionalProperties": false, "required": ["accessories", "firearms", "ffl_recipient_emails"]}}, "additionalProperties": false, "required": ["active", "distid", "drop_ship_only_items", "product_restrictions", "shipping"]}, "Error": {"type": "object", "properties": {"success": {"type": "boolean", "example": false}, "error": {"type": "object", "properties": {"code": {"type": "string", "example": "invalid_parameter"}, "message": {"type": "string"}, "details": {"description": "Optional structured details (e.g. the {path, message} list from schema_validation_failed)."}}}}}, "Product": {"type": "object", "description": "One distributor offer row from your restricted catalog (the S3 catalog feed with your product restrictions and custom catalog pricing applied). Search responses omit the description fields; product detail and the bulk export carry every field.", "properties": {"distid": {"type": "string", "description": "Distributor id (join key)."}, "distsku": {"type": "string", "description": "Distributor SKU."}, "stockid": {"type": "string", "description": "Stable stock id (hash of UPC)."}, "upc": {"type": "string"}, "name": {"type": "string", "description": "Short product name."}, "short_description": {"type": "string", "nullable": true, "description": "Detail/export only."}, "description": {"type": "string", "nullable": true, "description": "Long HTML description. Detail/export only."}, "mfg_name": {"type": "string", "description": "Manufacturer/brand."}, "mpn": {"type": "string", "description": "Manufacturer part number."}, "product_class": {"type": "string"}, "product_class_description": {"type": "string", "nullable": true, "description": "Detail/export only."}, "item_cat": {"type": "string", "nullable": true, "description": "Distributor's own category."}, "item_gb_cat": {"type": "integer", "nullable": true, "description": "Numeric category id - matches analytics category_id for cross-referencing."}, "item_gb_cat_name": {"type": "string", "description": "Category name."}, "ffl_req": {"type": "integer", "description": "1 = FFL-required item. Feed this into items[].ffl_req when placing orders."}, "unit_price": {"type": "number", "description": "Your cost (custom catalog pricing applied)."}, "shipping_cost": {"type": "number", "nullable": true, "description": "Modeled per-item shipping cost."}, "total_cost": {"type": "number", "nullable": true, "description": "unit_price + shipping_cost."}, "map_price": {"type": "number", "nullable": true}, "msrp": {"type": "number", "nullable": true}, "qty_on_hand": {"type": "integer", "description": "Warehouse quantity adjustments applied."}, "drop_ship_flg": {"type": "integer", "description": "1 = drop-shippable."}, "images": {"type": "array", "items": {"type": "object", "properties": {"src": {"type": "string"}}}}, "product_url": {"type": "string"}}}, "FraudResult": {"type": "object", "properties": {"matched": {"type": "boolean"}, "matched_on": {"type": "array", "items": {"type": "string"}, "description": "Signals that matched: shipping_address, billing_address, email, phone, name, ip, items."}, "report_count": {"type": "integer", "description": "Distinct dealers who reported this identity."}, "names_used": {"type": "array", "items": {"type": "string"}}, "emails_used": {"type": "array", "items": {"type": "string"}}, "phones_used": {"type": "array", "items": {"type": "string"}}, "ips_used": {"type": "array", "items": {"type": "string"}}, "addresses_used": {"type": "array", "items": {"type": "string"}}, "billing_used": {"type": "array", "items": {"type": "string"}}, "items_used": {"type": "array", "items": {"type": "object"}}, "items_overlap": {"type": "boolean"}, "items_similar": {"type": "boolean"}, "reported_by_you": {"type": "boolean"}, "first_reported": {"type": "string", "format": "date-time"}, "last_reported": {"type": "string", "format": "date-time"}, "notes": {"type": "array", "items": {"type": "string"}}}}, "FulfillmentOption": {"type": "object", "description": "One distributor's option for sourcing an item.", "properties": {"distid": {"type": "string"}, "distributor": {"type": "string"}, "distsku": {"type": "string"}, "qty_on_hand": {"type": "integer"}, "unit_price": {"type": "number"}, "shipping_cost": {"type": "number"}, "map_price": {"type": "number", "nullable": true}, "msrp": {"type": "number", "nullable": true}, "drop_ship_flg": {"type": "integer"}, "line_total": {"type": "number", "description": "unit_price x qty + estimated shipping."}}}, "FFL": {"type": "object", "description": "A licensed dealer record from the ATF-synced FFL directory.", "properties": {"license_number": {"type": "string", "example": "1-23-456-78-9A-12345"}, "list_name": {"type": "string", "description": "Display name (business_name, falling back to license_name)."}, "business_name": {"type": "string", "nullable": true}, "license_name": {"type": "string"}, "premise_street": {"type": "string"}, "premise_city": {"type": "string"}, "premise_state": {"type": "string"}, "premise_zip_code": {"type": "string"}, "voice_phone": {"type": "string", "nullable": true}, "email": {"type": "string", "nullable": true}, "lat": {"type": "number", "nullable": true}, "lng": {"type": "number", "nullable": true}, "ffl_on_file": {"type": "integer", "description": "1 = license copy already on file with FFL Cockpit (fastest transfers; sorted first)."}, "sot_on_file": {"type": "integer", "description": "1 = SOT on file (NFA-capable dealer)."}, "expiration_date": {"type": "string"}, "active": {"type": "integer"}, "transfer_fee_longgun": {"type": "number", "nullable": true, "description": "Detail lookup only."}, "transfer_fee_handgun": {"type": "number", "nullable": true, "description": "Detail lookup only."}, "residential": {"type": "integer", "nullable": true, "description": "Detail lookup only: 1 = home-based FFL."}, "contact_required": {"type": "integer", "nullable": true, "description": "Detail lookup only: 1 = contact the dealer before shipping."}}}, "FulfillmentOrder": {"type": "object", "description": "A distributor order record with shipping/tracking status.", "properties": {"order_date": {"type": "string", "format": "date-time"}, "order_id": {"type": "string"}, "distid": {"type": "string"}, "distributor_order_id": {"type": "string"}, "ffl": {"type": "string", "nullable": true}, "customer_name": {"type": "string"}, "order_status": {"type": "string"}, "order_source": {"type": "string"}, "po_number": {"type": "string", "nullable": true}, "ship_date": {"type": "string", "nullable": true}, "ship_company": {"type": "string", "nullable": true}, "ship_method": {"type": "string", "nullable": true}, "ship_status": {"type": "string", "nullable": true}, "ship_tracking_number": {"type": "string", "nullable": true}, "ship_tracking_url": {"type": "string", "nullable": true}, "ship_to_store": {"type": "integer"}, "ffl_required": {"type": "integer"}, "dist_order_items": {"type": "string", "description": "JSON of the items on this distributor order."}}}}}, "paths": {"/v1/ping": {"get": {"tags": ["Account"], "summary": "Verify your API key", "operationId": "ping", "responses": {"401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"pong": {"type": "boolean"}, "key_name": {"type": "string"}, "tier": {"type": "string"}}}}}}}}}}}, "/v1/account": {"get": {"tags": ["Account"], "summary": "Subscription details and limits", "operationId": "getAccount", "responses": {"401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"key_name": {"type": "string"}, "contact_email": {"type": "string"}, "tier": {"type": "string", "enum": ["standard", "pro", "enterprise"]}, "limits": {"type": "object", "properties": {"per_minute": {"type": "integer"}, "per_day": {"type": "integer"}}}, "configured_distributors": {"type": "array", "items": {"type": "string"}}, "active_distributors": {"type": "array", "items": {"type": "string"}}}}}}}}}}}}, "/v1/usage": {"get": {"tags": ["Account"], "summary": "API usage rollups", "operationId": "getUsage", "responses": {"401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"tier": {"type": "string"}, "limits": {"type": "object"}, "today": {"type": "integer"}, "this_month": {"type": "integer"}, "by_endpoint_today": {"type": "array", "items": {"type": "object"}}, "by_day_last_7": {"type": "array", "items": {"type": "object"}}}}}}}}}}}}, "/v1/distributors": {"get": {"tags": ["Distributors"], "summary": "Supported distributors, their config schemas and defaults", "operationId": "listDistributors", "responses": {"401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "additionalProperties": {"type": "object", "properties": {"distid": {"type": "string"}, "automated_fulfillment": {"type": "boolean"}, "config_schema": {"type": "object", "nullable": true}, "default_config": {"type": "object", "nullable": true}}}, "description": "Map of distributor name -> registry entry."}}}}}}}}}, "/v1/config": {"get": {"tags": ["Distributors"], "summary": "Your full configuration document (secrets masked)", "description": "The complete cockpit configuration document - distributors, targets, fulfillment, pricing, product restrictions. Credential values are masked with '*'; masked values may be sent back unchanged on PUT and the stored secrets are preserved.", "operationId": "getConfig", "responses": {"401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"configuration": {"type": "object"}}}}}}}}}}, "put": {"tags": ["Distributors"], "summary": "Replace your configuration document (schema-validated)", "description": "Replaces the FULL configuration document - the same en-masse model the FFL Cockpit WordPress plugin uses. Workflow: GET /v1/config, modify the document, PUT it back. The document is validated against the configuration JSON Schema (GET /v1/config/schema) BEFORE saving; failures return 400 `schema_validation_failed` with a list of {path, message} errors and nothing is saved. Masked secrets (all '*') are replaced with their stored values on save. Pass `?validate=true` to also run product-count validation against your delete threshold. Every accepted update is recorded in the configuration history.", "operationId": "putConfig", "parameters": [{"name": "validate", "in": "query", "required": false, "schema": {"type": "boolean", "default": false}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "description": "The FULL configuration document (optionally wrapped in a 'configuration' key). Fetch the current document with GET /v1/config, modify it, and PUT it back - masked secrets (all '*') are preserved. The document must satisfy the JSON Schema served at GET /v1/config/schema; validation failures return 400 schema_validation_failed with an error list.", "properties": {"distributors": {"type": "object", "description": "Map of distributor name to that distributor's configuration. Per-distributor entries are defined by the DistributorConfig* schemas below, taken from the authoritative configuration schema (GET /v1/config/schema).", "additionalProperties": {"oneOf": [{"$ref": "#/components/schemas/DistributorConfig2ndAmendmentWholesale"}, {"$ref": "#/components/schemas/DistributorConfigAmChar"}, {"$ref": "#/components/schemas/DistributorConfigBillHicks"}, {"$ref": "#/components/schemas/DistributorConfigCamFour"}, {"$ref": "#/components/schemas/DistributorConfigChattanoogaShootingSupplies"}, {"$ref": "#/components/schemas/DistributorConfigCountrywideSports"}, {"$ref": "#/components/schemas/DistributorConfigCrow"}, {"$ref": "#/components/schemas/DistributorConfigDavidsons"}, {"$ref": "#/components/schemas/DistributorConfigGunAccessorySupply"}, {"$ref": "#/components/schemas/DistributorConfigHicksInc"}, {"$ref": "#/components/schemas/DistributorConfigIronValley"}, {"$ref": "#/components/schemas/DistributorConfigKinseys"}, {"$ref": "#/components/schemas/DistributorConfigKroll"}, {"$ref": "#/components/schemas/DistributorConfigLibertyMountain"}, {"$ref": "#/components/schemas/DistributorConfigLipseys"}, {"$ref": "#/components/schemas/DistributorConfigMGE"}, {"$ref": "#/components/schemas/DistributorConfigMSR"}, {"$ref": "#/components/schemas/DistributorConfigOrionWholesale"}, {"$ref": "#/components/schemas/DistributorConfigRSRGroup"}, {"$ref": "#/components/schemas/DistributorConfigSportsSouth"}, {"$ref": "#/components/schemas/DistributorConfigSportsmansSupply"}, {"$ref": "#/components/schemas/DistributorConfigTGD"}, {"$ref": "#/components/schemas/DistributorConfigZanders"}]}}, "targets": {"type": "object"}, "fulfillment": {"type": "object"}, "product_restrictions": {"type": "object"}, "notification_email": {"type": "string"}, "pricing": {"type": "object"}}}, "examples": {"workflow": {"summary": "Read-modify-write workflow", "description": "GET /v1/config, edit (here: activating AmChar), PUT the FULL document back. Per-distributor entry shapes are documented by the DistributorConfig* schemas.", "value": {"configuration": {"notification_email": "you@example.com", "distributors": {"AmChar": {"distid": "AMC", "active": true, "fulfillment": {"api_key": "your-dealer-api-key"}}}, "targets": {}, "pricing": {}, "product_restrictions": {}, "fulfillment": {}}}}, "2nd Amendment Wholesale": {"summary": "2nd Amendment Wholesale distributor entry", "description": "Shape of distributors['2nd Amendment Wholesale'] within the full configuration document.", "value": {"active": false, "distid": "2AW", "shipping": {"flat_rate": {"cost": 11.99, "shipping_class": "flat_rate_2aw", "shipping_class_firearms": "flat_rate_2aw_firearms"}}, "fulfillment": {"API_TOKEN": "REPLACE_ME", "billing_address": {"city": "", "email": "your@email.com", "phone": 5555555555, "state": "FL", "company": "", "last_name": "", "first_name": "", "postal_code": 12345, "address_street": ""}, "ffl_recipient_emails": ["dropship@2ndamendmentwholesale.com"]}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "AmChar": {"summary": "AmChar distributor entry", "description": "Shape of distributors['AmChar'] within the full configuration document.", "value": {"active": false, "distid": "AMC", "shipping": {"flat_rate": {"cost": 9.95, "shipping_class": "flat_rate_amchar", "shipping_class_firearms": "flat_rate_amchar_firearms"}}, "fulfillment": {"api_key": "REPLACE_ME"}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "category": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Bill Hicks": {"summary": "Bill Hicks distributor entry", "description": "Shape of distributors['Bill Hicks'] within the full configuration document.", "value": {"active": false, "distid": "BILL", "shipping": {"price_based_shipping": [{"flat_rate": {"cost": 12.99, "shipping_class": "flat_rate_bill_hicks", "shipping_class_firearms": "flat_rate_bill_hicks_firearms"}, "max_unit_cost": 500, "min_unit_cost": 0}, {"flat_rate": {"cost": 0, "shipping_class": "free_shipping"}, "min_unit_cost": 500}]}, "fulfillment": {"customer_number": 123456, "ffl_recipient_emails": ["edicommunications@billhicksco.com"]}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "category": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "CamFour": {"summary": "CamFour distributor entry", "description": "Shape of distributors['CamFour'] within the full configuration document.", "value": {"active": false, "distid": "CAM4", "shipping": {"flat_rate": {"cost": 14.99, "shipping_class": "flat_rate_cam4", "shipping_class_firearms": "flat_rate_cam4_firearms"}}, "product_feed": {"api_key": "REPLACE_ME"}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "category": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Chattanooga Shooting Supplies": {"summary": "Chattanooga Shooting Supplies distributor entry", "description": "Shape of distributors['Chattanooga Shooting Supplies'] within the full configuration document.", "value": {"active": false, "distid": "CSSI", "shipping": {"flat_rate": {"cost": 14.95, "shipping_class": "flat_rate_cssi", "shipping_class_firearms": "flat_rate_cssi_firearms"}, "insurance": {"include": false, "cost_per_hundred": 1}, "require_adult_signature": false}, "fulfillment": {"API_SID": "REPLACE_ME", "API_TOKEN": "REPLACE_ME"}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Countrywide Sports": {"summary": "Countrywide Sports distributor entry", "description": "Shape of distributors['Countrywide Sports'] within the full configuration document.", "value": {"active": false, "distid": "CWS", "shipping": {"flat_rate": {"cost": 14.99, "shipping_class": "flat_rate_cws", "shipping_class_firearms": "flat_rate_cws_firearms"}}, "fulfillment": {"firearms": {"email": "asdf@yyy.com", "password": "REPLACE_ME"}, "accessories": {"email": "XXXX@YYYY.com", "password": "REPLACE_ME"}, "ffl_recipient_emails": ["validateffl@cws.com"]}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Crow": {"summary": "Crow distributor entry", "description": "Shape of distributors['Crow'] within the full configuration document.", "value": {"active": false, "distid": "CROW", "shipping": {"flat_rate": {"cost": 14.99, "shipping_class": "flat_rate_crow", "shipping_class_firearms": "flat_rate_crow_firearms"}}, "fulfillment": {"security_code": "REPLACE_ME", "ffl_recipient_emails": []}, "product_feed": {"catalog_file": "", "inventory_file": "", "attributes_file": ""}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "category": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Davidsons": {"summary": "Davidsons distributor entry", "description": "Shape of distributors['Davidsons'] within the full configuration document.", "value": {"active": false, "distid": "DAV", "shipping": {"flat_rate": {"cost": 29.95, "shipping_class": "flat_rate_davidsons", "shipping_class_firearms": "flat_rate_davidsons_firearms"}}, "fulfillment": {"dealer_customer_number": "01XX"}, "product_feed": {"active": true, "default_warehouse": "NC"}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Gun Accessory Supply": {"summary": "Gun Accessory Supply distributor entry", "description": "Shape of distributors['Gun Accessory Supply'] within the full configuration document.", "value": {"active": false, "distid": "GAS", "shipping": {"flat_rate": {"cost": 29.99, "shipping_class": "flat_rate_gas", "shipping_class_firearms": "flat_rate_gas_firearms"}}, "fulfillment": {"ffl_recipient_emails": ["cs@gunaccessorysupply.com"]}, "product_feed": {"ftp_user": 12345, "ftp_password": "REPLACE_ME"}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "category": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Hicks Inc": {"summary": "Hicks Inc distributor entry", "description": "Shape of distributors['Hicks Inc'] within the full configuration document.", "value": {"active": false, "distid": "HCKS", "shipping": {"flat_rate": {"cost": 29.95, "shipping_class": "flat_rate_hicks", "shipping_class_firearms": "flat_rate_hicks_firearms"}}, "fulfillment": {"ffl_recipient_emails": ["dropship@hicksinc.com"]}, "product_feed": {"ftp_user": 12345, "ftp_password": "REPLACE_ME"}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Iron Valley": {"summary": "Iron Valley distributor entry", "description": "Shape of distributors['Iron Valley'] within the full configuration document.", "value": {"active": false, "distid": "IRV", "shipping": {"flat_rate": {"cost": 29.95, "shipping_class": "flat_rate_ironvalley", "shipping_class_firearms": "flat_rate_ironvalley_firearms"}}, "fulfillment": {"customer_number": "", "ffl_recipient_emails": ["ffl.gari@ironvalleysupply.com"]}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": ["FA"]}}}}, "Kinseys": {"summary": "Kinseys distributor entry", "description": "Shape of distributors['Kinseys'] within the full configuration document.", "value": {"active": false, "distid": "KIN", "shipping": {"flat_rate": {"cost": 19.99, "shipping_class": "flat_rate_kinseys", "shipping_class_firearms": "flat_rate_kinseys_firearms"}}, "fulfillment": {"api_key": "REPLACE_ME", "dealer_api_key": "REPLACE_ME", "ffl_recipient_emails": ["fulfillment@kinseysinc.com"]}, "product_feed": {"ftp_user": 123456, "ftp_password": "REPLACE_ME"}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "category": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Kroll": {"summary": "Kroll distributor entry", "description": "Shape of distributors['Kroll'] within the full configuration document.", "value": {"active": false, "distid": "KRL", "shipping": {"flat_rate": {"cost": 14.99, "shipping_class": "flat_rate_kroll", "shipping_class_firearms": "flat_rate_kroll_firearms"}}, "fulfillment": {"api_key": "REPLACE_ME", "api_user": "XX@YY.com", "payment_method": "AccountTerms", "ffl_recipient_emails": [], "dealer_account_number": 123456}, "product_feed": {"ftp_user": 123456, "ftp_password": "REPLACE_ME"}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "category": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Lipseys": {"summary": "Lipseys distributor entry", "description": "Shape of distributors['Lipseys'] within the full configuration document.", "value": {"active": false, "distid": "LIP", "shipping": {"flat_rate": {"cost": 9.95, "shipping_class": "flat_rate_lipseys", "shipping_class_firearms": "flat_rate_lipseys_firearms"}}, "fulfillment": {"API_USER": "asdf@yyy.com", "API_PASSWORD": "REPLACE_ME", "ship_to_store": {"API_USER": "XXXX@YYYY.com", "API_PASSWORD": "REPLACE_ME"}, "ffl_recipient_emails": ["validateffl@lipseys.com"]}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "MGE": {"summary": "MGE distributor entry", "description": "Shape of distributors['MGE'] within the full configuration document.", "value": {"active": false, "distid": "MGE", "shipping": {"flat_rate": {"cost": 29.95, "shipping_class": "flat_rate_mge", "shipping_class_firearms": "flat_rate_mge_firearms"}}, "fulfillment": {"dealer_id": "", "ffl_recipient_emails": ["info@mgewholesale.com"]}, "product_feed": {"ftp_user": 12345, "ftp_password": "REPLACE_ME"}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "MSR": {"summary": "MSR distributor entry", "description": "Shape of distributors['MSR'] within the full configuration document.", "value": {"active": false, "distid": "MSR", "shipping": {"flat_rate": {"cost": 29.99, "shipping_class": "flat_rate_msr", "shipping_class_firearms": "flat_rate_msr_firearms"}}, "fulfillment": {"API_USER": "XXXXX", "API_PASSWORD": "REPLACE_ME", "ffl_recipient_emails": ["ffl@msrdistribution.com"]}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "category": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Orion Wholesale": {"summary": "Orion Wholesale distributor entry", "description": "Shape of distributors['Orion Wholesale'] within the full configuration document.", "value": {"active": false, "distid": "ORI", "shipping": {"flat_rate": {"cost": 13.0, "shipping_class": "flat_rate_orion", "shipping_class_firearms": "flat_rate_orion_firearms"}}, "fulfillment": {"api_key": "REPLACE_ME", "ffl_recipient_emails": ["dropshipffl@orionwholesaleonline.com"]}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "category": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "RSR Group": {"summary": "RSR Group distributor entry", "description": "Shape of distributors['RSR Group'] within the full configuration document.", "value": {"active": false, "distid": "RSR", "shipping": {"flat_rate": {"cost": 9.99, "shipping_class": "flat_rate_rsr", "shipping_class_firearms": "flat_rate_rsr_firearms"}}, "fulfillment": {"API_USER": 12345, "API_PASSWORD": "REPLACE_ME", "ship_to_store": {"password": "REPLACE_ME", "store_account": 12346}, "ffl_recipient_emails": ["dropship@rsrgroup.com"]}, "drop_ship_only_items": false, "product_restrictions": {"product_groups": [{"id": "distributor_RSR Group_1778866253918_i7zbgahgy", "name": "RSR Group Product class: FA, SO", "type": "exclude", "criteria": {"product_class": ["FA", "SO"]}}]}}}, "Sports South": {"summary": "Sports South distributor entry", "description": "Shape of distributors['Sports South'] within the full configuration document.", "value": {"active": false, "distid": "TSW", "shipping": {"flat_rate": {"cost": 10.95, "shipping_class": "flat_rate_sports_south", "shipping_class_firearms": "flat_rate_sports_south_firearms"}, "insurance": {"include": false}}, "fulfillment": {"api_user": 12345, "api_password": "REPLACE_ME", "api_customer_number": 12345, "ffl_recipient_emails": ["fulfillment@sportssouth.biz"]}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "TGD": {"summary": "TGD distributor entry", "description": "Shape of distributors['TGD'] within the full configuration document.", "value": {"active": false, "distid": "TGD", "shipping": {"flat_rate": {"cost": 29.99, "shipping_class": "flat_rate_tgd", "shipping_class_firearms": "flat_rate_tgd_firearms"}}, "fulfillment": {"order_email": "TGDDropship@Tacticalgeardistributors.com", "customer_number": "XX"}, "product_feed": {"active": true}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "category": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}, "Zanders": {"summary": "Zanders distributor entry", "description": "Shape of distributors['Zanders'] within the full configuration document.", "value": {"active": false, "distid": "ZND", "shipping": {"price_based_shipping": [{"flat_rate": {"cost": 15, "shipping_class": "flat_rate_zanders", "shipping_class_firearms": "flat_rate_zanders_firearms"}, "max_unit_cost": 1000, "min_unit_cost": 0}, {"flat_rate": {"cost": 0, "shipping_class": "free_shipping"}, "min_unit_cost": 1000}]}, "fulfillment": {"firearms": {"api_user": "12345@gzanders.org", "api_password": "REPLACE_ME"}, "accessories": {"api_user": "12345@gzanders.org", "api_password": "REPLACE_ME"}, "ship_to_store": {"api_user": "XXXXX@YYYYYYY.com", "api_password": "REPLACE_ME"}, "ffl_recipient_emails": ["ffltransfer@gzanders.com"]}, "drop_ship_only_items": false, "product_restrictions": {"sku": {"exclude": [], "include": []}, "upc": {"exclude": [], "include": []}, "brand": {"exclude": [], "include": []}, "product_class": {"exclude": [], "include": []}}}}}}}}, "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "413": {"description": "Request body too large (max 1,000,000 bytes)", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"saved": {"type": "boolean"}, "configuration": {"type": "object", "description": "The saved document, masked."}}}}}}}}}}}, "/v1/config/schema": {"get": {"tags": ["Distributors"], "summary": "The configuration JSON Schema", "description": "The JSON Schema (draft-04) every configuration document must satisfy - the same schema the FFL Cockpit WordPress plugin validates against. Served raw (no envelope) so it can be fed directly to JSON Schema validators.", "operationId": "getConfigSchema", "responses": {"401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "JSON Schema document (draft-04)."}}}}, "/v1/config/validate": {"post": {"tags": ["Distributors"], "summary": "Validate your configuration and distributor credentials", "description": "With an empty body: validates your SAVED configuration - JSON Schema conformance, unset fields required by each active distributor's field schema, and live credential validation against each active distributor's API (slow by nature; call after configuration changes, not routinely).\n\nDry-run: POST a candidate document as {\"configuration\": {...}} to schema-validate it WITHOUT saving (no live credential checks) - returns {dry_run, schema_valid, errors}.", "requestBody": {"required": false, "content": {"application/json": {"schema": {"type": "object", "properties": {"configuration": {"type": "object", "description": "Optional candidate document for dry-run schema validation (nothing is saved)."}}}}}}, "operationId": "validateConfig", "responses": {"401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"valid": {"type": "boolean"}, "dry_run": {"type": "boolean", "description": "Present when a candidate document was validated without saving."}, "schema_valid": {"type": "boolean", "description": "Dry-run only."}, "schema_errors": {"type": "array", "items": {"type": "object", "properties": {"path": {"type": "string"}, "message": {"type": "string"}}}}, "errors": {"type": "array", "items": {"type": "object", "properties": {"path": {"type": "string"}, "message": {"type": "string"}}}, "description": "Dry-run schema errors."}, "configured_distributors": {"type": "array", "items": {"type": "string"}}, "active_distributors": {"type": "array", "items": {"type": "string"}}, "credentials": {"type": "array", "items": {"type": "object", "properties": {"distid": {"type": "string"}, "distributor": {"type": "string"}, "valid": {"type": "boolean"}}}}, "warnings": {"type": "array", "items": {"type": "string"}}}}}}}}}}}}, "/v1/orders/quote": {"post": {"tags": ["Orders"], "summary": "Most cost-effective fulfillment plan", "description": "Given items (UPC + quantity), evaluates every active distributor with sufficient stock - applying your cost adjustments, custom shipping model, and restrictions - and returns the cheapest per-item sourcing plus a plan grouped into per-distributor orders with subtotals and shipping estimates. Feed the plan's distid/distsku selections straight into POST /v1/orders.", "operationId": "quoteOrder", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["items"], "properties": {"items": {"type": "array", "maxItems": 100, "items": {"type": "object", "required": ["upc", "qty"], "properties": {"upc": {"type": "string"}, "qty": {"type": "integer", "minimum": 1}}}}}, "example": {"items": [{"upc": "736676116351", "qty": 1}, {"upc": "022188882551", "qty": 2}]}}}}}, "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"fulfillable": {"type": "boolean"}, "plan": {"type": "object", "properties": {"orders": {"type": "array", "items": {"type": "object", "properties": {"distid": {"type": "string"}, "distributor": {"type": "string"}, "items": {"type": "array", "items": {"type": "object"}}, "product_subtotal": {"type": "number"}, "shipping_estimate": {"type": "number"}}}}, "total_estimate": {"type": "number"}, "note": {"type": "string"}}}, "items": {"type": "array", "items": {"type": "object", "properties": {"upc": {"type": "string"}, "qty": {"type": "integer"}, "best": {"$ref": "#/components/schemas/FulfillmentOption"}, "alternatives": {"type": "array", "items": {"$ref": "#/components/schemas/FulfillmentOption"}}}}}, "unfulfillable": {"type": "array", "items": {"type": "object", "properties": {"upc": {"type": "string"}, "qty": {"type": "integer"}, "reason": {"type": "string"}}}}}}}}}}}}}}, "/v1/orders": {"post": {"tags": ["Orders"], "summary": "Place distributor orders", "description": "Places REAL purchase orders with distributors for an order captured on YOUR site (you have already collected payment). Items specify exactly which distributor sources each line (use /v1/orders/quote to choose). order_id is your reference and must be unique within your account - reusing one returns 409 duplicate_order.\n\n**Order types** (chosen by `ship_to_store`, `ffl`, and per-item `ffl_req`):\n1. **Drop-ship to customer** - `ship_to_store: false`, items with `ffl_req: false`: ships directly to the customer's address. The item must be drop-shippable by the distributor (`drop_ship_flg: 1` on the product).\n2. **FFL transfer** - items with `ffl_req: true` plus `ffl.licenseNumber` (the customer's chosen dealer from GET /v1/ffls): those items ship to the licensed dealer; the customer picks up there.\n3. **Ship-to-store** - `ship_to_store: true`: EVERYTHING routes to your configured store (FFL items use the store FFL configured at fulfillment.ship_to_store.ffl in your configuration; `ffl` may be omitted). Used for in-store pickup.\n\n**Mixed carts** are split automatically: one distributor order per (distributor, FFL-required-or-not) group - e.g. a Glock (ffl_req) plus a scope from the same distributor becomes two distributor orders, one to the FFL and one to the customer. With ship_to_store, items are grouped per distributor only. The response's fulfillment_orders array shows the resulting split.\n\n**Volume cap**: independent of the request quota, order placement is limited to 60/hour and 500/day per key (429 `order_volume_limit`); contact support@garidium.com to raise it.", "operationId": "placeOrder", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["order_id", "customer", "items"], "properties": {"order_id": {"type": "string", "pattern": "^[A-Za-z0-9_\\-]{1,50}$", "description": "Your unique order reference (idempotency key). 1-50 chars: letters, digits, dash, underscore."}, "customer": {"type": "object", "description": "The purchaser. Billing identity and (for drop-ship items) the shipping destination.", "required": ["name", "email", "address1", "city", "state", "zip"], "properties": {"name": {"type": "string", "description": "Full name (required)."}, "email": {"type": "string", "description": "Required."}, "phone": {"type": "string", "description": "Optional but recommended - some distributors require it."}, "address1": {"type": "string", "description": "Required."}, "address2": {"type": "string", "description": "Optional."}, "city": {"type": "string", "description": "Required."}, "state": {"type": "string", "description": "Required. 2-letter state code."}, "zip": {"type": "string", "description": "Required."}}}, "items": {"type": "array", "maxItems": 100, "minItems": 1, "items": {"type": "object", "required": ["distid", "distsku", "upc", "qty"], "properties": {"distid": {"type": "string", "description": "Sourcing distributor id (from quote/search)."}, "distsku": {"type": "string", "description": "Distributor SKU (required; from quote/search)."}, "upc": {"type": "string", "description": "Required."}, "qty": {"type": "integer", "minimum": 1, "description": "Required, positive."}, "ffl_req": {"type": "boolean", "default": false, "description": "true = firearm/regulated item that must ship to an FFL. Drives order splitting and routing."}}}}, "ffl": {"type": "object", "properties": {"licenseNumber": {"type": "string", "description": "Destination dealer's license number, as returned by GET /v1/ffls. Validate first with GET /v1/ffls/{license_number}."}}, "description": "Destination FFL for ffl_req items. Required for FFL-transfer orders; ignored when ship_to_store resolves the store FFL."}, "ship_to_store": {"type": "boolean", "default": false, "description": "true = route the whole order to your configured store (in-store pickup)."}, "po_number": {"type": "string", "description": "Optional PO reference. When omitted, one is generated PER distributor order as {order_id}-{key prefix/suffix}-{flags} (flags: ffl-required, manual=1 for API orders, ship-to-store), so split orders get distinct POs. When supplied, your value is used for EVERY distributor order in the split. Read the final PO from the fulfillment records."}}}, "examples": {"ffl_transfer": {"summary": "FFL transfer (firearm to customer's chosen dealer)", "value": {"order_id": "web-10021", "customer": {"name": "Jane Sample", "email": "jane@example.com", "phone": "555-555-0100", "address1": "1 Main St", "city": "Nashville", "state": "TN", "zip": "37201"}, "items": [{"distid": "12", "distsku": "GLOCK19GEN5", "upc": "764503037276", "qty": 1, "ffl_req": true}], "ffl": {"licenseNumber": "1-23-456-78-9A-12345"}}}, "drop_ship": {"summary": "Drop-ship (accessories direct to customer)", "value": {"order_id": "web-10022", "customer": {"name": "Jane Sample", "email": "jane@example.com", "phone": "555-555-0100", "address1": "1 Main St", "city": "Nashville", "state": "TN", "zip": "37201"}, "items": [{"distid": "4", "distsku": "MAG557BLK", "upc": "873750008004", "qty": 3, "ffl_req": false}]}}, "mixed_split": {"summary": "Mixed cart (auto-splits: firearm to FFL, optic to customer)", "value": {"order_id": "web-10023", "customer": {"name": "Jane Sample", "email": "jane@example.com", "phone": "555-555-0100", "address1": "1 Main St", "city": "Nashville", "state": "TN", "zip": "37201"}, "items": [{"distid": "12", "distsku": "GLOCK19GEN5", "upc": "764503037276", "qty": 1, "ffl_req": true}, {"distid": "12", "distsku": "VORTEX-VENOM", "upc": "875874005495", "qty": 1, "ffl_req": false}], "ffl": {"licenseNumber": "1-23-456-78-9A-12345"}}}, "ship_to_store": {"summary": "Ship-to-store (in-store pickup; store FFL from config)", "value": {"order_id": "web-10024", "customer": {"name": "Jane Sample", "email": "jane@example.com", "phone": "555-555-0100", "address1": "1 Main St", "city": "Nashville", "state": "TN", "zip": "37201"}, "items": [{"distid": "12", "distsku": "GLOCK19GEN5", "upc": "764503037276", "qty": 1, "ffl_req": true}], "ship_to_store": true, "po_number": "PICKUP-10024"}}}}}}, "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"status": {"type": "boolean"}, "order_id": {"type": "string"}, "fulfillment_orders": {"type": "array", "items": {"$ref": "#/components/schemas/FulfillmentOrder"}}}, "description": "Engine status plus the distributor orders created for this order_id."}}}}}}}}, "get": {"tags": ["Orders"], "summary": "Order history", "operationId": "listOrders", "parameters": [{"name": "limit", "in": "query", "schema": {"type": "integer", "default": 25, "maximum": 100}}, {"name": "offset", "in": "query", "schema": {"type": "integer", "default": 0}}, {"name": "sort", "in": "query", "schema": {"type": "string", "default": "order_date", "enum": ["order_date", "order_id", "ship_date", "order_status", "order_source"]}}, {"name": "direction", "in": "query", "schema": {"type": "string", "default": "desc", "enum": ["asc", "desc"]}}, {"name": "search", "in": "query", "schema": {"type": "string"}, "description": "Matches order id, distributor order id, customer name, tracking, status."}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"count": {"type": "integer"}, "orders": {"type": "array", "items": {"$ref": "#/components/schemas/FulfillmentOrder"}}}}}}}}}}}}, "/v1/orders/{order_id}": {"get": {"tags": ["Orders"], "summary": "Distributor orders and tracking for one order", "operationId": "getOrder", "parameters": [{"name": "order_id", "in": "path", "required": true, "schema": {"type": "string"}}], "responses": {"401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "404": {"description": "Not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"order_id": {"type": "string"}, "fulfillment_orders": {"type": "array", "items": {"$ref": "#/components/schemas/FulfillmentOrder"}}}}}}}}}}}}, "/v1/fulfillment/history": {"get": {"tags": ["Orders"], "summary": "Query fulfillment/tracking records", "description": "Searches your fulfillment records - the table every distributor order lands in when created and where shipping/tracking fields are updated in place as distributors ship. Look up tracking by PO number, your order id, the distributor's order id, or a tracking number (or pass `reference` to match any of the four). All filters combine (AND). Failed placement attempts are returned separately in `errors` so every API order is traceable from creation.", "operationId": "getFulfillmentHistory", "parameters": [{"name": "reference", "in": "query", "schema": {"type": "string"}, "description": "Matches order_id OR po_number OR distributor_order_id OR tracking number."}, {"name": "order_id", "in": "query", "schema": {"type": "string"}, "description": "Your order reference (exact)."}, {"name": "po_number", "in": "query", "schema": {"type": "string"}, "description": "PO number (exact)."}, {"name": "distributor_order_id", "in": "query", "schema": {"type": "string"}, "description": "The distributor's order number (exact)."}, {"name": "tracking_number", "in": "query", "schema": {"type": "string"}, "description": "Carrier tracking number (exact)."}, {"name": "distid", "in": "query", "schema": {"type": "string"}, "description": "Limit to one distributor."}, {"name": "order_source", "in": "query", "schema": {"type": "string"}, "description": "e.g. cockpit_cart (API-placed orders), woocommerce, bigcommerce, gunbroker."}, {"name": "order_status", "in": "query", "schema": {"type": "string"}}, {"name": "ship_status", "in": "query", "schema": {"type": "string"}}, {"name": "from", "in": "query", "schema": {"type": "string", "format": "date"}, "description": "Order date lower bound (YYYY-MM-DD, inclusive)."}, {"name": "to", "in": "query", "schema": {"type": "string", "format": "date"}, "description": "Order date upper bound (YYYY-MM-DD, inclusive)."}, {"name": "limit", "in": "query", "schema": {"type": "integer", "default": 25, "maximum": 100}}, {"name": "offset", "in": "query", "schema": {"type": "integer", "default": 0}}, {"name": "include_errors", "in": "query", "schema": {"type": "boolean", "default": true}, "description": "Include failed placement attempts from the error log."}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"count": {"type": "integer", "description": "Total fulfillment records matching the filters (for paging)."}, "orders": {"type": "array", "items": {"$ref": "#/components/schemas/FulfillmentOrder"}}, "errors": {"type": "array", "items": {"type": "object", "properties": {"failure_timestamp": {"type": "string", "format": "date-time"}, "order_source": {"type": "string"}, "order_id": {"type": "string"}, "po_number": {"type": "string", "nullable": true}, "distid": {"type": "string", "nullable": true}, "failure_reason": {"type": "string"}}}, "description": "Failed placement attempts matching the filters (newest first)."}}}}}}}}}}}, "/v1/products/search": {"get": {"tags": ["Products"], "summary": "Interactive product search", "description": "Search YOUR catalog: the S3 catalog feed for your active, credential-VALIDATED distributors (run POST /v1/config/validate after setting credentials) with your product restrictions, cost filters, and custom catalog pricing applied (data refreshes about every 20 minutes). Offset-paged and depth-capped: for full catalog pulls use GET /v1/products/catalog instead.", "operationId": "searchProducts", "parameters": [{"name": "q", "in": "query", "schema": {"type": "string"}, "description": "Free text (name, brand, SKU, MPN); 8+ digit numbers search UPC."}, {"name": "upc", "in": "query", "schema": {"type": "string"}}, {"name": "sku", "in": "query", "schema": {"type": "string"}, "description": "Distributor SKU (exact)."}, {"name": "distributor", "in": "query", "schema": {"type": "string"}, "description": "Limit to one distid."}, {"name": "manufacturer", "in": "query", "schema": {"type": "string"}}, {"name": "product_class", "in": "query", "schema": {"type": "string"}}, {"name": "category", "in": "query", "schema": {"type": "string"}}, {"name": "min_price", "in": "query", "schema": {"type": "number"}}, {"name": "max_price", "in": "query", "schema": {"type": "number"}}, {"name": "in_stock", "in": "query", "schema": {"type": "boolean"}}, {"name": "drop_ship_only", "in": "query", "schema": {"type": "boolean"}}, {"name": "ffl_required", "in": "query", "schema": {"type": "boolean"}, "description": "true = only FFL-required items."}, {"name": "ignore_restrictions", "in": "query", "schema": {"type": "boolean", "default": false}, "description": "true = serve the full validated-distributor catalog without your product restrictions/cost filters (custom pricing still applies)."}, {"name": "sort", "in": "query", "schema": {"type": "string", "enum": ["price", "-price", "name", "-name", "qty", "-qty"]}}, {"name": "page", "in": "query", "schema": {"type": "integer", "default": 1}}, {"name": "page_size", "in": "query", "schema": {"type": "integer", "default": 50, "maximum": 100}}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "503": {"description": "Temporarily unavailable", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"products": {"type": "array", "items": {"$ref": "#/components/schemas/Product"}}, "page": {"type": "integer"}, "page_size": {"type": "integer"}, "total": {"type": "integer"}}}}}}}}}}}, "/v1/products/catalog": {"get": {"tags": ["Products"], "summary": "Bulk catalog export via presigned S3 URL", "description": "Your COMPLETE restricted catalog as a single Parquet file on S3: the catalog feed for your active, credential-validated distributors with your product restrictions, cost filters, and custom catalog pricing applied - exactly what search/detail serve, in bulk. The file is regenerated when the upstream feed republishes (~every 20 minutes) or your configuration changes; the first request after either may take up to ~60 seconds while the export builds, subsequent requests return instantly. Poll each sync cycle, skip downloading when `version` is unchanged, and download promptly - URLs are short-lived (`expires_in`, max 3600s). Filter by the `distid` column client-side if you need per-distributor slices.", "operationId": "getCatalog", "parameters": [{"name": "ignore_restrictions", "in": "query", "schema": {"type": "boolean", "default": false}, "description": "true = serve the full validated-distributor catalog without your product restrictions/cost filters (custom pricing still applies)."}, {"name": "expires_in", "in": "query", "schema": {"type": "integer", "default": 900, "maximum": 3600}}, {"name": "include_attributes", "in": "query", "schema": {"type": "boolean", "default": false}, "description": "Also presign the shared product attributes feed (csv.gz: upc, distid, attribute_name, attribute_value)."}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "503": {"description": "Temporarily unavailable", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"version": {"type": "string", "example": "v=20260719T150642", "description": "Upstream feed snapshot version."}, "format": {"type": "string", "example": "parquet"}, "compression": {"type": "string", "example": "snappy"}, "rows": {"type": "integer"}, "restrictions_applied": {"type": "boolean", "example": true}, "custom_pricing_applied": {"type": "boolean", "example": true}, "expires_in_seconds": {"type": "integer"}, "url": {"type": "string", "description": "Presigned S3 URL of your catalog parquet (columns match the Product schema)."}, "attributes_feed": {"type": "object", "nullable": true, "properties": {"format": {"type": "string"}, "url": {"type": "string"}}}}}}}}}}}}}, "/v1/products/facets": {"get": {"tags": ["Products"], "summary": "Distinct filter values across your active distributors", "description": "Sorted distinct manufacturers, categories, and product classes from your RESTRICTED catalog - for building storefront search filters and faceted navigation. Values feed the matching /v1/products/search parameters. Cache client-side (refresh daily).", "operationId": "getProductFacets", "parameters": [{"name": "ignore_restrictions", "in": "query", "schema": {"type": "boolean", "default": false}, "description": "true = serve the full validated-distributor catalog without your product restrictions/cost filters (custom pricing still applies)."}], "responses": {"401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "503": {"description": "Temporarily unavailable", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"manufacturers": {"type": "array", "items": {"type": "string"}}, "categories": {"type": "array", "items": {"type": "string"}}, "product_classes": {"type": "array", "items": {"type": "string"}}}}}}}}}}}}, "/v1/products/{upc}": {"get": {"tags": ["Products"], "summary": "Product detail by UPC", "description": "All offers for a UPC across your restricted catalog - the full record including descriptions, MAP price, and ffl_req.", "operationId": "getProduct", "parameters": [{"name": "upc", "in": "path", "required": true, "schema": {"type": "string", "pattern": "^\\d{8,14}$"}}, {"name": "ignore_restrictions", "in": "query", "schema": {"type": "boolean", "default": false}, "description": "true = serve the full validated-distributor catalog without your product restrictions/cost filters (custom pricing still applies)."}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "404": {"description": "Not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "503": {"description": "Temporarily unavailable", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"upc": {"type": "string"}, "offers": {"type": "array", "items": {"$ref": "#/components/schemas/Product"}}}}}}}}}}}}, "/v1/analytics/top-products": {"get": {"tags": ["Analytics"], "summary": "Top products by movement", "description": "Highest-movement products over the window (sales proxy, restocks, movement score, cost, newness flags). Scope with the common product_class / category_id filters. Data is a daily-refreshed rollup (cockpit_analytics) scoped to your active distributors and served from a shared cache - poll at most a few times per day.", "operationId": "analyticsTopProducts", "parameters": [{"name": "window", "in": "query", "schema": {"type": "string", "default": "7d", "enum": ["7d", "30d", "60d", "90d"]}, "description": "Rollup window."}, {"name": "limit", "in": "query", "schema": {"type": "integer", "default": 50, "maximum": 200}}, {"name": "product_class", "in": "query", "schema": {"type": "string", "example": "FA,AO"}, "description": "Comma-separated 2-letter product class codes to include: AC=Accessories, AG=Air Guns, AO=Ammunition, AP=Apparel, AR=Archery, BP=Black Powder Firearms, BS=Binoculars & Spotting, FA=Firearms, FI=Fishing, FP=Firearms Parts, HS=Holsters, HT=Hunting, HZ=Hazardous, KN=Knives, LL=Lights & Lasers, MG=Magazines, MZ=Muzzleloading, OP=Optics, OT=Other, RC=Range Bags & Cases, RL=Reloading, SF=Safes, SO=SOT. (Also listed by GET /v1/products/facets as product_classes.)"}, {"name": "category_id", "in": "query", "schema": {"type": "string", "example": "981,982"}, "description": "Comma-separated numeric category ids to include. Discover ids from any analytics row (category_id + category_name) or from product data's item_gb_cat / item_gb_cat_name columns - the two use the same taxonomy."}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"metric": {"type": "string", "example": "top-products"}, "as_of": {"type": "string", "format": "date-time"}, "window_days": {"type": "integer", "nullable": true}, "count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object"}, "description": "Metric-specific rows; every row carries upc, name, mfg_name, category_name plus the metric's measures."}}}}}}}}}}}, "/v1/analytics/on-sale": {"get": {"tags": ["Analytics"], "summary": "Products on sale", "description": "Meaningful price drops: reference price, current price, drop percent. Data is a daily-refreshed rollup (cockpit_analytics) scoped to your active distributors and served from a shared cache - poll at most a few times per day.", "operationId": "analyticsOnSale", "parameters": [{"name": "window", "in": "query", "schema": {"type": "string", "default": "7d", "enum": ["7d", "30d", "60d", "90d"]}, "description": "Rollup window."}, {"name": "limit", "in": "query", "schema": {"type": "integer", "default": 50, "maximum": 200}}, {"name": "product_class", "in": "query", "schema": {"type": "string", "example": "FA,AO"}, "description": "Comma-separated 2-letter product class codes to include: AC=Accessories, AG=Air Guns, AO=Ammunition, AP=Apparel, AR=Archery, BP=Black Powder Firearms, BS=Binoculars & Spotting, FA=Firearms, FI=Fishing, FP=Firearms Parts, HS=Holsters, HT=Hunting, HZ=Hazardous, KN=Knives, LL=Lights & Lasers, MG=Magazines, MZ=Muzzleloading, OP=Optics, OT=Other, RC=Range Bags & Cases, RL=Reloading, SF=Safes, SO=SOT. (Also listed by GET /v1/products/facets as product_classes.)"}, {"name": "category_id", "in": "query", "schema": {"type": "string", "example": "981,982"}, "description": "Comma-separated numeric category ids to include. Discover ids from any analytics row (category_id + category_name) or from product data's item_gb_cat / item_gb_cat_name columns - the two use the same taxonomy."}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"metric": {"type": "string", "example": "on-sale"}, "as_of": {"type": "string", "format": "date-time"}, "window_days": {"type": "integer", "nullable": true}, "count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object"}, "description": "Metric-specific rows; every row carries upc, name, mfg_name, category_name plus the metric's measures."}}}}}}}}}}}, "/v1/analytics/margin-opportunities": {"get": {"tags": ["Analytics"], "summary": "Best margin opportunities", "description": "Cost basis vs. sell price (MAP/MSRP) with gross profit and margin percent. Data is a daily-refreshed rollup (cockpit_analytics) scoped to your active distributors and served from a shared cache - poll at most a few times per day.", "operationId": "analyticsMarginOpportunities", "parameters": [{"name": "window", "in": "query", "schema": {"type": "string", "default": "7d", "enum": ["7d", "30d", "60d", "90d"]}, "description": "Rollup window."}, {"name": "limit", "in": "query", "schema": {"type": "integer", "default": 50, "maximum": 200}}, {"name": "product_class", "in": "query", "schema": {"type": "string", "example": "FA,AO"}, "description": "Comma-separated 2-letter product class codes to include: AC=Accessories, AG=Air Guns, AO=Ammunition, AP=Apparel, AR=Archery, BP=Black Powder Firearms, BS=Binoculars & Spotting, FA=Firearms, FI=Fishing, FP=Firearms Parts, HS=Holsters, HT=Hunting, HZ=Hazardous, KN=Knives, LL=Lights & Lasers, MG=Magazines, MZ=Muzzleloading, OP=Optics, OT=Other, RC=Range Bags & Cases, RL=Reloading, SF=Safes, SO=SOT. (Also listed by GET /v1/products/facets as product_classes.)"}, {"name": "category_id", "in": "query", "schema": {"type": "string", "example": "981,982"}, "description": "Comma-separated numeric category ids to include. Discover ids from any analytics row (category_id + category_name) or from product data's item_gb_cat / item_gb_cat_name columns - the two use the same taxonomy."}, {"name": "sort_by", "in": "query", "schema": {"type": "string", "default": "gross_profit", "enum": ["gross_profit", "margin_pct"]}}, {"name": "min_confidence", "in": "query", "schema": {"type": "number"}, "description": "Minimum sell-price confidence filter."}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"metric": {"type": "string", "example": "margin-opportunities"}, "as_of": {"type": "string", "format": "date-time"}, "window_days": {"type": "integer", "nullable": true}, "count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object"}, "description": "Metric-specific rows; every row carries upc, name, mfg_name, category_name plus the metric's measures."}}}}}}}}}}}, "/v1/analytics/trending": {"get": {"tags": ["Analytics"], "summary": "Trending products", "description": "7-day sales acceleration vs the prior 23-day daily average (trend_ratio). Tunables: min_7d_units, min_30d_units, min_prev_23_units, min_sales_days_7d. Data is a daily-refreshed rollup (cockpit_analytics) scoped to your active distributors and served from a shared cache - poll at most a few times per day.", "operationId": "analyticsTrending", "parameters": [{"name": "window", "in": "query", "schema": {"type": "string", "default": "7d", "enum": ["7d", "30d", "60d", "90d"]}, "description": "Rollup window."}, {"name": "limit", "in": "query", "schema": {"type": "integer", "default": 50, "maximum": 200}}, {"name": "product_class", "in": "query", "schema": {"type": "string", "example": "FA,AO"}, "description": "Comma-separated 2-letter product class codes to include: AC=Accessories, AG=Air Guns, AO=Ammunition, AP=Apparel, AR=Archery, BP=Black Powder Firearms, BS=Binoculars & Spotting, FA=Firearms, FI=Fishing, FP=Firearms Parts, HS=Holsters, HT=Hunting, HZ=Hazardous, KN=Knives, LL=Lights & Lasers, MG=Magazines, MZ=Muzzleloading, OP=Optics, OT=Other, RC=Range Bags & Cases, RL=Reloading, SF=Safes, SO=SOT. (Also listed by GET /v1/products/facets as product_classes.)"}, {"name": "category_id", "in": "query", "schema": {"type": "string", "example": "981,982"}, "description": "Comma-separated numeric category ids to include. Discover ids from any analytics row (category_id + category_name) or from product data's item_gb_cat / item_gb_cat_name columns - the two use the same taxonomy."}, {"name": "min_7d_units", "in": "query", "schema": {"type": "integer", "default": 3}}, {"name": "min_30d_units", "in": "query", "schema": {"type": "integer", "default": 10}}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"metric": {"type": "string", "example": "trending"}, "as_of": {"type": "string", "format": "date-time"}, "window_days": {"type": "integer", "nullable": true}, "count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object"}, "description": "Metric-specific rows; every row carries upc, name, mfg_name, category_name plus the metric's measures."}}}}}}}}}}}, "/v1/analytics/new-arrivals": {"get": {"tags": ["Analytics"], "summary": "New arrivals", "description": "Products first seen within the window across your active distributors. Data is a daily-refreshed rollup (cockpit_analytics) scoped to your active distributors and served from a shared cache - poll at most a few times per day.", "operationId": "analyticsNewArrivals", "parameters": [{"name": "window", "in": "query", "schema": {"type": "string", "default": "7d", "enum": ["7d", "30d", "60d", "90d"]}, "description": "Rollup window."}, {"name": "limit", "in": "query", "schema": {"type": "integer", "default": 50, "maximum": 200}}, {"name": "product_class", "in": "query", "schema": {"type": "string", "example": "FA,AO"}, "description": "Comma-separated 2-letter product class codes to include: AC=Accessories, AG=Air Guns, AO=Ammunition, AP=Apparel, AR=Archery, BP=Black Powder Firearms, BS=Binoculars & Spotting, FA=Firearms, FI=Fishing, FP=Firearms Parts, HS=Holsters, HT=Hunting, HZ=Hazardous, KN=Knives, LL=Lights & Lasers, MG=Magazines, MZ=Muzzleloading, OP=Optics, OT=Other, RC=Range Bags & Cases, RL=Reloading, SF=Safes, SO=SOT. (Also listed by GET /v1/products/facets as product_classes.)"}, {"name": "category_id", "in": "query", "schema": {"type": "string", "example": "981,982"}, "description": "Comma-separated numeric category ids to include. Discover ids from any analytics row (category_id + category_name) or from product data's item_gb_cat / item_gb_cat_name columns - the two use the same taxonomy."}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"metric": {"type": "string", "example": "new-arrivals"}, "as_of": {"type": "string", "format": "date-time"}, "window_days": {"type": "integer", "nullable": true}, "count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object"}, "description": "Metric-specific rows; every row carries upc, name, mfg_name, category_name plus the metric's measures."}}}}}}}}}}}, "/v1/analytics/newly-available": {"get": {"tags": ["Analytics"], "summary": "Newly available (restocked)", "description": "Products that existed historically and returned from zero quantity to in-stock within the window. Data is a daily-refreshed rollup (cockpit_analytics) scoped to your active distributors and served from a shared cache - poll at most a few times per day.", "operationId": "analyticsNewlyAvailable", "parameters": [{"name": "window", "in": "query", "schema": {"type": "string", "default": "7d", "enum": ["7d", "30d", "60d", "90d"]}, "description": "Rollup window."}, {"name": "limit", "in": "query", "schema": {"type": "integer", "default": 50, "maximum": 200}}, {"name": "product_class", "in": "query", "schema": {"type": "string", "example": "FA,AO"}, "description": "Comma-separated 2-letter product class codes to include: AC=Accessories, AG=Air Guns, AO=Ammunition, AP=Apparel, AR=Archery, BP=Black Powder Firearms, BS=Binoculars & Spotting, FA=Firearms, FI=Fishing, FP=Firearms Parts, HS=Holsters, HT=Hunting, HZ=Hazardous, KN=Knives, LL=Lights & Lasers, MG=Magazines, MZ=Muzzleloading, OP=Optics, OT=Other, RC=Range Bags & Cases, RL=Reloading, SF=Safes, SO=SOT. (Also listed by GET /v1/products/facets as product_classes.)"}, {"name": "category_id", "in": "query", "schema": {"type": "string", "example": "981,982"}, "description": "Comma-separated numeric category ids to include. Discover ids from any analytics row (category_id + category_name) or from product data's item_gb_cat / item_gb_cat_name columns - the two use the same taxonomy."}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"metric": {"type": "string", "example": "newly-available"}, "as_of": {"type": "string", "format": "date-time"}, "window_days": {"type": "integer", "nullable": true}, "count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object"}, "description": "Metric-specific rows; every row carries upc, name, mfg_name, category_name plus the metric's measures."}}}}}}}}}}}, "/v1/analytics/price-gaps": {"get": {"tags": ["Analytics"], "summary": "Distributor price gaps", "description": "Products where one distributor's price is significantly below the peer average across other distributors (gap percent/absolute, peer count). Data is a daily-refreshed rollup (cockpit_analytics) scoped to your active distributors and served from a shared cache - poll at most a few times per day.", "operationId": "analyticsPriceGaps", "parameters": [{"name": "window", "in": "query", "schema": {"type": "string", "default": "7d", "enum": ["7d", "30d", "60d", "90d"]}, "description": "Rollup window."}, {"name": "limit", "in": "query", "schema": {"type": "integer", "default": 50, "maximum": 200}}, {"name": "product_class", "in": "query", "schema": {"type": "string", "example": "FA,AO"}, "description": "Comma-separated 2-letter product class codes to include: AC=Accessories, AG=Air Guns, AO=Ammunition, AP=Apparel, AR=Archery, BP=Black Powder Firearms, BS=Binoculars & Spotting, FA=Firearms, FI=Fishing, FP=Firearms Parts, HS=Holsters, HT=Hunting, HZ=Hazardous, KN=Knives, LL=Lights & Lasers, MG=Magazines, MZ=Muzzleloading, OP=Optics, OT=Other, RC=Range Bags & Cases, RL=Reloading, SF=Safes, SO=SOT. (Also listed by GET /v1/products/facets as product_classes.)"}, {"name": "category_id", "in": "query", "schema": {"type": "string", "example": "981,982"}, "description": "Comma-separated numeric category ids to include. Discover ids from any analytics row (category_id + category_name) or from product data's item_gb_cat / item_gb_cat_name columns - the two use the same taxonomy."}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "409": {"description": "Request conflicts with current configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"metric": {"type": "string", "example": "price-gaps"}, "as_of": {"type": "string", "format": "date-time"}, "window_days": {"type": "integer", "nullable": true}, "count": {"type": "integer"}, "results": {"type": "array", "items": {"type": "object"}, "description": "Metric-specific rows; every row carries upc, name, mfg_name, category_name plus the metric's measures."}}}}}}}}}}}, "/v1/ffls": {"get": {"tags": ["FFLs"], "summary": "Search the FFL dealer directory", "description": "Checkout FFL picker: dealers near the customer's ZIP, ordered best-first (license on file with FFL Cockpit in the customer's ZIP, on-file nearby, then remaining local/nearby dealers). Returns at most 150 dealers. Feed the customer's selection into POST /v1/orders as ffl.licenseNumber.", "operationId": "searchFfls", "parameters": [{"name": "zip", "in": "query", "required": true, "schema": {"type": "string", "pattern": "^\\d{5}$"}, "description": "Customer's 5-digit ZIP code."}, {"name": "radius", "in": "query", "required": false, "schema": {"type": "integer", "default": 15, "minimum": 1, "maximum": 50}, "description": "Search radius in miles (max 50)."}, {"name": "name", "in": "query", "required": false, "schema": {"type": "string", "maxLength": 60}, "description": "Substring filter on business/license name (letters, digits, spaces, '&.- only)."}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"count": {"type": "integer"}, "ffls": {"type": "array", "items": {"$ref": "#/components/schemas/FFL"}}}}}}}}}}}}, "/v1/ffls/{license_number}": {"get": {"tags": ["FFLs"], "summary": "Look up / validate one FFL by license number", "description": "Validates a customer-supplied FFL license and returns the full record including transfer fees, residential flag, and contact_required. Masked license segments are supported with 'X' (e.g. 1-23-XXX-XX-XX-12345). Call before order placement to confirm the dealer is active and check ffl_on_file.", "operationId": "getFfl", "parameters": [{"name": "license_number", "in": "path", "required": true, "schema": {"type": "string", "minLength": 10, "maxLength": 25}, "example": "1-23-456-78-9A-12345"}], "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "404": {"description": "Not found", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"count": {"type": "integer"}, "ffls": {"type": "array", "items": {"$ref": "#/components/schemas/FFL"}}}}}}}}}}}}, "/v1/restrictions/check": {"post": {"tags": ["Restrictions"], "summary": "Evaluate product restrictions for a destination", "description": "Checks each item against the shared restriction rules engine (state/county/city/zip scoping, product scoping, and your subscriber-specific overrides). Use before accepting an order to a restricted destination.", "operationId": "checkRestrictions", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["shipping", "items"], "properties": {"shipping": {"type": "object", "properties": {"state": {"type": "string"}, "city": {"type": "string"}, "county": {"type": "string"}, "zip": {"type": "string"}, "country": {"type": "string", "default": "US"}}}, "items": {"type": "array", "maxItems": 100, "items": {"type": "object", "properties": {"upc": {"type": "string"}, "sku": {"type": "string"}, "distid": {"type": "string"}, "product_class": {"type": "string"}, "category": {"type": "string"}, "attributes": {"type": "object"}}}}, "target": {"type": "string", "nullable": true}}, "example": {"shipping": {"state": "CA", "zip": "94105"}, "items": [{"upc": "736676116351"}]}}}}}, "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"approved": {"type": "boolean"}, "items": {"type": "array", "items": {"type": "object", "properties": {"upc": {"type": "string"}, "sku": {"type": "string"}, "approved": {"type": "boolean"}, "blocking_rules": {"type": "array", "items": {"type": "object"}}, "warnings": {"type": "array", "items": {"type": "object"}}, "manual_review": {"type": "array", "items": {"type": "object"}}}}}}}}}}}}}}}, "/v1/fraud/check": {"post": {"tags": ["Fraud"], "summary": "Check an order against the crowdsourced fraud database", "description": "Matches like-for-like strong signals (shipping address, billing address, email, phone) against fraud reports submitted by the dealer network. Name/IP/items only corroborate existing matches. Provide at least one strong signal. Limited to 1000 checks per 24h per key.", "operationId": "fraudCheck", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"shipping_name": {"type": "string"}, "shipping_address_1": {"type": "string"}, "shipping_address_2": {"type": "string"}, "shipping_city": {"type": "string"}, "shipping_state": {"type": "string"}, "shipping_postcode": {"type": "string"}, "shipping_country": {"type": "string"}, "shipping_is_ffl": {"type": "boolean", "description": "True when the order ships to an FFL dealer's premises. FFL shipments are never recorded and their shipping address is never matched."}, "billing_name": {"type": "string"}, "billing_address_1": {"type": "string"}, "billing_address_2": {"type": "string"}, "billing_city": {"type": "string"}, "billing_state": {"type": "string"}, "billing_postcode": {"type": "string"}, "billing_country": {"type": "string"}, "email": {"type": "string"}, "phone": {"type": "string"}, "ip_address": {"type": "string"}, "order_items": {"type": "array", "description": "Items on the order (max 50 stored).", "items": {"type": "object", "properties": {"upc": {"type": "string"}, "sku": {"type": "string"}, "name": {"type": "string"}, "qty": {"type": "integer"}, "price": {"type": "number"}}}}}}}}}, "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"fraud": {"$ref": "#/components/schemas/FraudResult"}}}}}}}}}}}, "/v1/fraud/reports": {"post": {"tags": ["Fraud"], "summary": "Report a fraudulent order", "description": "Adds the order's identity signals to the shared database (one report per key per shipping address; re-reporting refreshes it). `shipping_address_1` is required. Orders shipped to an FFL are rejected - an FFL's premises must never enter the shared database. Limited to 25 reports per 24h per key.", "operationId": "fraudReport", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["shipping_address_1"], "properties": {"shipping_name": {"type": "string"}, "shipping_address_1": {"type": "string"}, "shipping_address_2": {"type": "string"}, "shipping_city": {"type": "string"}, "shipping_state": {"type": "string"}, "shipping_postcode": {"type": "string"}, "shipping_country": {"type": "string"}, "shipping_is_ffl": {"type": "boolean", "description": "True when the order ships to an FFL dealer's premises. FFL shipments are never recorded and their shipping address is never matched."}, "billing_name": {"type": "string"}, "billing_address_1": {"type": "string"}, "billing_address_2": {"type": "string"}, "billing_city": {"type": "string"}, "billing_state": {"type": "string"}, "billing_postcode": {"type": "string"}, "billing_country": {"type": "string"}, "email": {"type": "string"}, "phone": {"type": "string"}, "ip_address": {"type": "string"}, "order_items": {"type": "array", "description": "Items on the order (max 50 stored).", "items": {"type": "object", "properties": {"upc": {"type": "string"}, "sku": {"type": "string"}, "name": {"type": "string"}, "qty": {"type": "integer"}, "price": {"type": "number"}}}}, "order_source": {"type": "string", "default": "developer_api"}, "order_id": {"type": "string"}, "order_json": {"type": "object", "description": "Raw order payload (stored for future scoring)."}, "notes": {"type": "string"}}}}}}, "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"message": {"type": "string"}, "fraud": {"$ref": "#/components/schemas/FraudResult"}}}}}}}}}}, "delete": {"tags": ["Fraud"], "summary": "Remove your own fraud report", "description": "Deletes only reports submitted by YOUR key matching the order's strong signals; other dealers' reports remain. Limited to 25 removals per 24h per key.", "operationId": "fraudReportRemove", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "properties": {"shipping_name": {"type": "string"}, "shipping_address_1": {"type": "string"}, "shipping_address_2": {"type": "string"}, "shipping_city": {"type": "string"}, "shipping_state": {"type": "string"}, "shipping_postcode": {"type": "string"}, "shipping_country": {"type": "string"}, "shipping_is_ffl": {"type": "boolean", "description": "True when the order ships to an FFL dealer's premises. FFL shipments are never recorded and their shipping address is never matched."}, "billing_name": {"type": "string"}, "billing_address_1": {"type": "string"}, "billing_address_2": {"type": "string"}, "billing_city": {"type": "string"}, "billing_state": {"type": "string"}, "billing_postcode": {"type": "string"}, "billing_country": {"type": "string"}, "email": {"type": "string"}, "phone": {"type": "string"}, "ip_address": {"type": "string"}, "order_items": {"type": "array", "description": "Items on the order (max 50 stored).", "items": {"type": "object", "properties": {"upc": {"type": "string"}, "sku": {"type": "string"}, "name": {"type": "string"}, "qty": {"type": "integer"}, "price": {"type": "number"}}}}}}}}}, "responses": {"400": {"description": "Invalid request", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "401": {"description": "Missing API key", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "403": {"description": "Key not authorized, no IP allowlist registered, or caller IP not allowlisted", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "429": {"description": "Rate limit exceeded", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "500": {"description": "Internal error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Error"}}}}, "200": {"description": "Successful response", "content": {"application/json": {"schema": {"type": "object", "properties": {"success": {"type": "boolean", "example": true}, "data": {"type": "object", "properties": {"removed": {"type": "integer"}, "fraud": {"$ref": "#/components/schemas/FraudResult"}}}}}}}}}}}, "/v1/openapi.json": {"get": {"tags": ["Documentation"], "summary": "This OpenAPI specification", "security": [], "operationId": "getOpenApi", "responses": {"200": {"description": "OpenAPI 3.0 document"}}}}, "/v1/docs": {"get": {"tags": ["Documentation"], "summary": "Swagger UI", "security": [], "operationId": "getDocs", "responses": {"200": {"description": "Interactive API explorer (HTML)"}}}}, "/v1/docs/guide": {"get": {"tags": ["Documentation"], "summary": "Detailed developer guide", "security": [], "operationId": "getGuide", "responses": {"200": {"description": "Developer documentation (HTML)"}}}}, "/v1/llms.txt": {"get": {"tags": ["Documentation"], "summary": "Agent-optimized markdown reference", "description": "Complete integration reference as a single markdown document, written for AI coding agents (Claude Code, Codex, etc.): exact contracts, workflows, and invariants. Point your agent here first.", "security": [], "operationId": "getLlmsTxt", "responses": {"200": {"description": "Markdown document", "content": {"text/markdown": {"schema": {"type": "string"}}}}}}}}}