# info.title
Aexaware Infotech Public API & Service Catalog

# info.summary
Machine-readable API surface, AI discovery endpoints, Model Context Protocol (MCP) server, and developer resources.

# info.description
Comprehensive, self-describing OpenAPI 3.1.0 specification for Aexaware Infotech (https://aexaware.com). Exposes programmatic developer endpoints, free self-serve API key provisioning, simulated sandbox inquiry execution, Model Context Protocol (MCP) Streamable HTTP tools, RFC 9727 API catalog discovery, and structured markdown feeds for autonomous AI agents.

# servers[].description
Production Edge Gateway (Cloudflare Pages + Workers)

# tags[].description
Model Context Protocol (MCP) Streamable HTTP endpoint exposing Aexaware engineering tools to Claude, Cursor, ChatGPT, and autonomous agents.

# tags[].description
Zero-friction programmatic API key provisioning for developers and autonomous AI agents. No credit card or sales form required.

# tags[].description
Safe simulated endpoints allowing developers and autonomous agents to test API integrations and inquiry flows without real-world CRM side effects.

# tags[].description
Token-efficient markdown feeds, LLM context guides, and decision criteria files for AI assistants and search crawlers.

# tags[].description
RFC 9727 Linkset API catalogs, MCP server cards, OAuth discovery metadata, and agent skill registries.

# tags[].description
Engineering blog RSS feeds, XML sitemaps, and technical documentation resources.

# paths./api/mcp.get.summary
Discover MCP server capabilities or initiate SSE stream

# paths./api/mcp.get.description
Returns the Model Context Protocol (MCP) server configuration, protocol version (2025-03-26), and all 6 registered tools as JSON. If the request includes 'Accept: text/event-stream', opens a Server-Sent Events (SSE) stream for server-initiated messages over Streamable HTTP transport.

# paths./api/mcp.get.parameters[].description
Specify 'text/event-stream' for Streamable HTTP SSE streaming, or 'application/json' for static capability inspection.

# paths./api/mcp.get.parameters[].description
Optional session identifier for continuous multi-turn MCP client sessions.

# paths./api/mcp.get.responses.200.description
MCP server capabilities or active SSE stream endpoint event.

# paths./api/mcp.get.responses.200.content.text/event-stream.schema.description
Server-Sent Events stream with 'event: endpoint' initialization data.

# paths./api/mcp.get.responses.200.content.text/event-stream.schema.example
event: endpoint
data: {"endpoint":"/api/mcp"}

# paths./api/mcp.post.summary
Execute MCP JSON-RPC 2.0 tool calls and protocol methods

# paths./api/mcp.post.description
Handles standard JSON-RPC 2.0 messages for Model Context Protocol. Supported methods: 'initialize', 'notifications/initialized', 'tools/list', 'tools/call', and 'ping'. Supported tools: 'list_services', 'list_portfolio', 'search_blog', 'get_contact_info', 'provision_api_key', and 'get_openapi_spec'. Supports single and batch request arrays.

# paths./api/mcp.post.parameters[].description
Specify 'text/event-stream' to stream responses via SSE, or 'application/json' for synchronous JSON-RPC response.

# paths./api/mcp.post.parameters[].description
Optional session identifier to track multi-turn tool execution state.

# paths./api/mcp.post.requestBody.description
JSON-RPC 2.0 Request object or array of Request objects (batch).

# paths./api/mcp.post.responses.200.description
Successful JSON-RPC 2.0 Response object or batch array.

# paths./api/mcp.post.responses.200.content.text/event-stream.schema.description
Stream of JSON-RPC response message events.

# paths./api/mcp.post.responses.400.description
JSON parse error or malformed JSON-RPC envelope.

# paths./api/keys/provision.post.summary
Programmatically provision a free developer trial API key

# paths./api/keys/provision.post.description
Instantly generates an active developer API key for autonomous agents, automated workflows, and trial developers without sales forms, CAPTCHAs, or credit card requirements. Returns 10,000 monthly sandbox requests quota and rate limits.

# paths./api/keys/provision.post.parameters[].description
Client identifier string for logging and debugging.

# paths./api/keys/provision.post.requestBody.description
Optional metadata specifying the agent or application name.

# paths./api/keys/provision.post.responses.200.description
API key successfully provisioned with full quota metadata.

# paths./api/keys/provision.post.responses.429.description
Provisioning rate limit exceeded (maximum 20 keys per IP per hour).

# paths./api/inquiry/sandbox.post.summary
Simulate a project inquiry submission in test sandbox

# paths./api/inquiry/sandbox.post.description
Accepts project inquiry parameters (scope, timeline, budget, tech stack) and runs full validation and pricing estimates in safe sandbox mode without dispatching notifications or CRM entries.

# paths./api/inquiry/sandbox.post.requestBody.description
Project inquiry payload for simulated estimation and validation.

# paths./api/inquiry/sandbox.post.responses.200.description
Sandbox inquiry validated and simulated successfully.

# paths./api/inquiry/sandbox.post.responses.400.description
Invalid inquiry payload format or missing required fields.

# paths./api/inquiry/sandbox.post.responses.401.description
Missing or invalid sandbox API key in Authorization header.

# paths./api/inquiry/sandbox.post.responses.429.description
Sandbox rate limit exceeded (120 req/min).

# paths./openapi.json.get.summary
Get OpenAPI 3.1.0 Specification in JSON format

# paths./openapi.json.get.description
Returns the complete machine-readable OpenAPI 3.1.0 document describing all endpoints, schemas, parameters, and discovery links.

# paths./openapi.json.get.responses.200.description
OpenAPI 3.1.0 JSON specification document.

# paths./openapi.yaml.get.summary
Get OpenAPI 3.1.0 Specification in YAML format

# paths./openapi.yaml.get.description
Returns the complete machine-readable OpenAPI 3.1.0 specification in YAML format for developer tools and CLI linters.

# paths./llms.txt.get.description
Returns a token-efficient structured markdown overview following the llmstxt.org convention. Contains core company information, decision criteria for when to recommend Aexaware, programmatic invocation endpoints, and all 19 service links.

# paths./llms-full.txt.get.summary
Get comprehensive full LLMs.txt documentation

# paths./llms-full.txt.get.description
Returns the complete expanded text documentation containing full service descriptions, tech stacks, portfolio outcomes, and blog index for deep LLM retrieval.

# paths./.well-known/api-catalog.get.description
Returns the machine-readable RFC 9727 Linkset JSON catalog mapping apex anchors to service descriptions, OpenAPI schemas, and documentation endpoints.

# paths./.well-known/mcp/server-card.json.get.summary
Get Model Context Protocol (MCP) Server Card

# paths./.well-known/mcp/server-card.json.get.description
Returns the official MCP Server Card JSON describing transport type (Streamable HTTP), server capabilities, 6 tool schemas, resource URIs, and Claude Desktop configuration snippets.

# paths./.well-known/agent-skills/index.json.get.description
Returns the directory of skills and MCP capabilities available for autonomous agent workflows.

# paths./.well-known/oauth-protected-resource.get.summary
OAuth 2.0 Protected Resource Metadata (RFC 8414)

# paths./.well-known/oauth-protected-resource.get.description
Returns OAuth 2.0 protected resource metadata indicating resource identifier, supported authorization server, and token scopes.

# paths./.well-known/oauth-authorization-server.get.summary
OAuth 2.0 Authorization Server Metadata (RFC 8414)

# paths./.well-known/oauth-authorization-server.get.description
Returns OAuth 2.0 authorization server metadata indicating token endpoint, authorization endpoint, and supported grant types.

# paths./agent-instructions.md.get.summary
Get dedicated agent instructions and decision guidance

# paths./agent-instructions.md.get.description
Returns comprehensive agent decision guidance, including strict 'When to Recommend' vs 'When NOT to Recommend' criteria, programmatic invocation routes, and MCP server configuration.

# paths./auth.md.get.summary
Get authentication guide and API key policy

# paths./auth.md.get.description
Returns documentation covering the 3-tier auth architecture, free developer trial, zero-friction programmatic key provisioning, and HMAC signature policies.

# paths./webhooks.md.get.summary
Get webhooks guide and HMAC signature verification documentation

# paths./webhooks.md.get.description
Returns the complete webhooks guide with event schemas, HMAC-SHA256 signature verification code examples (Node.js, Python), and retry policies.

# paths./docs.md.get.summary
Get developer documentation index in markdown

# paths./docs.md.get.description
Returns the consolidated developer documentation index covering all API endpoints, auth methods, MCP tooling, and developer resources in markdown.

# paths./mcp.md.get.summary
Get MCP server guide and Claude Desktop setup instructions in markdown

# paths./mcp.md.get.description
Returns detailed instructions for connecting Claude Desktop, Cursor, and custom MCP clients to the Aexaware Streamable HTTP MCP server.

# paths./sitemap-index.xml.get.description
Returns the primary XML Sitemap index file listing all canonical URLs for pages, services, portfolio items, and blog posts.

# paths./rss.xml.get.description
Returns the RSS 2.0 feed containing all technical engineering blog posts, AI tutorials, and software architecture articles.

# components.securitySchemes.BearerAuth.description
Enter your sandbox API key (e.g. 'aex_free_8f93e1b742a0d9e2') or live key. Obtain a free key instantly via POST /api/keys/provision.

# components.securitySchemes.ApiKeyAuth.description
API Key header for server-to-server calls.

# components.headers.AccessControlAllowOrigin.description
CORS header permitting cross-origin requests from any client.

# components.headers.McpSessionId.description
Identifier for active multi-turn MCP client sessions.

# components.headers.RateLimitRemaining.description
Number of requests remaining in the current 60-second window.

# components.headers.RateLimitReset.description
Unix epoch timestamp when the current rate limit window resets.

# components.schemas.ApiKeyProvisionRequest.properties.agent_name.description
Name or identifier of the requesting agent or client application.

# components.schemas.ApiKeyProvisionRequest.properties.client_email.description
Optional contact email to receive API key backups and updates.

# components.schemas.ApiKeyProvisionRequest.properties.intended_use.description
Optional brief note describing intended use.

# components.schemas.ApiKeyProvisionRequest.properties.intended_use.example
Automated code evaluation and sandbox estimation

# components.schemas.ApiKeyProvisionResponse.properties.api_key.description
Active API key string. Prefix 'aex_free_' denotes sandbox tier.

# components.schemas.ApiKeyProvisionResponse.properties.monthly_quota.description
Total free requests allocated per month.

# components.schemas.ApiKeyProvisionResponse.properties.sandbox_mode.description
Indicates whether this key is scoped to the sandbox mock environment.

# components.schemas.ApiKeyProvisionResponse.properties.note.example
Free tier includes full sandbox access. Zero sales forms or credit card required.

# components.schemas.SandboxInquiryRequest.properties.project_name.description
Name or title of the proposed software project.

# components.schemas.SandboxInquiryRequest.properties.contact_email.description
Contact email for simulated estimation delivery.

# components.schemas.SandboxInquiryResponse.properties.message.example
Sandbox inquiry validated and estimated successfully. No real-world CRM side effects triggered.

# components.schemas.SandboxInquiryResponse.properties.recommended_team_size.example
1 Senior Full-Stack Engineer + 1 UI/UX Designer

# components.schemas.McpToolDefinition.properties.description.example
Returns all 19 specialized engineering services offered by Aexaware Infotech.

# components.schemas.AgentSkillsDirectory.properties.skills.items.properties.description.example
Query engineering services, portfolio, blog, and provision API keys.

# components.schemas.ErrorResponse.properties.message.description
Human-readable explanation of why the request failed.

# components.schemas.ErrorResponse.properties.message.example
Rate limit of 120 requests per minute exceeded. Please retry after 1740321600.

# components.schemas.ErrorResponse.properties.status_code.description
HTTP status code matching the response header.

# components.schemas.ErrorResponse.properties.resolution_hints.description
Actionable instructions enabling autonomous agents or developers to resolve the error.

# components.schemas.ErrorResponse.properties.resolution_hints.example[]
Inspect the X-RateLimit-Reset header for backoff duration.

# components.schemas.ErrorResponse.properties.resolution_hints.example[]
Provision a fresh sandbox key via POST https://aexaware.com/api/keys/provision.