{"openapi":"3.1.0","info":{"title":"ViperCapture API","description":"Render public webpages or supplied documents with Chromium, Firefox, or WebKit as images, video, PDF, HTML, Markdown, structured metadata, or bounded ZIP artifacts. Durable polling-based jobs are available for single image output.","version":"0.1.0"},"paths":{"/v1/certification/public-key":{"get":{"summary":"Certified Capture Public Key","operationId":"certified_capture_public_key_v1_certification_public_key_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Certified Capture Public Key V1 Certification Public Key Get"}}}}}}},"/":{"get":{"summary":"Index","operationId":"index__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/jobs":{"post":{"summary":"Create Render Job","description":"Create an idempotent durable image job.\n\nSend one uncached PNG, JPEG, or WebP request and a stable X-Request-Id.\nRepeating the exact request returns the original job; changing the body for\nthat ID returns idempotency_key_conflict. The response is HTTP 202 with a\nLocation status URL and Retry-After guidance.","operationId":"create_render_job_v1_jobs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ViperCapture API key":[]}]}},"/v1/jobs/bulk":{"post":{"summary":"Create Bulk Render Jobs","description":"Best-effort submission of up to ten independently idempotent jobs.","operationId":"create_bulk_render_jobs_v1_jobs_bulk_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkJobRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ViperCapture API key":[]}]}},"/v1/jobs/{job_id}":{"get":{"summary":"Read Render Job","description":"Return an owned async job without consuming an API attempt or credit.","operationId":"read_render_job_v1_jobs__job_id__get","security":[{"ViperCapture API key":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Cancel Render Job","description":"Cancel queued work; running jobs cannot be cancelled safely.","operationId":"cancel_render_job_v1_jobs__job_id__delete","security":[{"ViperCapture API key":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/jobs/{job_id}/result":{"get":{"summary":"Read Render Job Result","description":"Stream an owned successful image or return its precise readiness error.\n\nDownloads are private, validated again against the account output limit,\nand admitted through a two-transfer service-wide concurrency bound.","operationId":"read_render_job_result_v1_jobs__job_id__result_get","security":[{"ViperCapture API key":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/render":{"post":{"summary":"Render V1","operationId":"render_v1_v1_render_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenderRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ViperCapture API key":[]}]}},"/app-config":{"get":{"summary":"App Config","operationId":"app_config_app_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"Action":{"properties":{"type":{"$ref":"#/components/schemas/ActionType"},"selector":{"anyOf":[{"type":"string","maxLength":2048,"minLength":1},{"type":"null"}],"title":"Selector"},"value":{"anyOf":[{"type":"string","maxLength":16384},{"type":"null"}],"title":"Value"},"values":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":32,"minItems":1},{"type":"null"}],"title":"Values"},"key":{"anyOf":[{"type":"string","maxLength":128,"minLength":1},{"type":"null"}],"title":"Key"},"x":{"anyOf":[{"type":"number","maximum":100000.0,"minimum":-100000.0},{"type":"null"}],"title":"X"},"y":{"anyOf":[{"type":"number","maximum":100000.0,"minimum":-100000.0},{"type":"null"}],"title":"Y"},"delay_ms":{"type":"integer","maximum":15000.0,"minimum":0.0,"title":"Delay Ms","default":0},"timeout_ms":{"type":"integer","maximum":30000.0,"minimum":1.0,"title":"Timeout Ms","default":15000}},"additionalProperties":false,"type":"object","required":["type"],"title":"Action"},"ActionType":{"type":"string","enum":["click","hover","fill","press","select","scroll","wait","hide","javascript"],"title":"ActionType"},"AssertionOptions":{"properties":{"content_includes":{"items":{"type":"string"},"type":"array","maxItems":32,"title":"Content Includes"},"content_excludes":{"items":{"type":"string"},"type":"array","maxItems":32,"title":"Content Excludes"},"request_failures":{"items":{"type":"string"},"type":"array","maxItems":32,"title":"Request Failures"}},"additionalProperties":false,"type":"object","title":"AssertionOptions"},"BrowserEngine":{"type":"string","enum":["chromium","firefox","webkit"],"title":"BrowserEngine"},"BulkJobItem":{"properties":{"id":{"anyOf":[{"type":"string","maxLength":128,"minLength":1},{"type":"null"}],"title":"Id"},"request_id":{"type":"string","maxLength":128,"minLength":1,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","title":"Request Id"},"render":{"$ref":"#/components/schemas/RenderRequest"}},"additionalProperties":false,"type":"object","required":["request_id","render"],"title":"BulkJobItem"},"BulkJobRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BulkJobItem"},"type":"array","maxItems":10,"minItems":1,"title":"Items"}},"additionalProperties":false,"type":"object","required":["items"],"title":"BulkJobRequest"},"CertificationOptions":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":false}},"additionalProperties":false,"type":"object","title":"CertificationOptions"},"CleanupOptions":{"properties":{"consent_mode":{"$ref":"#/components/schemas/ConsentMode","default":"none"},"block_ads":{"type":"boolean","title":"Block Ads","default":false},"block_trackers":{"type":"boolean","title":"Block Trackers","default":false},"block_chats":{"type":"boolean","title":"Block Chats","default":false},"block_newsletters":{"type":"boolean","title":"Block Newsletters","default":false}},"additionalProperties":false,"type":"object","title":"CleanupOptions"},"ClipOptions":{"properties":{"x":{"type":"number","maximum":100000.0,"minimum":0.0,"title":"X","default":0},"y":{"type":"number","maximum":100000.0,"minimum":0.0,"title":"Y","default":0},"width":{"type":"number","maximum":100000.0,"exclusiveMinimum":0.0,"title":"Width"},"height":{"type":"number","maximum":100000.0,"exclusiveMinimum":0.0,"title":"Height"}},"additionalProperties":false,"type":"object","required":["width","height"],"title":"ClipOptions"},"ColorScheme":{"type":"string","enum":["light","dark","no-preference"],"title":"ColorScheme"},"ConsentMode":{"type":"string","enum":["none","reject","accept","hide"],"title":"ConsentMode"},"CookieOptions":{"properties":{"name":{"type":"string","maxLength":256,"minLength":1,"title":"Name"},"value":{"type":"string","maxLength":4096,"title":"Value"},"domain":{"type":"string","maxLength":253,"minLength":1,"title":"Domain"},"path":{"type":"string","maxLength":1024,"minLength":1,"title":"Path","default":"/"},"expires":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Expires"},"http_only":{"type":"boolean","title":"Http Only","default":false},"secure":{"type":"boolean","title":"Secure","default":false},"same_site":{"type":"string","pattern":"^(?:Strict|Lax|None)$","title":"Same Site","default":"Lax"}},"additionalProperties":false,"type":"object","required":["name","value","domain"],"title":"CookieOptions"},"DeliveryOptions":{"properties":{"webhook_url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Webhook Url"}},"additionalProperties":false,"type":"object","title":"DeliveryOptions"},"DeterministicOptions":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":false},"timestamp_ms":{"type":"integer","minimum":0.0,"title":"Timestamp Ms","default":1700000000000},"random_seed":{"type":"integer","maximum":4294967295.0,"minimum":0.0,"title":"Random Seed","default":1},"wait_for_fonts":{"type":"boolean","title":"Wait For Fonts","default":true}},"additionalProperties":false,"type":"object","title":"DeterministicOptions"},"DevicePreset":{"type":"string","enum":["desktop","iphone_14","pixel_7","ipad"],"title":"DevicePreset"},"DiagnosticsOptions":{"properties":{"bundle":{"type":"boolean","title":"Bundle","default":false},"include_console":{"type":"boolean","title":"Include Console","default":true},"include_network":{"type":"boolean","title":"Include Network","default":true},"include_har":{"type":"boolean","title":"Include Har","default":false},"include_trace":{"type":"boolean","title":"Include Trace","default":false},"include_warc":{"type":"boolean","title":"Include Warc","default":false}},"additionalProperties":false,"type":"object","title":"DiagnosticsOptions"},"EnvironmentOptions":{"properties":{"device":{"$ref":"#/components/schemas/DevicePreset","default":"desktop"},"color_scheme":{"anyOf":[{"$ref":"#/components/schemas/ColorScheme"},{"type":"null"}]},"reduced_motion":{"anyOf":[{"$ref":"#/components/schemas/ReducedMotion"},{"type":"null"}]},"media":{"anyOf":[{"$ref":"#/components/schemas/MediaEmulation"},{"type":"null"}]},"locale":{"anyOf":[{"type":"string","maxLength":64,"minLength":2},{"type":"null"}],"title":"Locale"},"timezone":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Timezone"}},"additionalProperties":false,"type":"object","title":"EnvironmentOptions"},"ExtractMode":{"type":"string","enum":["document","article"],"title":"ExtractMode"},"GeolocationOptions":{"properties":{"latitude":{"type":"number","maximum":90.0,"minimum":-90.0,"title":"Latitude"},"longitude":{"type":"number","maximum":180.0,"minimum":-180.0,"title":"Longitude"},"accuracy":{"type":"number","maximum":100000.0,"minimum":0.0,"title":"Accuracy","default":0}},"additionalProperties":false,"type":"object","required":["latitude","longitude"],"title":"GeolocationOptions"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ImageOptions":{"properties":{"quality":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":1.0},{"type":"null"}],"title":"Quality"},"width":{"anyOf":[{"type":"integer","maximum":65535.0,"minimum":1.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":65535.0,"minimum":1.0},{"type":"null"}],"title":"Height"},"transparent_background":{"type":"boolean","title":"Transparent Background","default":false},"optimize_for_speed":{"type":"boolean","title":"Optimize For Speed","description":"Prefer Chromium's faster PNG or WebP encoder over output size.","default":false}},"additionalProperties":false,"type":"object","title":"ImageOptions"},"LazyLoadMode":{"type":"string","enum":["none","adaptive","thorough"],"title":"LazyLoadMode"},"MediaEmulation":{"type":"string","enum":["screen","print"],"title":"MediaEmulation"},"NamedViewport":{"properties":{"width":{"type":"integer","maximum":65535.0,"minimum":1.0,"title":"Width","default":1280},"height":{"type":"integer","maximum":65535.0,"minimum":1.0,"title":"Height","default":720},"device_scale_factor":{"type":"number","maximum":8.0,"minimum":0.1,"title":"Device Scale Factor","default":1},"name":{"type":"string","maxLength":32,"minLength":1,"pattern":"^[A-Za-z0-9_-]{1,32}$","title":"Name"},"device":{"$ref":"#/components/schemas/DevicePreset","default":"desktop"}},"additionalProperties":false,"type":"object","required":["name"],"title":"NamedViewport"},"NetworkOptions":{"properties":{"java_script_enabled":{"type":"boolean","title":"Java Script Enabled","default":true},"user_agent":{"anyOf":[{"type":"string","maxLength":1024,"minLength":1},{"type":"null"}],"title":"User Agent"},"geolocation":{"anyOf":[{"$ref":"#/components/schemas/GeolocationOptions"},{"type":"null"}]},"proxy":{"anyOf":[{"$ref":"#/components/schemas/ProxyOptions"},{"type":"null"}]},"cookies":{"items":{"$ref":"#/components/schemas/CookieOptions"},"type":"array","maxItems":64,"title":"Cookies"},"block_url_patterns":{"items":{"type":"string"},"type":"array","maxItems":64,"title":"Block Url Patterns"},"block_resource_types":{"items":{"$ref":"#/components/schemas/ResourceType"},"type":"array","uniqueItems":true,"title":"Block Resource Types"},"bypass_csp":{"type":"boolean","title":"Bypass Csp","default":false},"ignore_https_errors":{"type":"boolean","title":"Ignore Https Errors","default":false}},"additionalProperties":false,"type":"object","title":"NetworkOptions"},"Orientation":{"type":"string","enum":["portrait","landscape"],"title":"Orientation"},"OutputFormat":{"type":"string","enum":["png","jpeg","webp","pdf","html","markdown","metadata","webm","mp4","gif","avif"],"title":"OutputFormat"},"PaperSize":{"type":"string","enum":["A0","A1","A2","A3","A4","A5","A6","Legal","Letter","Tabloid"],"title":"PaperSize"},"PdfMargins":{"properties":{"top":{"type":"number","maximum":4.0,"minimum":0.0,"title":"Top","default":0.4},"right":{"type":"number","maximum":4.0,"minimum":0.0,"title":"Right","default":0.4},"bottom":{"type":"number","maximum":4.0,"minimum":0.0,"title":"Bottom","default":0.4},"left":{"type":"number","maximum":4.0,"minimum":0.0,"title":"Left","default":0.4}},"additionalProperties":false,"type":"object","title":"PdfMargins"},"PdfMode":{"type":"string","enum":["print","single_page"],"title":"PdfMode"},"PdfOptions":{"properties":{"mode":{"$ref":"#/components/schemas/PdfMode","default":"print"},"tagged":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tagged"},"paper_size":{"$ref":"#/components/schemas/PaperSize","default":"A4"},"orientation":{"$ref":"#/components/schemas/Orientation","default":"portrait"},"print_background":{"type":"boolean","title":"Print Background","default":true},"margins":{"$ref":"#/components/schemas/PdfMargins"},"header_template":{"anyOf":[{"type":"string","maxLength":16384},{"type":"null"}],"title":"Header Template"},"footer_template":{"anyOf":[{"type":"string","maxLength":16384},{"type":"null"}],"title":"Footer Template"},"page_ranges":{"anyOf":[{"type":"string","maxLength":256,"pattern":"^\\s*\\d+(?:\\s*-\\s*\\d+)?(?:\\s*,\\s*\\d+(?:\\s*-\\s*\\d+)?)*\\s*$"},{"type":"null"}],"title":"Page Ranges"}},"additionalProperties":false,"type":"object","title":"PdfOptions"},"ProxyOptions":{"properties":{"server":{"type":"string","maxLength":2048,"minLength":1,"title":"Server"},"username":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Username"},"password":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Password"},"bypass":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}],"title":"Bypass"}},"additionalProperties":false,"type":"object","required":["server"],"title":"ProxyOptions"},"ReducedMotion":{"type":"string","enum":["reduce","no-preference"],"title":"ReducedMotion"},"RenderRequest":{"properties":{"url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Url"},"html":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Html"},"markdown":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Markdown"},"base_url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Base Url"},"engine":{"$ref":"#/components/schemas/BrowserEngine","default":"chromium"},"output":{"$ref":"#/components/schemas/OutputFormat","default":"png"},"viewport":{"$ref":"#/components/schemas/Viewport"},"viewports":{"anyOf":[{"items":{"$ref":"#/components/schemas/NamedViewport"},"type":"array","maxItems":3,"minItems":2},{"type":"null"}],"title":"Viewports","description":"Render two or three bounded image viewports into one ZIP archive."},"environment":{"$ref":"#/components/schemas/EnvironmentOptions"},"network":{"$ref":"#/components/schemas/NetworkOptions"},"actions":{"items":{"$ref":"#/components/schemas/Action"},"type":"array","maxItems":32,"title":"Actions"},"assertions":{"$ref":"#/components/schemas/AssertionOptions"},"delivery":{"$ref":"#/components/schemas/DeliveryOptions"},"diagnostics":{"$ref":"#/components/schemas/DiagnosticsOptions"},"deterministic":{"$ref":"#/components/schemas/DeterministicOptions"},"certification":{"$ref":"#/components/schemas/CertificationOptions"},"slices":{"anyOf":[{"$ref":"#/components/schemas/SliceOptions"},{"type":"null"}]},"profile_id":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_-]{1,128}$"},{"type":"null"}],"title":"Profile Id"},"save_profile":{"type":"boolean","title":"Save Profile","default":false},"video":{"anyOf":[{"$ref":"#/components/schemas/VideoOptions"},{"type":"null"}]},"full_page":{"type":"boolean","title":"Full Page","default":true},"preserve_viewport_width":{"type":"boolean","title":"Preserve Viewport Width","description":"For full-page images, clip horizontal overflow to the requested viewport width while preserving the full document height.","default":false},"lazy_load":{"$ref":"#/components/schemas/LazyLoadMode","default":"thorough"},"selector":{"anyOf":[{"type":"string","maxLength":2048,"minLength":1},{"type":"null"}],"title":"Selector"},"clip":{"anyOf":[{"$ref":"#/components/schemas/ClipOptions"},{"type":"null"}]},"custom_css":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Css"},"fail_on_status":{"items":{"type":"integer"},"type":"array","maxItems":32,"title":"Fail On Status"},"image":{"$ref":"#/components/schemas/ImageOptions"},"pdf":{"anyOf":[{"$ref":"#/components/schemas/PdfOptions"},{"type":"null"}]},"extract_mode":{"$ref":"#/components/schemas/ExtractMode","default":"document"},"include_shadow_dom":{"type":"boolean","title":"Include Shadow Dom","default":false},"headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Headers"},"wait_for":{"$ref":"#/components/schemas/WaitOptions"},"cleanup":{"$ref":"#/components/schemas/CleanupOptions"},"cache":{"type":"boolean","title":"Cache","description":"Reuse an exact account-scoped API image render for up to 15 minutes. Cached hits bypass Chromium and are metered at two hits per credit.","default":false},"proceed_on_captcha":{"type":"boolean","title":"Proceed On Captcha","description":"Capture a detected page-level CAPTCHA instead of returning captcha_detected.","default":false}},"additionalProperties":false,"type":"object","title":"RenderRequest"},"ResourceType":{"type":"string","enum":["document","stylesheet","image","media","font","script","texttrack","xhr","fetch","eventsource","websocket","manifest","other"],"title":"ResourceType"},"SliceOptions":{"properties":{"height":{"type":"integer","maximum":10000.0,"minimum":100.0,"title":"Height"},"overlap":{"type":"integer","maximum":1000.0,"minimum":0.0,"title":"Overlap","default":0}},"additionalProperties":false,"type":"object","required":["height"],"title":"SliceOptions"},"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"},"VideoOptions":{"properties":{"duration_ms":{"type":"integer","maximum":30000.0,"minimum":1000.0,"title":"Duration Ms","default":5000},"scroll":{"type":"boolean","title":"Scroll","default":false},"scroll_step":{"type":"integer","maximum":4320.0,"minimum":1.0,"title":"Scroll Step","default":500},"scroll_delay_ms":{"type":"integer","maximum":2000.0,"minimum":50.0,"title":"Scroll Delay Ms","default":250},"transparent_background":{"type":"boolean","title":"Transparent Background","default":false}},"additionalProperties":false,"type":"object","title":"VideoOptions"},"Viewport":{"properties":{"width":{"type":"integer","maximum":65535.0,"minimum":1.0,"title":"Width","default":1280},"height":{"type":"integer","maximum":65535.0,"minimum":1.0,"title":"Height","default":720},"device_scale_factor":{"type":"number","maximum":8.0,"minimum":0.1,"title":"Device Scale Factor","default":1}},"additionalProperties":false,"type":"object","title":"Viewport"},"WaitEvent":{"type":"string","enum":["domcontentloaded","load","networkidle"],"title":"WaitEvent"},"WaitOptions":{"properties":{"event":{"$ref":"#/components/schemas/WaitEvent","default":"load"},"selector":{"anyOf":[{"type":"string","maxLength":2048,"minLength":1},{"type":"null"}],"title":"Selector"},"selector_state":{"$ref":"#/components/schemas/WaitSelectorState","default":"visible"},"text":{"anyOf":[{"type":"string","maxLength":4096,"minLength":1},{"type":"null"}],"title":"Text"},"images":{"type":"boolean","title":"Images","default":false},"delay_ms":{"type":"integer","maximum":15000.0,"minimum":0.0,"title":"Delay Ms","default":0},"timeout_ms":{"type":"integer","maximum":30000.0,"minimum":1.0,"title":"Timeout Ms","default":15000}},"additionalProperties":false,"type":"object","title":"WaitOptions"},"WaitSelectorState":{"type":"string","enum":["visible","attached","hidden","detached"],"title":"WaitSelectorState"}},"securitySchemes":{"ViperCapture API key":{"type":"http","description":"An API key created in the ViperCapture dashboard.","scheme":"bearer"}}}}