{"openapi":"3.1.1","jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","info":{"title":"AddNow Public Agent API","version":"1.0.0","description":"A versioned, read-only API for public AddNow product facts and canonical resource discovery. It exposes no personal data and supports no account, contact, notification, or other write actions. No credentials are required. Product and resource REST endpoints use the /api/v1 URL namespace and includes apiVersion in responses. Additive fields and new optional capabilities may be introduced within v1; clients should ignore unknown fields. Incompatible changes use a new major URL version. Any planned deprecation will be documented here and on the affected operation in OpenAPI before removal, with Deprecation and Sunset headers identifying the announcement and removal dates. No v1 operation is currently deprecated and no sunset date is scheduled.","contact":{"name":"AddNow Support","url":"https://addnow.app/contact","email":"contact@addnow.app"}},"externalDocs":{"description":"AddNow developer documentation","url":"https://addnow.app/developers"},"servers":[{"url":"https://addnow.app","description":"AddNow production"}],"security":[],"tags":[{"name":"Public information","description":"Read-only product facts and canonical public-resource discovery."}],"paths":{"/ask":{"post":{"tags":["Public information"],"summary":"Search public AddNow documentation","operationId":"searchAddNowDocs","description":"NLWeb v0.55 list-mode keyword retrieval from public product and integration documentation. No generated answers, personalization, memory, or write actions. Streaming returns start, indexed result, and complete SSE events. Results are cursor-paginated: pass next_cursor back as cursor until it is null.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["query"],"properties":{"query":{"type":"object","required":["text"],"properties":{"text":{"type":"string","minLength":1,"maxLength":300},"site":{"type":"string","const":"addnow.app"}}},"limit":{"type":"integer","minimum":1,"maximum":10,"default":5,"description":"Results per page."},"cursor":{"type":"string","pattern":"^\\d{1,4}$","description":"Opaque next_cursor from the previous page. Omit for the first page."},"prefer":{"type":"object","properties":{"streaming":{"type":"boolean","default":false},"mode":{"type":"string","const":"list"},"response_format":{"type":"string","const":"conversational_search"}}}}}}}},"responses":{"200":{"description":"Public documentation results or an SSE sequence when prefer.streaming is true.","content":{"application/json":{"schema":{"type":"object","required":["_meta","results"],"properties":{"_meta":{"type":"object","required":["response_type","version"],"properties":{"response_type":{"type":"string","const":"answer"},"version":{"type":"string","const":"0.55"},"response_format":{"type":"string","const":"conversational_search"},"retrieval":{"type":"string","const":"keyword"}}},"next_cursor":{"type":["string","null"],"description":"Cursor for the next page, or null on the last page. In SSE it is sent on the complete event."},"results":{"type":"array","items":{"type":"object","required":["name","url","description"],"properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"@type":{"type":"string","const":"WebPage"},"@context":{"type":"string","const":"https://schema.org"}}}}}}},"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"Invalid query or unsupported mode or format. Returns an NLWeb failure with _meta and error."},"413":{"description":"Request body exceeds 4096 bytes."}}}},"/api/v1/product":{"get":{"tags":["Public information"],"summary":"Get public AddNow product facts","description":"Returns stable public facts about AddNow, including audience, pricing, platforms, capabilities, limitations, and supported developer-interface links.","operationId":"getAddNowProduct","responses":{"200":{"description":"Public AddNow product facts.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductInfo"}}}},"default":{"description":"The request could not be completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/resources":{"get":{"tags":["Public information"],"summary":"List canonical AddNow public resources","description":"Returns canonical AddNow product, developer, support, and policy resources. Use the optional category parameter to narrow the directory.","operationId":"listAddNowResources","parameters":[{"name":"category","in":"query","required":false,"description":"Limit results to one public-resource category.","schema":{"type":"string","enum":["all","product","developer","support","policy"],"default":"all"}}],"responses":{"200":{"description":"A filtered directory of canonical public resources.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceCollection"}}}},"400":{"description":"The category parameter is not supported.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"default":{"description":"The request could not be completed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"components":{"schemas":{"Platform":{"type":"object","additionalProperties":false,"required":["name","url"],"properties":{"name":{"type":"string","enum":["iOS","Android"],"description":"A supported mobile operating system."},"url":{"type":"string","format":"uri","description":"The official store listing for this platform."}}},"DeveloperInterface":{"type":"object","additionalProperties":false,"required":["access","authentication","openapiUrl","documentationUrl","mcpUrl","mcpServerMetadataUrl"],"properties":{"access":{"type":"string","const":"read-only","description":"The actions supported by this public interface."},"authentication":{"type":"string","const":"none","description":"Authentication required for the public interface."},"openapiUrl":{"type":"string","format":"uri"},"documentationUrl":{"type":"string","format":"uri"},"mcpUrl":{"type":"string","format":"uri"},"mcpServerMetadataUrl":{"type":"string","format":"uri"}}},"ProductInfo":{"type":"object","additionalProperties":false,"required":["apiVersion","name","description","audience","pricing","platforms","capabilities","limitations","developerInterface","updatedAt"],"properties":{"apiVersion":{"type":"string","const":"1.0.0","description":"Semantic version of the public agent API."},"name":{"type":"string","const":"AddNow"},"description":{"type":"string","minLength":1},"audience":{"type":"string","minLength":1},"pricing":{"type":"object","additionalProperties":false,"required":["model","summary"],"properties":{"model":{"type":"string","const":"free"},"summary":{"type":"string","minLength":1}}},"platforms":{"type":"array","minItems":2,"items":{"$ref":"#/components/schemas/Platform"}},"capabilities":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"limitations":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"developerInterface":{"$ref":"#/components/schemas/DeveloperInterface"},"updatedAt":{"type":"string","format":"date"}}},"PublicResource":{"type":"object","additionalProperties":false,"required":["id","name","description","category","url","mediaType"],"properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"description":{"type":"string","minLength":1},"category":{"type":"string","enum":["product","developer","support","policy"]},"url":{"type":"string","format":"uri"},"mediaType":{"type":"string","description":"Expected HTTP media type for the resource."}}},"ResourceCollection":{"type":"object","additionalProperties":false,"required":["apiVersion","category","count","resources"],"properties":{"apiVersion":{"type":"string","const":"1.0.0"},"category":{"type":"string","enum":["all","product","developer","support","policy"]},"count":{"type":"integer","minimum":0},"resources":{"type":"array","items":{"$ref":"#/components/schemas/PublicResource"}}}},"ErrorResponse":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message"],"properties":{"code":{"type":"string","description":"Stable machine-readable error code."},"message":{"type":"string","description":"Short human-readable recovery guidance."}}}}}}}}