{"openapi":"3.1.0","info":{"title":"Francione Design Group Public API","version":"1.0.0","description":"Read-only public REST API for Francione Design Group — New Jersey's premier specialists in luxury hardscaping, patios, outdoor kitchens, and landscape design across Monmouth and Ocean Counties. Designed for AI agents, developers, and integrations requiring structured business, service, project portfolio, or service area information. All responses follow standard JSON envelopes with RFC 9457 error models and RFC RateLimit headers.","contact":{"name":"Francione Design Group","email":"francionedesigngroup@gmail.com","url":"https://www.francionedesigngroup.com/contact"},"license":{"name":"Proprietary / Public Read-Only","url":"https://www.francionedesigngroup.com/privacy"},"x-versioning-policy":{"scheme":"URI path versioning (/api/v1)","currentVersion":"1.0.0","lifecycle":"Active & Supported","breakingChangesPolicy":"Breaking changes will only be introduced in a new major URI path (e.g., /api/v2)."},"x-deprecation-policy":{"noticePeriod":"Minimum 6 months advance notice before sunsetting any version.","headers":{"Deprecation":"Standard RFC 8594 Deprecation header with date or boolean.","Sunset":"Standard RFC 8594 Sunset header indicating retirement timestamp.","Link":"Link header pointing to successor documentation."},"documentationUrl":"https://www.francionedesigngroup.com/docs#versioning"}},"servers":[{"url":"https://www.francionedesigngroup.com/api/v1","description":"Francione Design Group Production API (v1)"}],"tags":[{"name":"Services","description":"Hardscaping, outdoor kitchens, paver patios, and landscape design services."},{"name":"Projects","description":"Completed luxury residential project portfolio along the Jersey Shore."},{"name":"Locations","description":"Municipalities and service area towns across Monmouth and Ocean Counties, NJ."},{"name":"Contact","description":"Business contact details, licensing, phone, email, and inquiry links."}],"paths":{"/services":{"get":{"operationId":"listServices","summary":"List all hardscaping and landscape services","description":"Retrieve a list of all primary service offerings by Francione Design Group, including hardscaping & outdoor living and landscape design & installation.","tags":["Services"],"responses":{"200":{"description":"Successfully retrieved the list of services.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ServiceSummary"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/services/{slug}":{"get":{"operationId":"getServiceBySlug","summary":"Get detailed service information by slug","description":"Retrieve full details for a specific service (e.g. 'hardscaping-outdoor-living' or 'landscape-design'), including structured section breakdowns and capabilities.","tags":["Services"],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","enum":["hardscaping-outdoor-living","landscape-design"]},"description":"The unique slug identifier of the service.","example":"hardscaping-outdoor-living"}],"responses":{"200":{"description":"Successfully retrieved service details.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ServiceDetail"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/projects":{"get":{"operationId":"listProjects","summary":"List completed hardscaping and outdoor living projects","description":"Retrieve the public portfolio of completed luxury hardscaping and outdoor living projects across Monmouth and Ocean Counties.","tags":["Projects"],"responses":{"200":{"description":"Successfully retrieved the project list.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProjectSummary"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/projects/{slug}":{"get":{"operationId":"getProjectBySlug","summary":"Get detailed project information by slug","description":"Retrieve full case study details for a specific completed project, including about sections, solutions, and imagery.","tags":["Projects"],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"The unique slug identifier of the project.","example":"custom-paver-patio-rumson"}],"responses":{"200":{"description":"Successfully retrieved project details.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ProjectDetail"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/locations":{"get":{"operationId":"listLocations","summary":"List Jersey Shore service area towns","description":"Retrieve all municipalities served by Francione Design Group across Monmouth and Ocean Counties. Supports optional filtering by county.","tags":["Locations"],"parameters":[{"name":"county","in":"query","required":false,"schema":{"type":"string","enum":["Monmouth County","Ocean County"]},"description":"Filter service area towns by county name.","example":"Monmouth County"}],"responses":{"200":{"description":"Successfully retrieved the service areas list.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/LocationSummary"}}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/locations/{slug}":{"get":{"operationId":"getLocationBySlug","summary":"Get service area details for a specific town","description":"Retrieve hardscaping and outdoor living service details for a specific town along the Jersey Shore (e.g. 'rumson', 'spring-lake', 'point-pleasant').","tags":["Locations"],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"},"description":"The unique slug identifier of the town / location.","example":"rumson"}],"responses":{"200":{"description":"Successfully retrieved location service details.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/LocationDetail"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}},"/contact":{"get":{"operationId":"getContactInfo","summary":"Get business contact and licensing information","description":"Retrieve official company contact details, NJ contractor license number, phone numbers, email address, physical address, business hours, and quote inquiry links.","tags":["Contact"],"responses":{"200":{"description":"Successfully retrieved contact information.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"$ref":"#/components/schemas/ContactInfo"}}}}}},"400":{"$ref":"#/components/responses/BadRequest"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalError"}}}}},"components":{"schemas":{"ErrorResponse":{"type":"object","required":["type","title","status","detail","code","message","resolution","error"],"properties":{"type":{"type":"string","format":"uri","description":"URI reference identifying the problem type according to RFC 9457.","example":"https://www.francionedesigngroup.com/docs#errors"},"title":{"type":"string","description":"Short, human-readable summary of the problem type.","example":"Resource Not Found"},"status":{"type":"integer","description":"HTTP status code generated by the origin server.","example":404},"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence of the problem.","example":"projects not found"},"code":{"type":"string","enum":["NOT_FOUND","BAD_REQUEST","METHOD_NOT_ALLOWED","INTERNAL_ERROR","UNAUTHORIZED","RATE_LIMIT_EXCEEDED"],"description":"Machine-readable error code for agent decision-making.","example":"NOT_FOUND"},"message":{"type":"string","description":"Human-readable description of what went wrong.","example":"projects not found"},"resolution":{"type":"string","description":"Concrete guidance on how an agent or client can resolve the issue.","example":"Check the slug against GET /api/v1/projects or review the OpenAPI spec at /openapi.json."},"path":{"type":"string","description":"The request path that generated the error.","example":"/api/v1/projects/invalid-slug"},"error":{"type":"object","required":["code","message","resolution"],"description":"Structured error envelope for backwards compatibility.","properties":{"code":{"type":"string","enum":["NOT_FOUND","BAD_REQUEST","METHOD_NOT_ALLOWED","INTERNAL_ERROR","UNAUTHORIZED","RATE_LIMIT_EXCEEDED"],"example":"NOT_FOUND"},"message":{"type":"string","example":"projects not found"},"resolution":{"type":"string","example":"Check the slug against GET /api/v1/projects or review the OpenAPI spec at /openapi.json."},"path":{"type":"string","example":"/api/v1/projects/invalid-slug"}}}}},"ServiceSummary":{"type":"object","required":["slug","title","description","href"],"description":"Summary card for a hardscaping or landscape design service.","properties":{"slug":{"type":"string","description":"URL slug of the service.","example":"hardscaping-outdoor-living"},"title":{"type":"string","description":"Service name.","example":"Hardscaping & Outdoor Living"},"description":{"type":"string","description":"Summary of the service capabilities.","example":"Custom paver patios, outdoor kitchens, fire pits, retaining walls, and custom outdoor living spaces."},"href":{"type":"string","description":"Relative web URL for the service page.","example":"/services/hardscaping-outdoor-living"}}},"ServiceSection":{"type":"object","required":["heading","intro"],"description":"A section detail within a service page.","properties":{"heading":{"type":"string","description":"Section heading.","example":"Custom Paver Patios & Walkways"},"intro":{"type":"string","description":"Section description.","example":"Engineered base preparation and master craftsmanship with premium pavers."},"items":{"type":"array","description":"Specific offerings or features in this section.","items":{"type":"object","required":["title","description"],"properties":{"title":{"type":"string","example":"Material Selection"},"description":{"type":"string","example":"Natural stone, porcelain, and concrete pavers."}}}}}},"ServiceDetail":{"type":"object","required":["slug","title","description","href","summary","sections"],"description":"Full service offering details and section breakdown.","properties":{"slug":{"type":"string","example":"hardscaping-outdoor-living"},"title":{"type":"string","example":"Hardscaping & Outdoor Living"},"description":{"type":"string","example":"Custom paver patios, outdoor kitchens, and fire features."},"href":{"type":"string","example":"/services/hardscaping-outdoor-living"},"summary":{"type":"string","example":"Francione Design Group builds bespoke outdoor living spaces designed for coastal NJ longevity."},"sections":{"type":"array","items":{"$ref":"#/components/schemas/ServiceSection"}}}},"ProjectSummary":{"type":"object","required":["slug","title","description","href","image"],"description":"Summary representation of a completed project.","properties":{"slug":{"type":"string","example":"modern-coastal-patio-spring-lake"},"title":{"type":"string","example":"Modern Coastal Patio & Outdoor Kitchen"},"description":{"type":"string","example":"Custom travertine patio with built-in kitchen and gas fire pit."},"href":{"type":"string","example":"/projects/modern-coastal-patio-spring-lake"},"image":{"type":"string","format":"uri-reference","example":"/images/project-spring-lake.webp"},"location":{"type":"string","description":"Municipality or region where project was built.","example":"Spring Lake, NJ"}}},"ProjectAbout":{"type":"object","required":["heading","paragraphs"],"description":"Narrative overview and solution details for a project.","properties":{"heading":{"type":"string","example":"The Vision & Transformation"},"paragraphs":{"type":"array","items":{"type":"string"},"example":["The homeowners desired a seamless indoor-outdoor entertaining area.","We installed multi-tier porcelain pavers with built-in drainage."]},"solutionIntro":{"type":"string","example":"Design solutions implemented:"},"solutions":{"type":"array","items":{"type":"string"},"example":["Permeable base","Integrated LED lighting"]},"highlightsIntro":{"type":"string","example":"Key project highlights:"},"highlights":{"type":"array","items":{"type":"string"},"example":["Outdoor kitchen island","Gas fire pit lounge"]}}},"ProjectDetail":{"type":"object","required":["slug","title","description","href","image","summary","about"],"description":"Complete project case study details.","properties":{"slug":{"type":"string","example":"modern-coastal-patio-spring-lake"},"title":{"type":"string","example":"Modern Coastal Patio & Outdoor Kitchen"},"description":{"type":"string","example":"Custom travertine patio with built-in kitchen and gas fire pit."},"href":{"type":"string","example":"/projects/modern-coastal-patio-spring-lake"},"image":{"type":"string","example":"/images/project-spring-lake.webp"},"location":{"type":"string","example":"Spring Lake, NJ"},"summary":{"type":"string","example":"Complete outdoor living space transformation featuring premium stone and outdoor culinary appliances."},"about":{"$ref":"#/components/schemas/ProjectAbout"}}},"LocationSummary":{"type":"object","required":["slug","town","county","href","metaDescription"],"description":"Service area municipality summary.","properties":{"slug":{"type":"string","example":"rumson"},"town":{"type":"string","example":"Rumson"},"county":{"type":"string","enum":["Monmouth County","Ocean County"],"example":"Monmouth County"},"href":{"type":"string","example":"/rumson"},"metaDescription":{"type":"string","example":"Premier hardscaping, patio installation, and landscape design in Rumson, NJ by Francione Design Group."}}},"LocationFeature":{"type":"object","required":["title","description"],"properties":{"title":{"type":"string","example":"Custom Paver Patios"},"description":{"type":"string","example":"Durable, elegant hardscapes tailored to Rumson estates."}}},"LocationServiceSection":{"type":"object","required":["title","description"],"properties":{"title":{"type":"string","example":"Hardscaping & Outdoor Living in Rumson, NJ"},"description":{"type":"string","example":"Francione Design Group provides comprehensive hardscape engineering and outdoor living installations for Rumson homeowners."},"features":{"type":"array","items":{"$ref":"#/components/schemas/LocationFeature"}}}},"LocationAbout":{"type":"object","required":["title","paragraphs"],"properties":{"title":{"type":"string","example":"About Our Rumson Services"},"paragraphs":{"type":"array","items":{"type":"string"},"example":["Rumson is renowned for exceptional residential architecture and waterfront properties."]},"projectHighlight":{"type":"string","example":"Recent estate patio renovation on River Road."},"nearbyAreas":{"type":"string","example":"Also serving Fair Haven, Little Silver, and Sea Bright."}}},"LocationDetail":{"type":"object","required":["slug","town","county","href","h1Title","metaDescription","serviceSection","about"],"description":"Complete town-specific hardscaping service details.","properties":{"slug":{"type":"string","example":"rumson"},"town":{"type":"string","example":"Rumson"},"county":{"type":"string","example":"Monmouth County"},"href":{"type":"string","example":"/rumson"},"h1Title":{"type":"string","example":"Rumson, NJ Hardscaping & Outdoor Living Contractor"},"metaDescription":{"type":"string","example":"Premier hardscaping and outdoor living installations in Rumson, New Jersey."},"serviceSection":{"$ref":"#/components/schemas/LocationServiceSection"},"about":{"$ref":"#/components/schemas/LocationAbout"}}},"PostalAddressSchema":{"type":"object","required":["streetAddress","addressLocality","addressRegion","postalCode","addressCountry"],"properties":{"streetAddress":{"type":"string","example":"Jersey Shore service area"},"addressLocality":{"type":"string","example":"Monmouth County"},"addressRegion":{"type":"string","example":"NJ"},"postalCode":{"type":"string","example":"07701"},"addressCountry":{"type":"string","example":"US"}}},"BusinessHoursSchema":{"type":"object","required":["monday_friday","saturday","sunday"],"properties":{"monday_friday":{"type":"string","example":"8:00 AM - 6:00 PM"},"saturday":{"type":"string","example":"9:00 AM - 3:00 PM"},"sunday":{"type":"string","example":"Closed"}}},"ContactInfo":{"type":"object","required":["name","phone","email","location","license","contactUrl","inquiryFormUrl","website","address","businessHours","countiesServed"],"description":"Official business contact and contractor credentials.","properties":{"name":{"type":"string","example":"Francione Design Group"},"phone":{"type":"string","example":"+1 (908) 442-6654"},"email":{"type":"string","format":"email","example":"francionedesigngroup@gmail.com"},"location":{"type":"string","example":"Jersey Shore, New Jersey"},"license":{"type":"string","description":"New Jersey Home Improvement Contractor license number.","example":"13VH13900000"},"contactUrl":{"type":"string","format":"uri","example":"https://www.francionedesigngroup.com/contact"},"inquiryFormUrl":{"type":"string","format":"uri","example":"https://www.francionedesigngroup.com/contact"},"website":{"type":"string","format":"uri","example":"https://www.francionedesigngroup.com"},"address":{"$ref":"#/components/schemas/PostalAddressSchema"},"businessHours":{"$ref":"#/components/schemas/BusinessHoursSchema"},"countiesServed":{"type":"array","items":{"type":"string"},"example":["Monmouth County","Ocean County"]}}}},"responses":{"BadRequest":{"description":"Bad Request — Invalid query or path parameter.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Unauthorized":{"description":"Unauthorized — Missing or invalid authentication credentials.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"Not Found — Requested resource or slug does not exist.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"MethodNotAllowed":{"description":"Method Not Allowed — Only GET requests are supported.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"TooManyRequests":{"description":"Too Many Requests — Rate limit of 120 requests/minute exceeded. Check Retry-After header.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."},"Retry-After":{"schema":{"type":"integer","example":60},"description":"Seconds to wait before retrying request."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InternalError":{"description":"Internal Server Error — An unexpected error occurred.","headers":{"RateLimit-Limit":{"schema":{"type":"integer","example":120},"description":"Maximum requests permitted within a 60-second window."},"RateLimit-Remaining":{"schema":{"type":"integer","example":119},"description":"Number of remaining requests available in the current window."},"RateLimit-Reset":{"schema":{"type":"integer","example":60},"description":"Time in seconds until the current rate limit quota resets."},"RateLimit-Policy":{"schema":{"type":"string","example":"120;w=60"},"description":"Rate limit policy specification (120 requests per 60 seconds)."},"API-Version":{"schema":{"type":"string","example":"1.0.0"},"description":"The semantic version of the public API serving the response."}},"content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}