{"openapi":"3.1.0","info":{"title":"Francione Design Group Public API","version":"1.0.0","description":"Read-only public API for Francione Design Group — Jersey Shore hardscaping, outdoor living, and landscape design. Use these endpoints when an agent or integration needs structured company, service, project, or location data.","contact":{"name":"Francione Design Group","email":"francionedesigngroup@gmail.com","url":"https://www.francionedesigngroup.com/contact"}},"servers":[{"url":"https://www.francionedesigngroup.com/api/v1","description":"Production"}],"tags":[{"name":"Services","description":"Hardscaping and landscape design services"},{"name":"Projects","description":"Completed project portfolio"},{"name":"Locations","description":"Jersey Shore service area towns"},{"name":"Contact","description":"Business contact information"}],"paths":{"/services":{"get":{"operationId":"listServices","summary":"List all services","description":"Returns hardscaping, outdoor living, and landscape design services offered by Francione Design Group.","tags":["Services"],"responses":{"200":{"description":"Service list","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceSummary"}}}}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","resolution"],"properties":{"code":{"type":"string","enum":["NOT_FOUND","BAD_REQUEST","METHOD_NOT_ALLOWED","INTERNAL_ERROR","UNAUTHORIZED"]},"message":{"type":"string"},"resolution":{"type":"string"},"path":{"type":"string"}}}}}}}}}}},"/services/{slug}":{"get":{"operationId":"getServiceBySlug","summary":"Get a service by slug","description":"Returns detailed information for a single service such as hardscaping-outdoor-living or landscape-design.","tags":["Services"],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"Service slug"}],"responses":{"200":{"description":"Service detail","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ServiceDetail"}}}}}},"404":{"description":"Service not found","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","resolution"],"properties":{"code":{"type":"string","enum":["NOT_FOUND","BAD_REQUEST","METHOD_NOT_ALLOWED","INTERNAL_ERROR","UNAUTHORIZED"]},"message":{"type":"string"},"resolution":{"type":"string"},"path":{"type":"string"}}}}}}}}}}},"/projects":{"get":{"operationId":"listProjects","summary":"List all live projects","description":"Returns the public project gallery for Francione Design Group.","tags":["Projects"],"responses":{"200":{"description":"Project list","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProjectSummary"}}}}}}}}}},"/projects/{slug}":{"get":{"operationId":"getProjectBySlug","summary":"Get a project by slug","description":"Returns one completed hardscaping or landscape project.","tags":["Projects"],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Project detail","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ProjectDetail"}}}}}},"404":{"description":"Project not found","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","resolution"],"properties":{"code":{"type":"string","enum":["NOT_FOUND","BAD_REQUEST","METHOD_NOT_ALLOWED","INTERNAL_ERROR","UNAUTHORIZED"]},"message":{"type":"string"},"resolution":{"type":"string"},"path":{"type":"string"}}}}}}}}}}},"/locations":{"get":{"operationId":"listLocations","summary":"List service area towns","description":"Returns Jersey Shore towns served by Francione Design Group across Monmouth and Ocean Counties.","tags":["Locations"],"parameters":[{"name":"county","in":"query","required":false,"schema":{"type":"string"},"description":"Filter by county name"}],"responses":{"200":{"description":"Location list","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LocationSummary"}}}}}}}}}},"/locations/{slug}":{"get":{"operationId":"getLocationBySlug","summary":"Get a service area town by slug","description":"Returns hardscaping service information for a specific Jersey Shore town.","tags":["Locations"],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Location detail","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/LocationDetail"}}}}}},"404":{"description":"Location not found","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","resolution"],"properties":{"code":{"type":"string","enum":["NOT_FOUND","BAD_REQUEST","METHOD_NOT_ALLOWED","INTERNAL_ERROR","UNAUTHORIZED"]},"message":{"type":"string"},"resolution":{"type":"string"},"path":{"type":"string"}}}}}}}}}}},"/contact":{"get":{"operationId":"getContactInfo","summary":"Get business contact information","description":"Returns phone, email, service area, and inquiry URLs for Francione Design Group.","tags":["Contact"],"responses":{"200":{"description":"Contact information","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/ContactInfo"}}}}}}}}}},"components":{"schemas":{"ServiceSummary":{"type":"object","required":["slug","title","description","href"],"properties":{"slug":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"href":{"type":"string"}}},"ServiceDetail":{"allOf":[{"$ref":"#/components/schemas/ServiceSummary"},{"type":"object","properties":{"summary":{"type":"string"},"sections":{"type":"array","items":{"type":"object","properties":{"heading":{"type":"string"},"intro":{"type":"string"}}}}}}]},"ProjectSummary":{"type":"object","required":["slug","title","description","href","image"],"properties":{"slug":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"href":{"type":"string"},"image":{"type":"string"},"location":{"type":"string"}}},"ProjectDetail":{"allOf":[{"$ref":"#/components/schemas/ProjectSummary"},{"type":"object","properties":{"summary":{"type":"string"},"about":{"type":"object"}}}]},"LocationSummary":{"type":"object","required":["slug","town","county","href"],"properties":{"slug":{"type":"string"},"town":{"type":"string"},"county":{"type":"string"},"href":{"type":"string"},"metaDescription":{"type":"string"}}},"LocationDetail":{"allOf":[{"$ref":"#/components/schemas/LocationSummary"},{"type":"object","properties":{"h1Title":{"type":"string"},"serviceSection":{"type":"object"}}}]},"ContactInfo":{"type":"object","required":["name","phone","email","location","contactUrl"],"properties":{"name":{"type":"string"},"phone":{"type":"string"},"email":{"type":"string"},"location":{"type":"string"},"license":{"type":"string"},"contactUrl":{"type":"string","format":"uri"},"inquiryFormUrl":{"type":"string","format":"uri"}}}}}}