# Wavicle public API > Read-only, source-backed access to Wavicle's published consulting services and case studies. There are no write operations, credentials, sandbox, SDK, autonomous contact, quoting, or booking. ## Live endpoints - Discovery: https://www.wavicle.tech/api/v1 - Services: https://www.wavicle.tech/api/v1/services - Case studies: https://www.wavicle.tech/api/v1/case-studies - OpenAPI 3.1: https://www.wavicle.tech/openapi.json - Version and deprecation policy: https://www.wavicle.tech/api/version-policy - MCP server card: https://www.wavicle.tech/.well-known/mcp/server-card.json - MCP Streamable HTTP endpoint: https://www.wavicle.tech/mcp ## Pagination - A list request without cursor or limit returns the complete collection for backwards compatibility. - To paginate, pass limit from 1 through 100. Follow the returned meta.nextCursor by sending it unchanged as cursor on the same collection. - Cursors are opaque and collection-specific. Do not construct, edit, or reuse one on another collection. - Paginated responses include meta.count, meta.total, meta.hasMore, and meta.nextCursor. A final page has nextCursor null. ## Errors - Invalid pagination parameters return the typed JSON error code invalid_request with HTTP 400. - Unknown routes or ids return not_found with HTTP 404. - Unsupported methods return method_not_allowed with HTTP 405 and an Allow header. - Error responses are not cached. Every envelope links to the OpenAPI document. ## Version lifecycle - The stable base path is /api/v1 and the current contract version is 1.0.0. - No v1 route, field, or parameter is currently deprecated, so the API does not emit Deprecation or Sunset headers today. - Breaking changes use a new major base path. Read the published policy before relying on lifecycle timing.