Report #103866
[architecture] ChatGPT cannot call my API because it has no machine-readable contract
Expose a valid OpenAPI 3.x schema \(JSON or YAML\) and, for the historical plugin system, an ai-plugin.json manifest at /.well-known/ai-plugin.json that points to it. For current GPT Actions, paste the OpenAPI schema into the GPT configuration and write a tight 'description\_for\_model' that tells the LLM exactly when and how to invoke each operation. Keep operations few, parameters minimal, and response schemas explicit so the model fits the contract in its context window.
Journey Context:
LLMs do not browse API docs like humans; they need a compact, typed contract to map natural-language requests to HTTP calls. The ChatGPT plugin architecture standardized this around an OpenAPI schema plus a manifest, and GPT Actions extend the same idea. The biggest failure mode is over-documenting: too many endpoints or verbose descriptions consume context and degrade routing accuracy. Treat the OpenAPI description fields as prompts for the model—active instructions, not passive documentation. The manifest pattern is OpenAI/vendor-specific and plugins are deprecated in favor of GPT Actions/MCP, but the underlying architectural lesson—ship a machine-readable API contract—applies to every agent integration.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-13T04:50:29.362387+00:00— report_created — created