{"openapi":"3.1.0","info":{"title":"Niche Discovery API","version":"0.1.0","description":"Search reviewed, evidence-linked niche market evaluations."},"paths":{"/v1/niches":{"get":{"tags":["niche discovery"],"summary":"List Niches","operationId":"list_niches_niche_discovery_v1_niches_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":150,"default":"","title":"Q"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Category"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["recent","score"],"type":"string","default":"score","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Niches Niche Discovery V1 Niches Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/niches/{niche_id}":{"get":{"tags":["niche discovery"],"summary":"Niche","operationId":"niche_niche_discovery_v1_niches__niche_id__get","parameters":[{"name":"niche_id","in":"path","required":true,"schema":{"type":"string","title":"Niche Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-niche-paid-call","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Niche-Paid-Call"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Niche Niche Discovery V1 Niches  Niche Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/niches/{niche_id}/preview":{"get":{"tags":["niche discovery"],"summary":"Niche Preview","operationId":"niche_preview_niche_discovery_v1_niches__niche_id__preview_get","parameters":[{"name":"niche_id","in":"path","required":true,"schema":{"type":"string","title":"Niche Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Niche Preview Niche Discovery V1 Niches  Niche Id  Preview Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/subscription/status":{"get":{"tags":["niche discovery"],"summary":"Subscription Status","operationId":"subscription_status_niche_discovery_v1_subscription_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Subscription Status Niche Discovery V1 Subscription Status Get"}}}}}}},"/v1/subscription/checkout":{"post":{"tags":["niche discovery"],"summary":"Subscription Checkout","operationId":"subscription_checkout_niche_discovery_v1_subscription_checkout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Subscription Checkout Niche Discovery V1 Subscription Checkout Post"}}}}}}},"/v1/subscription/portal":{"post":{"tags":["niche discovery"],"summary":"Subscription Portal","operationId":"subscription_portal_niche_discovery_v1_subscription_portal_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Subscription Portal Niche Discovery V1 Subscription Portal Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/sources":{"get":{"summary":"Sources","operationId":"sources_niche_discovery_v1_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/search":{"get":{"summary":"Search","operationId":"search_niche_discovery_v1_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":150,"title":"Q"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Category"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["recent","score"],"type":"string","default":"score","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":20,"title":"Limit"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/search/pay-per-call":{"get":{"summary":"Paid Search","operationId":"paid_search_niche_discovery_v1_search_pay_per_call_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":150,"title":"Q"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Category"}},{"name":"sort","in":"query","required":false,"schema":{"enum":["recent","score"],"type":"string","default":"score","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/niches/{niche_id}/pay-per-call":{"get":{"operationId":"get_niche_pay_per_call","summary":"Pay USD 0.25 in Base USDC for one full niche evaluation","parameters":[{"name":"niche_id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Full evaluation with gateway payment receipt"},"402":{"description":"x402/MPP payment challenge"}}}}},"components":{"schemas":{"AtomicFact":{"properties":{"statement":{"type":"string","title":"Statement"},"status":{"$ref":"#/components/schemas/VerificationStatus"},"confidence":{"type":"number","maximum":1,"minimum":0,"title":"Confidence"},"explanation":{"type":"string","title":"Explanation"},"evidenceIds":{"items":{"type":"string"},"type":"array","title":"Evidenceids"}},"additionalProperties":false,"type":"object","required":["statement","status","confidence","explanation","evidenceIds"],"title":"AtomicFact"},"AvatarUpload":{"properties":{"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name"},"image":{"type":"string","maxLength":28000000,"title":"Image"}},"type":"object","required":["name","image"],"title":"AvatarUpload"},"CapabilitiesResponse":{"properties":{"service":{"type":"string","title":"Service"},"version":{"type":"string","title":"Version"},"capabilities":{"items":{"$ref":"#/components/schemas/Capability"},"type":"array","title":"Capabilities"}},"additionalProperties":false,"type":"object","required":["service","version","capabilities"],"title":"CapabilitiesResponse"},"Capability":{"properties":{"id":{"type":"string","title":"Id"},"summary":{"type":"string","title":"Summary"},"status":{"type":"string","title":"Status"},"method":{"type":"string","title":"Method"},"path":{"type":"string","title":"Path"}},"additionalProperties":false,"type":"object","required":["id","summary","status","method","path"],"title":"Capability"},"ClaimVerificationRequest":{"properties":{"claim":{"type":"string","maxLength":4000,"minLength":3,"title":"Claim"},"asOf":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Asof"},"jurisdiction":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Jurisdiction"},"freshnessHours":{"anyOf":[{"type":"integer","maximum":8760,"minimum":1},{"type":"null"}],"title":"Freshnesshours","default":168},"sourcePolicy":{"$ref":"#/components/schemas/SourcePolicy","default":"authoritative"},"minimumSources":{"type":"integer","maximum":10,"minimum":1,"title":"Minimumsources","default":2},"maxSources":{"type":"integer","maximum":20,"minimum":1,"title":"Maxsources","default":8},"allowedDomains":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Alloweddomains"},"blockedDomains":{"items":{"type":"string"},"type":"array","maxItems":100,"title":"Blockeddomains"},"includeConflicts":{"type":"boolean","title":"Includeconflicts","default":true},"language":{"type":"string","maxLength":35,"minLength":2,"title":"Language","default":"auto"}},"additionalProperties":false,"type":"object","required":["claim"],"title":"ClaimVerificationRequest"},"ClaimVerificationResult":{"properties":{"verificationId":{"type":"string","title":"Verificationid"},"claim":{"type":"string","title":"Claim"},"status":{"$ref":"#/components/schemas/VerificationStatus"},"observedAt":{"type":"string","format":"date-time","title":"Observedat"},"conclusion":{"type":"string","title":"Conclusion"},"atomicFacts":{"items":{"$ref":"#/components/schemas/AtomicFact"},"type":"array","title":"Atomicfacts"},"providerSources":{"items":{"$ref":"#/components/schemas/ProviderSource"},"type":"array","title":"Providersources"},"evidence":{"items":{"$ref":"#/components/schemas/Evidence"},"type":"array","title":"Evidence"},"snapshots":{"items":{"$ref":"#/components/schemas/EvidenceSnapshot"},"type":"array","title":"Snapshots"},"conflicts":{"items":{"$ref":"#/components/schemas/Conflict"},"type":"array","title":"Conflicts"},"limitations":{"items":{"type":"string"},"type":"array","title":"Limitations"},"provenance":{"$ref":"#/components/schemas/VerificationProvenance"}},"additionalProperties":false,"type":"object","required":["verificationId","claim","status","observedAt","conclusion","atomicFacts","evidence","conflicts","limitations","provenance"],"title":"ClaimVerificationResult"},"CommentRequest":{"properties":{"text":{"type":"string","maxLength":2000,"minLength":1,"title":"Text"},"poiId":{"type":"string","maxLength":500,"title":"Poiid","default":""}},"type":"object","required":["text"],"title":"CommentRequest"},"Conflict":{"properties":{"summary":{"type":"string","title":"Summary"},"evidenceIds":{"items":{"type":"string"},"type":"array","title":"Evidenceids"}},"additionalProperties":false,"type":"object","required":["summary","evidenceIds"],"title":"Conflict"},"ContactMessageRequest":{"properties":{"name":{"type":"string","maxLength":120,"minLength":2,"title":"Name"},"email":{"type":"string","maxLength":320,"minLength":3,"title":"Email"},"subject":{"type":"string","maxLength":160,"minLength":3,"title":"Subject","default":"General inquiry"},"message":{"type":"string","maxLength":4000,"minLength":20,"title":"Message"},"serviceId":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Serviceid"},"company":{"type":"string","maxLength":200,"title":"Company","default":""}},"type":"object","required":["name","email","message"],"title":"ContactMessageRequest"},"CustomerCreateRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"email":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Email"}},"type":"object","required":["name"],"title":"CustomerCreateRequest"},"Evidence":{"properties":{"id":{"type":"string","title":"Id"},"url":{"type":"string","title":"Url"},"title":{"type":"string","title":"Title"},"publisher":{"type":"string","title":"Publisher"},"publishedAt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Publishedat"},"retrievedAt":{"type":"string","format":"date-time","title":"Retrievedat"},"excerpt":{"type":"string","title":"Excerpt"},"relationship":{"$ref":"#/components/schemas/EvidenceRelationship"},"sourceType":{"type":"string","title":"Sourcetype"},"qualityReason":{"type":"string","title":"Qualityreason"},"providerSourceMatched":{"type":"boolean","title":"Providersourcematched","default":false},"cited":{"type":"boolean","title":"Cited","default":false},"snapshotId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snapshotid"},"consulted":{"type":"boolean","title":"Consulted","default":false},"snapshotted":{"type":"boolean","title":"Snapshotted","default":false}},"additionalProperties":false,"type":"object","required":["id","url","title","publisher","publishedAt","retrievedAt","excerpt","relationship","sourceType","qualityReason"],"title":"Evidence"},"EvidenceRelationship":{"type":"string","enum":["supports","contradicts","context"],"title":"EvidenceRelationship"},"EvidenceSnapshot":{"properties":{"snapshotId":{"type":"string","title":"Snapshotid"},"requestedUrl":{"type":"string","title":"Requestedurl"},"finalUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Finalurl"},"retrievedAt":{"type":"string","format":"date-time","title":"Retrievedat"},"status":{"$ref":"#/components/schemas/SnapshotStatus"},"httpStatus":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Httpstatus"},"contentType":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contenttype"},"contentLength":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Contentlength"},"rawSha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rawsha256"},"normalizedSha256":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Normalizedsha256"},"failureReason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failurereason"}},"additionalProperties":false,"type":"object","required":["snapshotId","requestedUrl","retrievedAt","status"],"title":"EvidenceSnapshot"},"ExploreRequest":{"properties":{"route":{"anyOf":[{"$ref":"#/components/schemas/RouteRequest"},{"type":"null"}]},"searchProgram":{"anyOf":[{"$ref":"#/components/schemas/SearchProgram"},{"type":"null"}]},"searchBranches":{"items":{"$ref":"#/components/schemas/SearchBranch"},"type":"array","maxItems":6,"title":"Searchbranches"},"query":{"type":"string","maxLength":1000,"title":"Query","default":""},"lat":{"type":"number","maximum":85,"minimum":-85,"title":"Lat"},"lon":{"type":"number","maximum":180,"minimum":-180,"title":"Lon"},"radius":{"type":"integer","maximum":20000,"minimum":100,"title":"Radius","default":1000},"limit":{"type":"integer","maximum":5,"minimum":1,"title":"Limit","description":"Legacy compatibility field; ignored. All verified matching results are returned.","default":3,"deprecated":true},"photoStyles":{"anyOf":[{"items":{"type":"string","enum":["nature","urban","vintage","iconic","artistic","waterside","minimal","adventure"]},"type":"array","maxItems":8,"minItems":1},{"type":"null"}],"title":"Photostyles"},"categories":{"anyOf":[{"items":{"type":"string","enum":["viewpoint","park","attraction","museum","artwork","historic","nature","recreation","cafe","restaurant","bar","shop"]},"type":"array","maxItems":8,"minItems":1},{"type":"null"}],"title":"Categories"},"poiQueries":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":4,"title":"Poiqueries"},"geographicCombination":{"type":"string","enum":["all","any"],"title":"Geographiccombination","default":"all"},"featureCombination":{"type":"string","enum":["all","any"],"title":"Featurecombination","default":"all"},"osmFeatures":{"items":{"$ref":"#/components/schemas/OSMFeatureQuery"},"type":"array","maxItems":6,"title":"Osmfeatures"},"geographicKinds":{"items":{"type":"string","enum":["lake","sea","river","peak","forest","waterside"]},"type":"array","maxItems":6,"title":"Geographickinds"},"requirements":{"items":{"$ref":"#/components/schemas/Requirement"},"type":"array","maxItems":16,"title":"Requirements"},"subjectRole":{"type":"string","enum":["scene","portrait-background","existing-subject"],"title":"Subjectrole","default":"scene"},"scoringIntent":{"type":"string","maxLength":1000,"title":"Scoringintent","default":""},"selectedPoiIds":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":50},{"type":"null"}],"title":"Selectedpoiids"},"poiCatalogToken":{"anyOf":[{"type":"string","maxLength":40000},{"type":"null"}],"title":"Poicatalogtoken"},"preferences":{"type":"string","maxLength":500,"title":"Preferences","default":"Scenic, distinctive public places for photography"}},"type":"object","required":["lat","lon"],"title":"ExploreRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HiddenPoiRequest":{"properties":{"searchId":{"type":"string","maxLength":80,"minLength":1,"title":"Searchid"},"poiId":{"type":"string","maxLength":500,"minLength":1,"title":"Poiid"},"hidden":{"type":"boolean","title":"Hidden","default":true}},"type":"object","required":["searchId","poiId"],"title":"HiddenPoiRequest"},"HistoryItem":{"properties":{"id":{"type":"string","maxLength":80,"minLength":1,"pattern":"^[A-Za-z0-9:_-]+$","title":"Id"},"created":{"type":"integer","minimum":0,"title":"Created"},"label":{"type":"string","maxLength":1000,"title":"Label"},"radius":{"type":"integer","maximum":20000,"minimum":100,"title":"Radius"},"checked":{"type":"boolean","title":"Checked","default":true},"result":{"additionalProperties":true,"type":"object","title":"Result"}},"type":"object","required":["id","created","label","radius","result"],"title":"HistoryItem"},"IntentRequest":{"properties":{"route":{"anyOf":[{"$ref":"#/components/schemas/RouteRequest"},{"type":"null"}]},"subjectRole":{"type":"string","enum":["scene","portrait-background","existing-subject"],"title":"Subjectrole","default":"scene"},"query":{"type":"string","maxLength":1000,"title":"Query","default":""},"lat":{"type":"number","maximum":85,"minimum":-85,"title":"Lat"},"lon":{"type":"number","maximum":180,"minimum":-180,"title":"Lon"},"radius":{"type":"integer","maximum":20000,"minimum":100,"title":"Radius","default":1000},"limit":{"type":"integer","maximum":5,"minimum":1,"title":"Limit","description":"Legacy compatibility field; ignored during interpretation and discovery.","default":3,"deprecated":true},"photoStyles":{"items":{"type":"string","enum":["nature","urban","vintage","iconic","artistic","waterside","minimal","adventure"]},"type":"array","maxItems":8,"title":"Photostyles"},"preferences":{"type":"string","maxLength":500,"title":"Preferences","default":""},"categories":{"anyOf":[{"items":{"type":"string","enum":["viewpoint","park","attraction","museum","artwork","historic","nature","recreation","cafe","restaurant","bar","shop"]},"type":"array"},{"type":"null"}],"title":"Categories"},"poiQueries":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":4,"title":"Poiqueries"},"geographicKinds":{"items":{"type":"string","enum":["lake","sea","river","peak","forest","waterside"]},"type":"array","maxItems":6,"title":"Geographickinds"},"osmFeatures":{"items":{"$ref":"#/components/schemas/OSMFeatureQuery"},"type":"array","maxItems":6,"title":"Osmfeatures"},"geographicCombination":{"type":"string","enum":["all","any"],"title":"Geographiccombination","default":"all"},"featureCombination":{"type":"string","enum":["all","any"],"title":"Featurecombination","default":"all"},"scoringIntent":{"type":"string","maxLength":1000,"title":"Scoringintent","default":""}},"type":"object","required":["lat","lon"],"title":"IntentRequest"},"LicenseRequest":{"properties":{"licenseNumber":{"type":"string","maxLength":8,"minLength":1,"title":"Licensenumber"}},"type":"object","required":["licenseNumber"],"title":"LicenseRequest"},"NicheDraft":{"properties":{"title":{"type":"string","maxLength":180,"minLength":8,"title":"Title"},"problem":{"type":"string","maxLength":2000,"minLength":30,"title":"Problem"},"buyer":{"type":"string","maxLength":180,"minLength":3,"title":"Buyer"},"category":{"type":"string","maxLength":80,"minLength":2,"title":"Category"},"solution_hypothesis":{"type":"string","maxLength":2000,"minLength":20,"title":"Solution Hypothesis"},"pain":{"type":"integer","maximum":5,"minimum":0,"title":"Pain"},"frequency":{"type":"integer","maximum":5,"minimum":0,"title":"Frequency"},"willingness_to_pay":{"type":"integer","maximum":5,"minimum":0,"title":"Willingness To Pay"},"reachable_buyers":{"type":"integer","maximum":5,"minimum":0,"title":"Reachable Buyers"},"feasibility":{"type":"integer","maximum":5,"minimum":0,"title":"Feasibility"},"competition_gap":{"type":"integer","maximum":5,"minimum":0,"title":"Competition Gap"},"evaluation_notes":{"type":"string","maxLength":4000,"minLength":30,"title":"Evaluation Notes"},"signal_ids":{"items":{"type":"string"},"type":"array","maxItems":100,"minItems":1,"title":"Signal Ids"},"publish":{"type":"boolean","title":"Publish","default":false}},"type":"object","required":["title","problem","buyer","category","solution_hypothesis","pain","frequency","willingness_to_pay","reachable_buyers","feasibility","competition_gap","evaluation_notes","signal_ids"],"title":"NicheDraft"},"NumericFilter":{"properties":{"key":{"type":"string","maxLength":80,"minLength":1,"pattern":"^[A-Za-z0-9_:.-]+$","title":"Key"},"minimum":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Minimum"},"maximum":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Maximum"}},"additionalProperties":false,"type":"object","required":["key"],"title":"NumericFilter"},"OSMFeatureQuery":{"properties":{"label":{"type":"string","maxLength":120,"minLength":1,"title":"Label"},"kind":{"type":"string","enum":["tagged","intersection"],"title":"Kind","default":"tagged"},"filters":{"items":{"$ref":"#/components/schemas/TagFilter"},"type":"array","maxItems":6,"title":"Filters"},"numericFilters":{"items":{"$ref":"#/components/schemas/NumericFilter"},"type":"array","maxItems":4,"title":"Numericfilters"},"proximityMeters":{"type":"integer","maximum":500,"minimum":0,"title":"Proximitymeters","default":150},"selectionHints":{"items":{"type":"string","enum":["large-footprint","small-footprint","more-storeys"]},"type":"array","maxItems":3,"title":"Selectionhints","description":"Soft candidate priorities only; never hard constraints. Building footprint/levels do not establish visual style or luxury."}},"additionalProperties":false,"type":"object","required":["label"],"title":"OSMFeatureQuery"},"PoiViewRequest":{"properties":{"scope":{"type":"string","enum":["place","selfie"],"title":"Scope","default":"place"},"framing":{"type":"string","enum":["auto","current","90","60","45"],"title":"Framing","default":"current"},"searchId":{"type":"string","maxLength":80,"minLength":1,"title":"Searchid"},"poiId":{"type":"string","maxLength":500,"minLength":1,"title":"Poiid"},"heading":{"type":"number","exclusiveMaximum":360,"minimum":0,"title":"Heading"},"pitch":{"type":"number","maximum":90,"minimum":-90,"title":"Pitch"},"fov":{"type":"number","maximum":120,"minimum":30,"title":"Fov"}},"type":"object","required":["searchId","poiId","heading","pitch","fov"],"title":"PoiViewRequest"},"ProviderSource":{"properties":{"sourceId":{"type":"string","title":"Sourceid"},"url":{"type":"string","title":"Url"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"provider":{"type":"string","title":"Provider","default":"openai_web_search"},"searchCallIds":{"items":{"type":"string"},"type":"array","title":"Searchcallids"},"actions":{"items":{"type":"string"},"type":"array","title":"Actions"},"queries":{"items":{"type":"string"},"type":"array","title":"Queries"},"evidenceIds":{"items":{"type":"string"},"type":"array","title":"Evidenceids"},"cited":{"type":"boolean","title":"Cited","default":false},"snapshotId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snapshotid"}},"additionalProperties":false,"type":"object","required":["sourceId","url"],"title":"ProviderSource"},"PublishRequest":{"properties":{"kind":{"type":"string","enum":["search","place","photo"],"title":"Kind"},"id":{"type":"string","maxLength":80,"minLength":1,"title":"Id"},"poiId":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Poiid"}},"type":"object","required":["kind","id"],"title":"PublishRequest"},"QuoteRequest":{"properties":{"tier":{"type":"string","title":"Tier","default":"standard"}},"type":"object","title":"QuoteRequest"},"ReactionRequest":{"properties":{"kind":{"type":"string","enum":["like","favorite"],"title":"Kind"},"active":{"type":"boolean","title":"Active"},"poiId":{"type":"string","maxLength":500,"title":"Poiid","default":""}},"type":"object","required":["kind","active"],"title":"ReactionRequest"},"RemovedItemRequest":{"properties":{"kind":{"type":"string","enum":["search","portrait"],"title":"Kind"},"id":{"type":"string","maxLength":80,"minLength":1,"title":"Id"},"removed":{"type":"boolean","title":"Removed","default":true}},"type":"object","required":["kind","id"],"title":"RemovedItemRequest"},"Requirement":{"properties":{"expression":{"type":"string","maxLength":400,"minLength":1,"title":"Expression","description":"English expression preserving AND/OR/NOT grouping"},"strength":{"type":"string","enum":["required","preferred","forbidden"],"title":"Strength"},"route":{"type":"string","enum":["places","geography","features","visual"],"title":"Route"},"evidence":{"type":"string","enum":["visual","spatial","provider","combined"],"title":"Evidence","default":"visual"},"stepIds":{"items":{"type":"string"},"type":"array","maxItems":8,"title":"Stepids","description":"Retrieval steps implementing this condition; empty for shared visual requirements"}},"additionalProperties":false,"type":"object","required":["expression","strength","route","stepIds"],"title":"Requirement"},"RouteEndpoint":{"properties":{"query":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Query"},"lat":{"anyOf":[{"type":"number","maximum":85,"minimum":-85},{"type":"null"}],"title":"Lat"},"lon":{"anyOf":[{"type":"number","maximum":180,"minimum":-180},{"type":"null"}],"title":"Lon"},"label":{"anyOf":[{"type":"string","maxLength":350},{"type":"null"}],"title":"Label"}},"additionalProperties":false,"type":"object","title":"RouteEndpoint"},"RouteRequest":{"properties":{"origin":{"anyOf":[{"$ref":"#/components/schemas/RouteEndpoint"},{"type":"null"}]},"destination":{"$ref":"#/components/schemas/RouteEndpoint"},"travelMode":{"type":"string","enum":["walk","drive"],"title":"Travelmode","default":"walk"},"corridorMeters":{"type":"integer","maximum":2000,"minimum":50,"title":"Corridormeters","description":"Maximum distance from the route, not the circle search radius.","default":50}},"additionalProperties":false,"type":"object","required":["destination"],"title":"RouteRequest"},"SearchBranch":{"properties":{"poiQueries":{"items":{"type":"string"},"type":"array","maxItems":4,"title":"Poiqueries"},"geographicKinds":{"items":{"type":"string","enum":["lake","sea","river","peak","forest","waterside"]},"type":"array","maxItems":6,"title":"Geographickinds"},"geographicCombination":{"type":"string","enum":["all","any"],"title":"Geographiccombination","default":"all"},"osmFeatures":{"items":{"$ref":"#/components/schemas/OSMFeatureQuery"},"type":"array","maxItems":6,"title":"Osmfeatures"},"featureCombination":{"type":"string","enum":["all","any"],"title":"Featurecombination","default":"all"},"visualIntent":{"type":"string","maxLength":1000,"title":"Visualintent","default":""}},"additionalProperties":false,"type":"object","title":"SearchBranch"},"SearchParameters":{"properties":{"lat":{"type":"number","maximum":85,"minimum":-85,"title":"Lat"},"lon":{"type":"number","maximum":180,"minimum":-180,"title":"Lon"},"radius":{"type":"integer","maximum":20000,"minimum":100,"title":"Radius","default":5000},"searchProgram":{"anyOf":[{"$ref":"#/components/schemas/SearchProgram"},{"type":"null"}]},"searchBranches":{"items":{"$ref":"#/components/schemas/SearchBranch"},"type":"array","maxItems":6,"title":"Searchbranches"},"poiQueries":{"items":{"type":"string"},"type":"array","maxItems":4,"title":"Poiqueries"},"geographicKinds":{"items":{"type":"string","enum":["lake","sea","river","peak","forest","waterside"]},"type":"array","maxItems":6,"title":"Geographickinds"},"geographicCombination":{"type":"string","enum":["all","any"],"title":"Geographiccombination","default":"all"},"featureCombination":{"type":"string","enum":["all","any"],"title":"Featurecombination","default":"all"},"osmFeatures":{"items":{"$ref":"#/components/schemas/OSMFeatureQuery"},"type":"array","maxItems":6,"title":"Osmfeatures"},"photoStyles":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":8},{"type":"null"}],"title":"Photostyles"},"categories":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":8},{"type":"null"}],"title":"Categories"},"requirements":{"items":{"$ref":"#/components/schemas/Requirement"},"type":"array","maxItems":16,"title":"Requirements"},"subjectRole":{"type":"string","enum":["scene","portrait-background","existing-subject"],"title":"Subjectrole","default":"scene"},"scoringIntent":{"type":"string","maxLength":1000,"title":"Scoringintent","default":""},"preferences":{"type":"string","maxLength":500,"title":"Preferences","default":""}},"additionalProperties":false,"type":"object","required":["lat","lon"],"title":"SearchParameters"},"SearchProgram":{"properties":{"steps":{"items":{"$ref":"#/components/schemas/SearchStep"},"type":"array","maxItems":24,"minItems":1,"title":"Steps"},"output":{"type":"string","maxLength":40,"minLength":1,"title":"Output"}},"additionalProperties":false,"type":"object","required":["steps","output"],"title":"SearchProgram"},"SearchStep":{"properties":{"id":{"type":"string","pattern":"^[a-zA-Z][a-zA-Z0-9_]{0,39}$","title":"Id"},"tool":{"type":"string","enum":["search_places","search_geography","search_features","sample_geography","sample_near_places","feature_points","filter_geography","filter_features","union","intersection","area_imagery","point_imagery","center_imagery","collect_images","score_images","rank_results"],"title":"Tool"},"inputs":{"items":{"type":"string"},"type":"array","maxItems":6,"title":"Inputs"},"queries":{"items":{"type":"string"},"type":"array","maxItems":4,"title":"Queries"},"geographicKinds":{"items":{"type":"string","enum":["lake","sea","river","peak","forest","waterside"]},"type":"array","maxItems":6,"title":"Geographickinds"},"osmFeatures":{"items":{"$ref":"#/components/schemas/OSMFeatureQuery"},"type":"array","maxItems":6,"title":"Osmfeatures"},"combination":{"type":"string","enum":["all","any"],"title":"Combination","default":"all"},"exclude":{"type":"boolean","title":"Exclude","default":false},"discoveryHints":{"type":"boolean","title":"Discoveryhints","default":false},"weights":{"items":{"type":"integer"},"type":"array","maxItems":6,"title":"Weights"},"visualIntent":{"type":"string","maxLength":1000,"title":"Visualintent","default":""},"radiusMeters":{"type":"integer","maximum":2000,"minimum":100,"title":"Radiusmeters","default":750}},"additionalProperties":false,"type":"object","required":["id","tool"],"title":"SearchStep"},"SearchTaskRequest":{"properties":{"route":{"anyOf":[{"$ref":"#/components/schemas/RouteRequest"},{"type":"null"}]},"searchProgram":{"anyOf":[{"$ref":"#/components/schemas/SearchProgram"},{"type":"null"}]},"searchBranches":{"items":{"$ref":"#/components/schemas/SearchBranch"},"type":"array","maxItems":6,"title":"Searchbranches"},"query":{"type":"string","maxLength":1000,"title":"Query","default":""},"lat":{"type":"number","maximum":85,"minimum":-85,"title":"Lat"},"lon":{"type":"number","maximum":180,"minimum":-180,"title":"Lon"},"radius":{"type":"integer","maximum":20000,"minimum":100,"title":"Radius","default":1000},"limit":{"type":"integer","maximum":5,"minimum":1,"title":"Limit","description":"Legacy compatibility field; ignored. All verified matching results are returned.","default":3,"deprecated":true},"photoStyles":{"anyOf":[{"items":{"type":"string","enum":["nature","urban","vintage","iconic","artistic","waterside","minimal","adventure"]},"type":"array","maxItems":8,"minItems":1},{"type":"null"}],"title":"Photostyles"},"categories":{"anyOf":[{"items":{"type":"string","enum":["viewpoint","park","attraction","museum","artwork","historic","nature","recreation","cafe","restaurant","bar","shop"]},"type":"array","maxItems":8,"minItems":1},{"type":"null"}],"title":"Categories"},"poiQueries":{"items":{"type":"string","maxLength":200,"minLength":1},"type":"array","maxItems":4,"title":"Poiqueries"},"geographicCombination":{"type":"string","enum":["all","any"],"title":"Geographiccombination","default":"all"},"featureCombination":{"type":"string","enum":["all","any"],"title":"Featurecombination","default":"all"},"osmFeatures":{"items":{"$ref":"#/components/schemas/OSMFeatureQuery"},"type":"array","maxItems":6,"title":"Osmfeatures"},"geographicKinds":{"items":{"type":"string","enum":["lake","sea","river","peak","forest","waterside"]},"type":"array","maxItems":6,"title":"Geographickinds"},"requirements":{"items":{"$ref":"#/components/schemas/Requirement"},"type":"array","maxItems":16,"title":"Requirements"},"subjectRole":{"type":"string","enum":["scene","portrait-background","existing-subject"],"title":"Subjectrole","default":"scene"},"scoringIntent":{"type":"string","maxLength":1000,"title":"Scoringintent","default":""},"selectedPoiIds":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":50},{"type":"null"}],"title":"Selectedpoiids"},"poiCatalogToken":{"anyOf":[{"type":"string","maxLength":40000},{"type":"null"}],"title":"Poicatalogtoken"},"preferences":{"type":"string","maxLength":500,"title":"Preferences","default":"Scenic, distinctive public places for photography"}},"type":"object","required":["lat","lon"],"title":"SearchTaskRequest"},"SnapshotStatus":{"type":"string","enum":["captured","failed","blocked","too_large","unsupported"],"title":"SnapshotStatus"},"SourcePolicy":{"type":"string","enum":["official_only","authoritative","open_web"],"title":"SourcePolicy"},"StatusIncidentCreateRequest":{"properties":{"title":{"type":"string","maxLength":200,"minLength":3,"title":"Title"},"message":{"type":"string","maxLength":8000,"minLength":3,"title":"Message"},"severity":{"type":"string","title":"Severity"},"affectedComponents":{"items":{"type":"string"},"type":"array","maxItems":20,"minItems":1,"title":"Affectedcomponents"}},"type":"object","required":["title","message","severity","affectedComponents"],"title":"StatusIncidentCreateRequest"},"StatusIncidentUpdateRequest":{"properties":{"status":{"type":"string","title":"Status"},"message":{"type":"string","maxLength":8000,"minLength":3,"title":"Message"}},"type":"object","required":["status","message"],"title":"StatusIncidentUpdateRequest"},"StatusSubscriptionRequest":{"properties":{"channel":{"type":"string","title":"Channel"},"target":{"type":"string","maxLength":2000,"minLength":3,"title":"Target"},"verificationEmail":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Verificationemail"}},"type":"object","required":["channel","target"],"title":"StatusSubscriptionRequest"},"SupportMessageRequest":{"properties":{"message":{"type":"string","maxLength":8000,"minLength":2,"title":"Message"}},"type":"object","required":["message"],"title":"SupportMessageRequest"},"SupportTicketCreateRequest":{"properties":{"subject":{"type":"string","maxLength":160,"minLength":3,"title":"Subject"},"message":{"type":"string","maxLength":8000,"minLength":10,"title":"Message"},"serviceId":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Serviceid"},"orderId":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Orderid"},"priority":{"type":"string","title":"Priority","default":"normal"}},"type":"object","required":["subject","message"],"title":"SupportTicketCreateRequest"},"SupportTicketUpdateRequest":{"properties":{"status":{"type":"string","title":"Status"},"message":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}],"title":"Message"}},"type":"object","required":["status"],"title":"SupportTicketUpdateRequest"},"TagFilter":{"properties":{"key":{"type":"string","maxLength":80,"minLength":1,"pattern":"^[A-Za-z0-9_:.-]+$","title":"Key"},"value":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}],"title":"Value"},"required":{"type":"boolean","title":"Required","default":true}},"additionalProperties":false,"type":"object","required":["key"],"title":"TagFilter"},"ThumbnailRequest":{"properties":{"sourceUrls":{"items":{"type":"string"},"type":"array","maxItems":24,"title":"Sourceurls"}},"type":"object","required":["sourceUrls"],"title":"ThumbnailRequest"},"TransferRequest":{"properties":{"state":{"type":"string","maxLength":128,"minLength":32,"title":"State"},"ticket":{"type":"string","maxLength":128,"title":"Ticket","default":""}},"type":"object","required":["state"],"title":"TransferRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VerificationProvenance":{"properties":{"provider":{"type":"string","title":"Provider"},"model":{"type":"string","title":"Model"},"providerResponseId":{"type":"string","title":"Providerresponseid"},"searchedWeb":{"type":"boolean","title":"Searchedweb"},"consultedSourceCount":{"type":"integer","title":"Consultedsourcecount"},"citedSourceCount":{"type":"integer","title":"Citedsourcecount"},"providerSourceCount":{"type":"integer","title":"Providersourcecount","default":0},"matchedEvidenceCount":{"type":"integer","title":"Matchedevidencecount","default":0},"snapshottedSourceCount":{"type":"integer","title":"Snapshottedsourcecount","default":0},"webSearchCallCount":{"type":"integer","title":"Websearchcallcount","default":0},"inputTokens":{"type":"integer","title":"Inputtokens","default":0},"cachedInputTokens":{"type":"integer","title":"Cachedinputtokens","default":0},"outputTokens":{"type":"integer","title":"Outputtokens","default":0},"cacheHit":{"type":"boolean","title":"Cachehit","default":false}},"additionalProperties":false,"type":"object","required":["provider","model","providerResponseId","searchedWeb","consultedSourceCount","citedSourceCount"],"title":"VerificationProvenance"},"VerificationStatus":{"type":"string","enum":["confirmed","partially_confirmed","contradicted","insufficient_evidence","ambiguous"],"title":"VerificationStatus"},"WithdrawRequest":{"properties":{"id":{"type":"string","maxLength":80,"minLength":1,"title":"Id"}},"type":"object","required":["id"],"title":"WithdrawRequest"}}},"servers":[{"url":"https://niche-discovery.aisoup.net/api"}]}