{"openapi":"3.1.0","info":{"title":"Salt Creative — Business Intelligence API","version":"0.2","description":"REST interface for Salt Creative's PUBLICMCP server. All endpoints are read-only and require no authentication. Call get_info first to learn about the business. For native MCP clients (Claude, Cursor, Windsurf), connect to https://mcp.sltcreative.com/mcp instead."},"servers":[{"url":"https://mcp.sltcreative.com"}],"paths":{"/tools/get_info":{"get":{"operationId":"get_info","summary":"Core business identity","description":"Returns name, tagline, description, founders, contact, opening hours, and social profiles.","parameters":[],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","description":"Core business identity.","properties":{"publicmcp_version":{"type":"string","description":"PUBLICMCP spec version, e.g. '0.2'"},"name":{"type":"string","description":"Business name"},"tagline":{"type":"string","description":"Short marketing tagline"},"description":{"type":"string","description":"Full business description"},"founded":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Year founded, or null if unknown"},"founder":{"type":"string","description":"Primary founder full name"},"co_founder":{"type":"string","description":"Co-founder full name, or empty string"},"website":{"type":"string","description":"Business website URL"},"business_type":{"type":"array","items":{"type":"string"},"description":"Schema.org business type(s), e.g. ['LocalBusiness']"},"legal_name":{"type":"string","description":"Registered legal business name"},"logo":{"type":"string","description":"Logo image URL"},"price_range":{"type":"string","description":"Price tier indicator: $, $$, $$$, or $$$$"},"contact":{"type":"object","description":"Contact methods","properties":{"email":{"type":"string","description":"Contact email"},"telephone":{"type":"string","description":"Phone number"},"quote_url":{"type":"string","description":"URL to request a quote"},"booking_url":{"type":"string","description":"URL to book an appointment"}},"additionalProperties":true},"opening_hours":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Structured opening hours (Schema.org OpeningHoursSpecification)"},"social_profiles":{"type":"object","description":"Social media URLs keyed by platform (instagram, facebook, etc.)","additionalProperties":{"type":"string"}}},"required":["publicmcp_version","name","tagline","description","founded","founder","co_founder","website","business_type","legal_name","logo","price_range","contact","opening_hours","social_profiles"],"additionalProperties":false}}}}}}},"/tools/get_services":{"get":{"operationId":"get_services","summary":"Services with pricing and details","description":"Returns services. Filter by category. Array of service objects, or error if none match.","parameters":[{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Optional category filter (e.g. 'design', 'marketing', 'hair')."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"type":"object","description":"A service offered by this business","properties":{"name":{"type":"string","description":"Service name"},"category":{"type":"string","description":"Service category"},"description":{"type":"string","description":"Full service description"},"highlights":{"type":"array","items":{"type":"string"},"description":"Key selling points"},"pricing":{"type":"object","additionalProperties":true,"description":"Pricing details"},"timeline":{"type":"string","description":"Typical delivery timeline"}},"required":["name","category"],"additionalProperties":true}},{"type":"object","properties":{"error":{"type":"string","description":"Error message if no services match the filter"}},"required":["error"],"additionalProperties":false}]}}}}}}},"/tools/get_location":{"get":{"operationId":"get_location","summary":"Office locations and service areas","description":"Returns headquarters, offices, service areas, geo, and remote availability.","parameters":[{"name":"market","in":"query","required":false,"schema":{"type":"string"},"description":"Optional city filter (e.g. 'Boise', 'Seattle')."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","description":"Geographic presence and service coverage.","properties":{"headquarters":{"type":"string","description":"Primary headquarters city and state"},"geo":{"anyOf":[{"type":"object","properties":{"latitude":{"type":"number","description":"Latitude"},"longitude":{"type":"number","description":"Longitude"}},"additionalProperties":true},{"type":"null"}],"description":"Geo coordinates of headquarters, or null"},"geo_radius":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"description":"Service radius in miles or descriptive string"},"remote_capable":{"type":"boolean","description":"True if the business serves clients remotely"},"offices":{"type":"array","items":{"type":"object","properties":{"city":{"type":"string","description":"City name"},"state":{"type":"string","description":"State abbreviation"},"address":{"type":"string","description":"Street address"},"primary":{"type":"boolean","description":"True if this is the main office"}},"additionalProperties":true},"description":"Office locations"},"service_areas":{"type":"array","items":{"type":"string"},"description":"Cities, metro areas, and regions served"}},"required":["headquarters","geo","geo_radius","remote_capable","offices","service_areas"],"additionalProperties":false}}}}}}},"/tools/get_portfolio":{"get":{"operationId":"get_portfolio","summary":"Portfolio highlights","description":"Returns portfolio items filtered by market and/or category.","parameters":[{"name":"market","in":"query","required":false,"schema":{"type":"string"},"description":"Filter to a city or market."},{"name":"category","in":"query","required":false,"schema":{"type":"string"},"description":"Filter to a type of work (e.g. 'web design', 'SEO')."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"type":"object","description":"A single portfolio item","properties":{"title":{"type":"string","description":"Project or client name"},"description":{"type":"string","description":"What was built or achieved"},"category":{"type":"string","description":"Type of work, e.g. 'web design', 'SEO'"},"markets":{"type":"array","items":{"type":"string"},"description":"Cities or markets this project is associated with"},"url":{"type":"string","description":"Live project URL if available"},"image":{"type":"string","description":"Featured image URL"}},"required":["title"],"additionalProperties":true}},{"type":"object","properties":{"message":{"type":"string","description":"Message when no items match the filters"}},"required":["message"],"additionalProperties":false}]}}}}}}},"/tools/search_site_content":{"get":{"operationId":"search_site_content","summary":"Full-text search of the business's website","description":"Searches crawled site pages. Returns matching pages with title, URL, and snippet.","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string"},"description":"Search terms."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50},"description":"Max results (default 5, max 50)."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/tools/get_page_content":{"get":{"operationId":"get_page_content","summary":"Full text of one website page","description":"Returns the crawled text content of a specific page URL from this business's site.","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"description":"Page URL as returned by search_site_content or list_site_pages."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/tools/list_site_pages":{"get":{"operationId":"list_site_pages","summary":"List all crawled pages on the business's website","description":"Returns crawled page URLs and titles.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500},"description":"Max pages to return (default 100, max 500)."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/tools/get_capabilities":{"get":{"operationId":"get_capabilities","summary":"Differentiators and technology stack","description":"Returns proprietary technology, methodology, and competitive differentiators. Use for competitive positioning and explaining unique value.","parameters":[],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","description":"Proprietary technology, methodology, and competitive differentiators. Shape varies by tenant. Common top-level keys: differentiators (array), seo_intelligence (object), technology_stack (array), methodology (object).","additionalProperties":true}}}}}}},"/tools/run_qualification":{"get":{"operationId":"run_qualification","summary":"Full prospect qualification — primary entry point","description":"Pass a free-text prospect description. Returns fit_score, detected vertical, pain points, objections, positioning, portfolio matches, and recommended next step — all in one call. Use this instead of chaining qualify_prospect + get_sales_context + get_portfolio.","parameters":[{"name":"description","in":"query","required":true,"schema":{"type":"string"},"description":"Free-text prospect description. Include industry, location, situation, and goals. Example: 'pediatric dentist in Spokane, on Wix, wants more new patient leads'."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","description":"Full orchestrated qualification result.","properties":{"fit_score":{"type":"string","enum":["strong","possible","poor"],"description":"strong = served market + vertical both confirmed; possible = one confirmed; poor = neither confirmed"},"fit_reason":{"type":"string","description":"Human-readable explanation of the fit score"},"detected_vertical":{"type":"string","description":"Detected industry vertical"},"location_match":{"type":"string","enum":["primary_market","service_area","out_of_market"],"description":"primary_market = top-priority city; service_area = broader coverage; out_of_market = outside coverage"},"matched_market":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Matched market or null"},"vertical_pain_point":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Primary pain point for detected vertical, or null"},"objection_responses":{"type":"object","additionalProperties":{"type":"string"},"description":"Common objections and scripted responses"},"competitive_positioning":{"type":"object","additionalProperties":true,"description":"How this business positions against key competitors"},"ideal_client_profile":{"anyOf":[{"type":"object"},{"type":"null"}],"description":"Ideal client profile for detected vertical, or null"},"portfolio_matches":{"type":"array","items":{"type":"object","description":"A single portfolio item","properties":{"title":{"type":"string","description":"Project or client name"},"description":{"type":"string","description":"What was built or achieved"},"category":{"type":"string","description":"Type of work, e.g. 'web design', 'SEO'"},"markets":{"type":"array","items":{"type":"string"},"description":"Cities or markets this project is associated with"},"url":{"type":"string","description":"Live project URL if available"},"image":{"type":"string","description":"Featured image URL"}},"required":["title"],"additionalProperties":true},"description":"Relevant portfolio items for this prospect"},"discovery_questions":{"type":"array","items":{"type":"string"},"description":"Suggested discovery questions"},"capabilities_summary":{"type":"object","description":"Brief capabilities snapshot","properties":{"differentiators":{"type":"array","items":{"type":"string"},"description":"Key differentiators"},"signal_engine":{"type":"object","additionalProperties":true,"description":"Proprietary system name and description"}},"additionalProperties":true},"next_step":{"type":"string","description":"Recommended action"}},"required":["fit_score","fit_reason","detected_vertical","location_match","matched_market","vertical_pain_point","objection_responses","competitive_positioning","ideal_client_profile","portfolio_matches","discovery_questions","capabilities_summary","next_step"],"additionalProperties":true}}}}}}},"/tools/get_sales_context":{"get":{"operationId":"get_sales_context","summary":"Consultative sales brief by vertical","description":"Returns pain points, objection handling, competitive positioning, and qualifying questions for a vertical.","parameters":[{"name":"vertical","in":"query","required":false,"schema":{"type":"string"},"description":"Industry vertical (e.g. 'healthcare', 'real_estate', 'ecommerce'). Leave empty for general context."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","description":"Consultative sales context for a given vertical.","properties":{"pain_point":{"type":"string","description":"Primary pain point for this vertical"},"objection_responses":{"type":"object","additionalProperties":true,"description":"Common objections and responses"},"competitive_positioning":{"type":"object","additionalProperties":true,"description":"Competitive differentiation"},"social_proof":{"type":"object","additionalProperties":true,"description":"Testimonials, stats, or case studies"},"discovery_questions":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Structured discovery questions"},"qualifying_questions":{"type":"array","items":{"type":"object","additionalProperties":true},"description":"Qualification checklist"},"ideal_client_profile":{"anyOf":[{"type":"object"},{"type":"null"}],"description":"Ideal client profile for specified vertical"},"ideal_client_profiles":{"anyOf":[{"type":"array","items":{"type":"object","additionalProperties":true}},{"type":"null"}],"description":"All profiles (returned when no specific vertical matched)"},"project_fit":{"type":"object","additionalProperties":true,"description":"Project characteristics that indicate a strong fit"}},"required":["objection_responses","competitive_positioning"],"additionalProperties":true}}}}}}},"/tools/qualify_prospect":{"get":{"operationId":"qualify_prospect","summary":"Prospect fit score and service recommendation","description":"Returns fit_score (strong/possible/poor), detected vertical, location match, and recommended service.","parameters":[{"name":"description","in":"query","required":true,"schema":{"type":"string"},"description":"Free-text prospect description. Include location, industry, and goals."},{"name":"market","in":"query","required":false,"schema":{"type":"string"},"description":"Override or hint at the prospect's market city."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","description":"Prospect fit assessment.","properties":{"fit_score":{"type":"string","enum":["strong","possible","poor"],"description":"strong = served market + vertical both confirmed; possible = one confirmed; poor = neither confirmed"},"fit_reason":{"type":"string","description":"Human-readable explanation of the fit score"},"detected_vertical":{"type":"string","description":"Detected industry vertical, or 'unknown — include industry in description for better results'"},"location_match":{"type":"string","enum":["primary_market","service_area","out_of_market"],"description":"primary_market = top-priority city; service_area = broader coverage; out_of_market = outside coverage"},"matched_market":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The specific market matched, or null if out_of_market"},"recommended_service":{"type":"string","description":"Service most relevant to this prospect"},"pricing_hint":{"type":"string","description":"Rough pricing range or 'Contact for quote'"},"discovery_questions":{"type":"array","items":{"type":"string"},"description":"Suggested questions to qualify further"},"next_step":{"type":"string","description":"Recommended action"},"vertical_pain_point":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Key pain point for the detected vertical, or null"}},"required":["fit_score","fit_reason","detected_vertical","location_match","matched_market","recommended_service","pricing_hint","discovery_questions","next_step"],"additionalProperties":true}}}}}}}}}