{"openapi":"3.1.0","info":{"title":"LUCA Plus Agent API","version":"0.2.0","description":"Public product facts and a nonbinding readiness guide. No personal data is required. API and MCP calls share a 100-request-per-IP limit each fixed minute."},"servers":[{"url":"https://luca-plus-agents-preview.pages.dev"}],"paths":{"/api/v1/overview":{"get":{"operationId":"getOverview","summary":"Get the product overview","responses":{"200":{"description":"Overview and cited topics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Overview"}}}},"429":{"description":"IP rate limit exceeded; inspect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rate-limit service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/knowledge":{"get":{"operationId":"searchKnowledge","summary":"Search reviewed facts","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":300}}],"responses":{"200":{"description":"Matching topics and sources","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResult"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP rate limit exceeded; inspect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rate-limit service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/answer":{"get":{"operationId":"answerQuestion","summary":"Answer one product question from reviewed facts","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":300}}],"responses":{"200":{"description":"Answer, review state, and source links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Answer"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP rate limit exceeded; inspect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rate-limit service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/topics/{id}":{"get":{"operationId":"getTopic","summary":"Get a sourced topic","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Topic and review state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Topic"}}}},"404":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP rate limit exceeded; inspect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rate-limit service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/paths":{"get":{"operationId":"comparePaths","summary":"Compare product paths","responses":{"200":{"description":"Goal paths and official links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Paths"}}}},"429":{"description":"IP rate limit exceeded; inspect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rate-limit service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/conflicts":{"get":{"operationId":"getSourceConflicts","summary":"Get unresolved source differences","responses":{"200":{"description":"Reviewed source conflicts","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Conflicts"}}}},"429":{"description":"IP rate limit exceeded; inspect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rate-limit service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/assess":{"post":{"operationId":"assessFit","summary":"Get a nonbinding readiness guide","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssessmentInput"}}}},"responses":{"200":{"description":"Readiness notes and official next steps","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssessmentResult"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP rate limit exceeded; inspect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rate-limit service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/event":{"post":{"operationId":"countAction","summary":"Count a page action without personal data","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["event"],"additionalProperties":false,"properties":{"event":{"type":"string","enum":["signup_click","contact_click","brief_open","docs_open","cli_download","skill_download","prompt_copy","chatgpt_open","claude_open","claude_web_open","gemini_open"]}}}}}},"responses":{"204":{"description":"Event counted"},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"IP rate limit exceeded; inspect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rate-limit service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/next-steps":{"get":{"operationId":"getNextSteps","summary":"Get official next steps","parameters":[{"name":"goal","in":"query","schema":{"type":"string","enum":["pay_bills","get_paid","explore_credit"]}}],"responses":{"200":{"description":"Steps and official links","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NextSteps"}}}},"429":{"description":"IP rate limit exceeded; inspect Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Rate-limit service unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]},"Topic":{"type":"object","required":["id","title","summary","sources"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"sources":{"type":"array","items":{"type":"string","format":"uri"}},"detail":{"type":"string"},"score":{"type":"number"},"audience":{"type":"string"},"offer_scope":{"type":"string"},"review_state":{"type":"string"},"source_checked_at":{"type":"string","format":"date"}}},"Overview":{"type":"object","properties":{"brand":{"type":"string"},"summary":{"type":"string"},"reviewed_at":{"type":"string","format":"date"},"topics":{"type":"array","items":{"$ref":"#/components/schemas/Topic"}},"signup_url":{"type":"string","format":"uri"},"contact_url":{"type":"string","format":"uri"}}},"SearchResult":{"type":"object","properties":{"query":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/Topic"}}}},"Answer":{"type":"object","properties":{"question":{"type":"string"},"answer":{"type":"string"},"sources":{"type":"array","items":{"type":"string","format":"uri"}},"review_state":{"type":"string"},"source_checked_at":{"type":"string","format":"date"},"matched_topics":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"}}}},"next_step":{"type":"string","format":"uri"},"signup_url":{"type":"string","format":"uri"},"contact_url":{"type":"string","format":"uri"}}},"Paths":{"type":"object","properties":{"brand":{"type":"string"},"reviewed_at":{"type":"string","format":"date"},"paths":{"type":"array","items":{"type":"object","properties":{"goal":{"type":"string","enum":["pay_bills","get_paid","explore_credit"]},"label":{"type":"string"},"product":{"type":"string"},"topic_ids":{"type":"array","items":{"type":"string"}},"next_step":{"type":"string"}}}},"signup_url":{"type":"string","format":"uri"},"contact_url":{"type":"string","format":"uri"}}},"Conflicts":{"type":"object","properties":{"reviewed_at":{"type":"string","format":"date"},"conflicts":{"type":"array","items":{"type":"object","properties":{"issue":{"type":"string"},"note":{"type":"string"},"pages":{"type":"array","items":{"type":"string","format":"uri"}}}}}}},"AssessmentInput":{"type":"object","additionalProperties":false,"properties":{"goal":{"type":"string","enum":["pay_bills","get_paid","explore_credit"]},"active_abn":{"type":"string","enum":["yes","no","unknown"]},"gst_registered":{"type":"string","enum":["yes","no","unknown"]},"accounting":{"type":"string","enum":["xero","myob","quickbooks","other","none","unknown"]}}},"AssessmentResult":{"type":"object","properties":{"result":{"type":"string","enum":["published_requirements_match","published_requirement_missing","needs_discussion"]},"answers":{"$ref":"#/components/schemas/AssessmentInput"},"notes":{"type":"array","items":{"type":"string"}},"limitation":{"type":"string"},"signup_url":{"type":"string","format":"uri"},"contact_url":{"type":"string","format":"uri"},"sources":{"type":"array","items":{"type":"string","format":"uri"}}}},"NextSteps":{"type":"object","properties":{"goal":{"type":"string","enum":["pay_bills","get_paid","explore_credit"]},"steps":{"type":"array","items":{"type":"string"}},"signup_url":{"type":"string","format":"uri"},"contact_url":{"type":"string","format":"uri"}}}}}}