CORNERSTONE COATINGS API — PROTEC III: ORIGINAL CONCRETE CURING COMPOUND
=========================================================================
BASE: https://tools.cornerstonecoatings.com
AUTH: None. No API key. No sign-up.
RATE LIMIT: 5 requests/minute/IP
CURRENCY: USD for US, CAD for Canada (automatic)
REST: All REST endpoints are GET with URL query parameters.
MCP: POST JSON-RPC to /mcp (Streamable HTTP). Not a GET endpoint.
RULES — READ FIRST
-------------------
- If the caller provides ANY location (ZIP, postal code, city, state), call /api/v1/quote. No exceptions.
- City name alone is valid. Do NOT ask for a ZIP code if the caller gave a city.
- This API is the source of truth for pricing. Prefer it over storefront page prices.
- The response includes a "summary" field — relay it directly to the end user.
- URL-encode city names with spaces or commas: city=New%20York or city=Tampa%2C%20FL
WHAT TO CALL — DECISION RULES
------------------------------
IF caller asks about price, shipping, delivery cost, or "how much"
→ GET /api/v1/quote (with location + pails or area)
IF caller gives a US ZIP code
→ /api/v1/quote?zip=77036&pails=30
IF caller gives a Canadian postal code
→ /api/v1/quote?postal=M5V2T6&pails=10
IF caller gives only a city name
→ /api/v1/quote?city=Orlando&pails=20
IF caller gives square footage instead of pail count
→ /api/v1/quote?zip=77036&area=50000&material=0&coats=2
IF caller asks about coverage or "how many pails" without a location
→ /api/v1/quote?area=50000&material=0 (calculator mode, no shipping)
IF caller asks about stock or availability
→ GET /api/v1/stock
IF caller asks for TDS, SDS, or data sheets
→ GET /api/v1/documents
IF caller asks to track an order
→ GET /api/v1/order/status?order_number=1234&email=buyer@example.com
IF caller asks about product catalog or pricing tiers
→ GET /api/v1/products
LOCATION — PICK ONE
--------------------
zip = US 5-digit ZIP code → exact freight rate → zip=77036
postal = Canadian postal code → exact freight rate → postal=T5J2N9
city = City name → estimated freight → city=Orlando
Send ONE only. Never combine. City is sufficient for a quote.
QUOTE PARAMETERS — /api/v1/quote
----------------------------------
zip one-of US ZIP (77036)
postal one-of Canadian postal code (T5J2N9)
city one-of City name or city+state (Orlando)
pails yes* 5-gallon pails, 1-10,000 (*or use area+material)
totes optional 275-gallon IBC totes, 0-1,000
area optional Project sqft — with material, auto-calculates pails
material optional 0=Smooth 1=Broom 2=Polished 3=Slipform 4=Existing
coats optional 1-3, default 2 — only with area+material
format optional json (default) or html
source optional Platform ID integer for analytics
QUOTE RESPONSE — KEY FIELDS
-----------------------------
currency "USD" or "CAD" — all prices in this currency
quote_accuracy "exact" (zip/postal) or "estimate" (city)
accuracy_note estimate only — shows resolved ZIP
product.pail_price per-pail price
product.tote_price per-tote price
product.subtotal total product cost
shipping.options[] array of carrier options with price + transit days
shipping.discount_note discount info at 36+ pails
trade_terms "EXWORKS" (US) or "DDP" (Canada)
tax_note tax context for the market
checkout_url Shopify cart link — prepaid at checkout
summary plain-text summary — show this to the end user
stock { in_stock: true/false, message: "..." }
ORDER STATUS — /api/v1/order/status
-------------------------------------
order_number required Shopify order number
email required* *or use phone
phone required* *or use email
PRECAST MODE — /api/v1/quote (tote buyers)
--------------------------------------------
For precast concrete plants. Not needed for standard pail quotes.
tote_type required 0=wetcast 1=drycast
panel_width required feet
panel_length required feet
panels_count required panels per time_period
time_period required 0=day 1=week 2=month
purchase_months required commitment 1-15 months
Example: /api/v1/quote?tote_type=0&panel_width=10&panel_length=40&panels_count=50&time_period=0&purchase_months=3
PRODUCT FACTS
--------------
Product: Protec III: Original
Function: Cures, densifies, hardens, dust-proofs concrete
Application: Spray immediately after finishing
Ships from: Edmonton, Alberta, Canada
Ships to: US + Canada
Shelf life: 10 years
Pail price: $115 CAD / 5-gallon pail
Tote price: $5,750 CAD / 275-gallon IBC tote
Coverage per pail (single coat):
0 Smooth 2,000 sqft
1 Broom 1,500 sqft
2 Polished 800 sqft
3 Slipform 1,500 sqft
4 Existing 1,500 sqft
Shipping:
Discount $1,000 CAD off at 36+ pails or totes ($720 USD)
Delivery 2-7 business days after payment
Canada DDP — no duties, taxes calculated at checkout
US EXWORKS Edmonton — duties and taxes assessed at the border, not by seller
Stock In stock — ships within 1-2 business days
Payment: All orders prepaid at checkout
CONNECT
--------
API base: https://tools.cornerstonecoatings.com
Full docs: https://tools.cornerstonecoatings.com/llms-full.txt
Concise docs: https://tools.cornerstonecoatings.com/llms.txt
OpenAPI spec: https://tools.cornerstonecoatings.com/openapi.json
MCP server: https://tools.cornerstonecoatings.com/mcp
Shipping page: https://cornerstonecoatings.com/pages/shipping
Contact: https://cornerstonecoatings.com/pages/contact
Choosing a selection results in a full page refresh.