Resources
Houston Marketing Pros API & Agent Documentation
Access public Houston Marketing Pros content, machine-readable resources, and the intentionally limited customer-facing API.
Content negotiation
Public pages serve the interactive website for normal browser requests. Agents can request a concise Markdown representation by sending Accept: text/markdown. Responses includeVary: Accept so caches keep formats separate.
Discovery files
- llms.txt lists canonical site entry points for AI systems.
- openapi.json is the canonical OpenAPI 3.1 contract for the public API.
- sitemap.xml lists pages intended for search discovery.
- robots.txt provides crawler guidance.
Public API
The canonical public API uses the same origin as this website and the versioned /api/v1 base path. It provides GET /api/v1/services and GET /api/v1/service-areas. These read-only operations require no authentication and return JSON. The former /api/public/* paths remain temporary compatibility aliases.
Errors use a structured JSON object with a stable code, readable message, and suggested resolution. Rate-limit responses include RateLimit-Limit, RateLimit-Remaining, and RateLimit-Reset; a quota response also includes Retry-After. See the OpenAPI document for typed response schemas and examples.
Versioning and deprecation
Public APIs use major-version path prefixes such as /api/v1/. Breaking changes require a new major version, while backward-compatible additions may be made within the same major version. A retiring version or endpoint may return Deprecation and, where applicable, Sunset headers. Nothing in the current canonical API is deprecated, and no retirement date is being invented.
Safety boundary
The public API is intentionally limited to customer-facing service and service-area discovery. Consultation requests continue through the website form and its protected internal workflow. Administrative, CRM, analytics, customer-record, campaign, and internal systems are not publicly exposed.
Response integrity
Registered pages return route-specific semantic HTML before JavaScript runs. Unknown paths and missing files return a real HTTP 404 response instead of an unrelated application shell.