{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/v1/extractor/extract":{"post":{"tags":["v1","extractor"],"summary":"Extract","operationId":"extract_v1_extractor_extract_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIExtractionInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/extractor/parse":{"post":{"tags":["v1","extractor"],"summary":"Parse","operationId":"parse_v1_extractor_parse_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIParsingInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/extractor/extract_markdown":{"post":{"tags":["v1","extractor"],"summary":"Extract Markdown","operationId":"extract_markdown_v1_extractor_extract_markdown_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIExtractMarkdownInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/extractor/extract_async":{"post":{"tags":["v1","extractor"],"summary":"Extract Async","operationId":"extract_async_v1_extractor_extract_async_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AsyncExtractInput"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/extractor/extract_async/{task_id}":{"get":{"tags":["v1","extractor"],"summary":"Get Extract Async Status","operationId":"get_extract_async_status_v1_extractor_extract_async__task_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/extractor/new":{"post":{"tags":["v1","extractor"],"summary":"New Classic Scraper","description":"Create a new empty classic scraper.","operationId":"new_classic_scraper_v1_extractor_new_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/extractor/{scraper_id}":{"get":{"tags":["v1","extractor"],"summary":"Get Extractor Scraper","description":"Get classic scraper details. Returns 404 for agentic scrapers.","operationId":"get_extractor_scraper_v1_extractor__scraper_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"scraper_id","in":"path","required":true,"schema":{"type":"string","title":"Scraper Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["v1","extractor"],"summary":"Delete Extractor Scraper","description":"Delete a classic scraper. Returns 404 for agentic scrapers.","operationId":"delete_extractor_scraper_v1_extractor__scraper_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"scraper_id","in":"path","required":true,"schema":{"type":"string","title":"Scraper Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent/extract":{"post":{"tags":["v1","agent"],"summary":"Agent Extract","description":"Start a one-shot agent extraction. Does NOT create a reusable scraper.","operationId":"agent_extract_v1_agent_extract_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentExtractInput"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/agent/extract/{task_id}":{"get":{"tags":["v1","agent"],"summary":"Agent Extract Status","description":"Poll one-shot extraction status and results.","operationId":"agent_extract_status_v1_agent_extract__task_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent/extract/{task_id}/stop":{"post":{"tags":["v1","agent"],"summary":"Stop Agent Extract","description":"Stop a running one-shot agent extraction.","operationId":"stop_agent_extract_v1_agent_extract__task_id__stop_post","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/agent/new":{"post":{"tags":["v1","agent"],"summary":"New Agent Scraper","description":"Create a new empty agentic scraper.","operationId":"new_agent_scraper_v1_agent_new_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/agent/generate":{"post":{"tags":["v1","agent"],"summary":"Generate Agent Scraper","description":"Build an agentic scraper. Auto-creates scraper if scraper_id omitted.","operationId":"generate_agent_scraper_v1_agent_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentGenerateInput"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/agent/{scraper_id}":{"get":{"tags":["v1","agent"],"summary":"Get Agent Scraper","description":"Get agentic scraper details / build status. Returns 404 for classic scrapers.","operationId":"get_agent_scraper_v1_agent__scraper_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"scraper_id","in":"path","required":true,"schema":{"type":"string","title":"Scraper Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["v1","agent"],"summary":"Delete Agent Scraper","description":"Delete an agentic scraper. Stops active build if any. Returns 404 for classic scrapers.","operationId":"delete_agent_scraper_v1_agent__scraper_id__delete","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"scraper_id","in":"path","required":true,"schema":{"type":"string","title":"Scraper Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/scrapers":{"get":{"tags":["v1","scrapers"],"summary":"List Scrapers","description":"List all scrapers (classic + agentic) for the authenticated user.","operationId":"list_scrapers_v1_scrapers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ScraperListItem"},"type":"array","title":"Response List Scrapers V1 Scrapers Get"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/scrapers/run":{"post":{"tags":["v1","scrapers"],"summary":"Run Scraper","description":"Run a scraper extraction synchronously (waits for completion).\nFor classic scrapers: uses Cloud Tasks pipeline.\nFor agentic scrapers: dispatches agent run, polls until done.","operationId":"run_scraper_v1_scrapers_run_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunScraperInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/scrapers/run_async":{"post":{"tags":["v1","scrapers"],"summary":"Run Scraper Async","description":"Run a scraper asynchronously. Returns immediately with a run_id.","operationId":"run_scraper_async_v1_scrapers_run_async_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunScraperAsyncInput"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/scrapers/run_async/{run_id}":{"get":{"tags":["v1","scrapers"],"summary":"Get Scraper Run Status","description":"Poll async run status and get aggregated results when complete.","operationId":"get_scraper_run_status_v1_scrapers_run_async__run_id__get","security":[{"APIKeyHeader":[]}],"parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/extract":{"post":{"tags":["v1"],"summary":"Extract","operationId":"extract_v1_extract_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIExtractionInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/parse":{"post":{"tags":["v1"],"summary":"Parse","operationId":"parse_v1_parse_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIParsingInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/extract_markdown":{"post":{"tags":["v1"],"summary":"Extract Markdown","operationId":"extract_markdown_v1_extract_markdown_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIExtractMarkdownInput"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"APIKeyHeader":[]}]}},"/v1/proxy-countries":{"get":{"tags":["v1"],"summary":"Get Countries","operationId":"get_countries_v1_proxy_countries_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/llm-specs":{"get":{"tags":["v1"],"summary":"Get Llm Specs","operationId":"get_llm_specs_v1_llm_specs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/scraper-apis":{"get":{"tags":["scraper-apis"],"summary":"List Public Scraper Apis","description":"List all published scraper APIs (no auth).","operationId":"list_public_scraper_apis_v1_scraper_apis_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ScraperApiPublicListItem"},"type":"array","title":"Response List Public Scraper Apis V1 Scraper Apis Get"}}}}}}},"/v1/scraper-apis/{slug}":{"get":{"tags":["scraper-apis"],"summary":"Get Public Scraper Api","description":"Public landing-page payload for a single scraper API.","operationId":"get_public_scraper_api_v1_scraper_apis__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScraperApiPublicDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/scraper-apis/{slug}/clone":{"post":{"tags":["scraper-apis"],"summary":"Clone Scraper Api","description":"Clone the published snapshot of a scraper API into the caller's templates.","operationId":"clone_scraper_api_v1_scraper_apis__slug__clone_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/readyz":{"get":{"summary":"Health Check","operationId":"health_check_readyz_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"APIExtractMarkdownInput":{"properties":{"url":{"type":"string","title":"Url"},"proxy_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Country"},"cookies":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Cookies"}},"type":"object","required":["url"],"title":"APIExtractMarkdownInput"},"APIExtractionInput":{"properties":{"attributes":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/AttributeData"},"type":"object"},{"additionalProperties":{"type":"string"},"type":"object"},{"items":{"$ref":"#/components/schemas/Attribute"},"type":"array"}],"title":"Attributes"},"prompt":{"type":"string","title":"Prompt","default":""},"mode":{"type":"string","enum":["standard","code"],"title":"Mode","default":"standard"},"enable_pagination":{"type":"boolean","title":"Enable Pagination","default":false},"max_pages":{"type":"integer","title":"Max Pages","default":2},"url":{"type":"string","title":"Url"},"proxy_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Country"},"cookies":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Cookies"},"source":{"type":"string","title":"Source","default":"api"}},"type":"object","required":["attributes","url"],"title":"APIExtractionInput"},"APIParsingInput":{"properties":{"attributes":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/AttributeData"},"type":"object"},{"additionalProperties":{"type":"string"},"type":"object"},{"items":{"$ref":"#/components/schemas/Attribute"},"type":"array"}],"title":"Attributes"},"prompt":{"type":"string","title":"Prompt","default":""},"mode":{"type":"string","enum":["standard","code"],"title":"Mode","default":"standard"},"enable_pagination":{"type":"boolean","title":"Enable Pagination","default":false},"max_pages":{"type":"integer","title":"Max Pages","default":2},"content":{"type":"string","title":"Content"},"source":{"type":"string","title":"Source","default":"api"}},"type":"object","required":["attributes","content"],"title":"APIParsingInput"},"AgentExtractInput":{"properties":{"url":{"type":"string","title":"Url"},"prompt":{"type":"string","title":"Prompt"},"attributes":{"anyOf":[{"items":{"$ref":"#/components/schemas/Attribute"},"type":"array"},{"type":"null"}],"title":"Attributes"},"callback_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Callback Url"},"source":{"type":"string","title":"Source","default":"api"}},"type":"object","required":["url","prompt"],"title":"AgentExtractInput"},"AgentGenerateInput":{"properties":{"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id"},"url":{"type":"string","title":"Url"},"prompt":{"type":"string","title":"Prompt"},"attributes":{"anyOf":[{"items":{"$ref":"#/components/schemas/Attribute"},"type":"array"},{"type":"null"}],"title":"Attributes"}},"type":"object","required":["url","prompt"],"title":"AgentGenerateInput","description":"Input model for generating agentic scrapers via /v1/agent/generate."},"AsyncExtractInput":{"properties":{"attributes":{"anyOf":[{"additionalProperties":{"$ref":"#/components/schemas/AttributeData"},"type":"object"},{"additionalProperties":{"type":"string"},"type":"object"},{"items":{"$ref":"#/components/schemas/Attribute"},"type":"array"}],"title":"Attributes"},"prompt":{"type":"string","title":"Prompt","default":""},"mode":{"type":"string","enum":["standard","code"],"title":"Mode","default":"standard"},"enable_pagination":{"type":"boolean","title":"Enable Pagination","default":false},"max_pages":{"type":"integer","title":"Max Pages","default":2},"url":{"type":"string","title":"Url"},"proxy_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Country"},"cookies":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Cookies"},"source":{"type":"string","title":"Source","default":"api"},"callback_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Callback Url"}},"type":"object","required":["attributes","url"],"title":"AsyncExtractInput"},"Attribute":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description","default":""},"type":{"type":"string","enum":["string","integer","number","bool","list","object","any","image"],"title":"Type","default":"any"}},"type":"object","required":["name"],"title":"Attribute"},"AttributeData":{"properties":{"description":{"type":"string","title":"Description","default":""},"type":{"type":"string","enum":["string","integer","number","bool","list","object","any"],"title":"Type","default":"any"}},"type":"object","title":"AttributeData"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"RunScraperAsyncInput":{"properties":{"template_id":{"type":"string","title":"Template Id"},"url":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Url"},"max_pages":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Pages"},"callback_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Callback Url"},"proxy_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Country"},"cookies":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Cookies"},"source":{"type":"string","title":"Source","default":"api"},"parameters":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Parameters"}},"type":"object","required":["template_id"],"title":"RunScraperAsyncInput","description":"Input model for running scrapers asynchronously. Accepts both template_id and legacy scraper_id."},"RunScraperInput":{"properties":{"template_id":{"type":"string","title":"Template Id"},"url":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Url"},"proxy_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proxy Country"},"cookies":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Cookies"},"pagination_detection_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pagination Detection Url"},"source":{"type":"string","title":"Source","default":"api"},"parameters":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Parameters"}},"type":"object","required":["template_id"],"title":"RunScraperInput","description":"Input model for running scrapers via v1 API. Accepts both template_id and legacy scraper_id."},"ScraperApiArticleLink":{"properties":{"url":{"type":"string","title":"Url"},"title":{"type":"string","title":"Title"}},"type":"object","required":["url","title"],"title":"ScraperApiArticleLink","description":"A custom \"learn more\" link shown in the related-articles section.\n\nAdmin-set custom links fill the first tiles; latest blog articles fill the\nremaining slots."},"ScraperApiFAQ":{"properties":{"question":{"type":"string","title":"Question"},"answer":{"type":"string","title":"Answer"}},"type":"object","required":["question","answer"],"title":"ScraperApiFAQ"},"ScraperApiPublicDetail":{"properties":{"slug":{"type":"string","title":"Slug"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"source_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Domain"},"niche":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Niche"},"use_case":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Use Case"},"long_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Long Description"},"value_proposition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Proposition"},"sample_input":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Sample Input"},"sample_output":{"title":"Sample Output"},"sample_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sample Url"},"faqs":{"items":{"$ref":"#/components/schemas/ScraperApiFAQ"},"type":"array","title":"Faqs","default":[]},"article_links":{"items":{"$ref":"#/components/schemas/ScraperApiArticleLink"},"type":"array","title":"Article Links","default":[]},"input_schema":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Input Schema"},"output_schema":{"anyOf":[{"items":{"$ref":"#/components/schemas/Attribute"},"type":"array"},{"type":"null"}],"title":"Output Schema"}},"type":"object","required":["slug","title","description"],"title":"ScraperApiPublicDetail","description":"Response for GET /v1/scraper-apis/{slug} (public). Combines sidecar marketing\nwith schemas resolved from the published snapshot."},"ScraperApiPublicListItem":{"properties":{"slug":{"type":"string","title":"Slug"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"source_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Domain"}},"type":"object","required":["slug","title","description"],"title":"ScraperApiPublicListItem","description":"Item returned by GET /v1/scraper-apis (public)."},"ScraperListItem":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"type":{"type":"string","enum":["extractor","agentic"],"title":"Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","name","type"],"title":"ScraperListItem","description":"Response model for listing all scrapers (classic + agentic)."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-KEY"},"HTTPBearer":{"type":"http","scheme":"bearer"}}}}