{"openapi":"3.1.0","info":{"title":"Dade Pest Solutions Public Service Directory API","version":"1.0.0","description":"Version 1 is a read only public business, service, and South Florida service area API for agent and integration discovery. It does not create appointments, submit leads, or expose customer data.","contact":{"name":"Dade Pest Solutions","url":"https://dadepestsolutions.com","email":"info@dadepestsolutions.com"}},"servers":[{"url":"https://dadepestsolutions.com","description":"Production"}],"tags":[{"name":"Public directory","description":"Read only verified business discovery data."}],"paths":{"/api/v1/public/business":{"get":{"tags":["Public directory"],"operationId":"getDadePestBusinessProfile","summary":"Get verified Dade Pest Solutions business identity and contact data","description":"Returns public business identity, contact data, primary address, and declared service area.","responses":{"200":{"description":"Business profile returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessProfile"}}}},"429":{"$ref":"#/components/responses/RateLimitError"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/api/v1/public/services":{"get":{"tags":["Public directory"],"operationId":"listDadePestServices","summary":"List public Dade Pest Solutions service offerings","description":"Returns the public service directory with descriptions, starting prices, and advertised features.","responses":{"200":{"description":"Service directory returned","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Service"}}}}},"429":{"$ref":"#/components/responses/RateLimitError"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/api/v1/public/service-areas":{"get":{"tags":["Public directory"],"operationId":"listDadePestServiceAreas","summary":"List South Florida communities served by Dade Pest Solutions","description":"Returns public communities served in Miami Dade County with ZIP codes and canonical service area URLs.","responses":{"200":{"description":"Service area directory returned","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ServiceArea"}}}}},"429":{"$ref":"#/components/responses/RateLimitError"},"500":{"$ref":"#/components/responses/InternalError"}}}}},"components":{"schemas":{"Address":{"type":"object","required":["streetAddress","addressLocality","addressRegion","postalCode","addressCountry"],"properties":{"streetAddress":{"type":"string","description":"Street address"},"addressLocality":{"type":"string","description":"City"},"addressRegion":{"type":"string","description":"State or region"},"postalCode":{"type":"string","description":"Postal code"},"addressCountry":{"type":"string","description":"ISO country code"}}},"BusinessProfile":{"type":"object","required":["name","phone","website","address","serviceArea"],"properties":{"name":{"type":"string","description":"Legal business name"},"phone":{"type":"string","description":"Public customer phone number"},"email":{"type":"string","format":"email","description":"Public contact email"},"website":{"type":"string","format":"uri","description":"Canonical public website"},"serviceArea":{"type":"string","description":"Primary geographic service area"},"address":{"$ref":"#/components/schemas/Address"}}},"Service":{"type":"object","required":["id","name","description","startingPrice","features"],"properties":{"id":{"type":"string","description":"Stable public service identifier"},"name":{"type":"string","description":"Public service name"},"description":{"type":"string","description":"Public service description"},"startingPrice":{"type":"string","description":"Advertised starting price, subject to confirmation"},"features":{"type":"array","description":"Advertised service features","items":{"type":"string"}}}},"ServiceArea":{"type":"object","required":["name","slug","zipCodes","description","url"],"properties":{"name":{"type":"string","description":"Community name"},"slug":{"type":"string","description":"Stable URL segment"},"zipCodes":{"type":"array","description":"Associated ZIP codes","items":{"type":"string"}},"description":{"type":"string","description":"Public local service context"},"url":{"type":"string","format":"uri","description":"Canonical service area page"}}},"ApiError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","resolution"],"properties":{"code":{"type":"string","enum":["NOT_FOUND","RATE_LIMITED","INTERNAL_SERVER_ERROR"],"description":"Stable machine readable error code"},"message":{"type":"string","description":"Human readable explanation"},"resolution":{"type":"string","description":"Action the caller can take"}}}}}},"responses":{"RateLimitError":{"description":"The caller exceeded the public API request limit","headers":{"Retry-After":{"schema":{"type":"integer"},"description":"Seconds until another request may be made"},"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Maximum requests in the current window"},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests remaining in the current window"},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the current window resets"}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"InternalError":{"description":"Unexpected server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}},"x-api-versioning-policy":{"currentVersion":"v1","URLPattern":"/api/v{major}/public","legacyPath":"/api/public","legacyDeprecation":"The legacy unversioned path is available until 2027-08-22 and sends Deprecation, Sunset, and Link headers.","breakingChanges":"Breaking changes are introduced only in a new major URL version. Version v1 receives additive backward compatible changes only."},"x-rate-limit-policy":{"limit":60,"windowSeconds":60,"headers":["RateLimit-Limit","RateLimit-Remaining","RateLimit-Reset","Retry-After on 429"]}}