{"openapi":"3.1.0","info":{"title":"LLM & AI API","version":"1.0.0","description":"OpenAI-style and Anthropic-style mock endpoints for AI integrations Exported as an OpenAPI 3.1 document from Fake API for Devs."},"servers":[{"url":"https://fakeapifordevs.vercel.app","description":"Fake API for Devs production endpoint"}],"tags":[{"name":"LLM & AI","description":"OpenAI-style and Anthropic-style mock endpoints for AI integrations"}],"paths":{"/api/llm/openai/v1/chat/completions":{"post":{"tags":["LLM & AI"],"summary":"POST /api/llm/openai/v1/chat/completions","operationId":"llm_post_llm_openai_v1_chat_completions","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"model":"gpt-4o","messages":[{"role":"system","content":"You are a helpful assistant."},{"role":"user","content":"Summarize the value of Fake API for Devs in one paragraph."}],"temperature":0.7,"stream":false}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"500":{"description":"Internal server error"}}}},"/api/llm/openai/v1/embeddings":{"post":{"tags":["LLM & AI"],"summary":"POST /api/llm/openai/v1/embeddings","operationId":"llm_post_llm_openai_v1_embeddings","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"model":"text-embedding-3-small","input":["Mock API playground","Developer testing workflows"]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"500":{"description":"Internal server error"}}}},"/api/llm/openai/v1/models":{"get":{"tags":["LLM & AI"],"summary":"GET /api/llm/openai/v1/models","operationId":"llm_get_llm_openai_v1_models","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1},"description":"1-indexed page number for collection endpoints."},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":10},"description":"Page size for collection endpoints."},{"name":"q","in":"query","schema":{"type":"string"},"description":"Optional text search filter where supported."},{"name":"delay","in":"query","schema":{"type":"number","minimum":0,"maximum":10},"description":"Optional artificial delay in seconds."},{"name":"simulate_error","in":"query","schema":{"type":"string","enum":["rate_limit","server_error","not_found","unauthorized","forbidden","bad_request","service_unavailable","timeout","malformed"]},"description":"Force a mock failure scenario for resilience testing."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"500":{"description":"Internal server error"}}}},"/api/llm/anthropic/v1/messages":{"post":{"tags":["LLM & AI"],"summary":"POST /api/llm/anthropic/v1/messages","operationId":"llm_post_llm_anthropic_v1_messages","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"model":"claude-3-5-sonnet-20241022","max_tokens":256,"messages":[{"role":"user","content":"Draft a short release note for a new mock API domain."}]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"500":{"description":"Internal server error"}}}}}}