{"openapi":"3.1.0","info":{"title":"Photo Scout","version":"0.1.0"},"paths":{"/photo-scout/v1/status":{"get":{"tags":["Photo Scout"],"summary":"Status","operationId":"status_photo_scout_v1_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/photo-scout/v1/discover":{"post":{"tags":["Photo Scout"],"summary":"Discover","operationId":"discover_photo_scout_v1_discover_post","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExploreRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment required; use the public gateway payment challenge."}},"description":"Paid discovery: $2.00 per call via MPP; MCP uses x402 Base USDC. No private API key is issued to agents. Results include a token-protected report and signed order receipt.","x-payment-info":{"amount":"2.00","currency":"USD","protocols":["mpp","x402-mcp"]}}},"/photo-scout/v1/report/{job_id}":{"get":{"tags":["Photo Scout"],"summary":"Report","operationId":"report_photo_scout_v1_report__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"x-report-token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Report-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ExploreRequest":{"properties":{"lat":{"type":"number","maximum":85.0,"minimum":-85.0,"title":"Lat"},"lon":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Lon"},"radius":{"type":"integer","maximum":20000.0,"minimum":100.0,"title":"Radius","default":1000},"limit":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Limit","default":3},"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"},"selectedPoiIds":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":24},{"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"},"IntentRequest":{"properties":{"query":{"type":"string","maxLength":1000,"minLength":1,"title":"Query"},"lat":{"type":"number","maximum":85.0,"minimum":-85.0,"title":"Lat"},"lon":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Lon"},"radius":{"type":"integer","maximum":20000.0,"minimum":100.0,"title":"Radius","default":1000},"limit":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Limit","default":3},"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":""}},"type":"object","required":["query","lat","lon"],"title":"IntentRequest"},"SearchTaskRequest":{"properties":{"lat":{"type":"number","maximum":85.0,"minimum":-85.0,"title":"Lat"},"lon":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Lon"},"radius":{"type":"integer","maximum":20000.0,"minimum":100.0,"title":"Radius","default":1000},"limit":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Limit","default":3},"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"},"selectedPoiIds":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":24},{"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"},"query":{"type":"string","maxLength":1000,"title":"Query","default":""}},"type":"object","required":["lat","lon"],"title":"SearchTaskRequest"},"ThumbnailRequest":{"properties":{"sourceUrls":{"items":{"type":"string"},"type":"array","maxItems":24,"title":"Sourceurls"}},"type":"object","required":["sourceUrls"],"title":"ThumbnailRequest"},"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"}}},"servers":[{"url":"https://api.aisoup.net"}]}