{"data":{"async_workflow":["POST /screenshot/async with url and optional params","GET /jobs/{job_id} until status is completed or failed","Use the completed screenshot filename when needed"],"authentication":{"required_header":"Authorization: Bearer <API_KEY>","unsupported":["api_key query parameter","api_key JSON field","X-API-Key header"]},"batch_workflow":["POST /screenshot/batch with urls[] and options params","GET /screenshot/batch/{batch_id} until status is completed, completed_with_failures, or failed"],"canonical_endpoints":{"async_poll":"GET /jobs/{job_id}","async_poll_compatibility":"GET /screenshot/async/{job_id}","async_submit":"POST /screenshot/async","batch_poll":"GET /screenshot/batch/{batch_id}","batch_submit":"POST /screenshot/batch","discover_pages":"POST /discover-pages","health":"GET /health","history":"GET /history","screenshot_file":"GET /screenshot/{filename}","sync_screenshot":"POST /screenshot"},"device_presets":{"desktop-2k":{"height":1440,"width":2560},"desktop-4k":{"height":2160,"width":3840},"desktop-hd":{"height":1080,"width":1920},"galaxy-s20":{"height":800,"width":360},"galaxy-s23-ultra":{"height":824,"width":384},"ipad-mini":{"height":1024,"width":768},"ipad-pro":{"height":1366,"width":1024},"iphone-12":{"height":844,"width":390},"iphone-14-pro-max":{"height":932,"width":430},"iphone-se":{"height":667,"width":375},"laptop":{"height":768,"width":1366},"large-screen":{"height":1080,"width":1920},"mobile":{"height":667,"width":375},"pixel-7":{"height":915,"width":412},"tablet":{"height":1024,"width":768}},"error_format":{"errors":{"url":"url is required."},"message":"Validation failed","success":false},"openapi_url":"/openapi.json","parameters":{"dark_mode":{"default":false,"type":"boolean"},"delay_ms":{"default":1000,"maximum":10000,"minimum":0,"type":"integer"},"device":{"default":"laptop","description":"Viewport preset used unless width and height are supplied.","enum":["iphone-se","iphone-12","iphone-14-pro-max","mobile","pixel-7","galaxy-s20","galaxy-s23-ultra","ipad-mini","tablet","ipad-pro","laptop","desktop-hd","large-screen","desktop-2k","desktop-4k"],"type":"string"},"force_dark_mode":{"default":false,"type":"boolean"},"format":{"default":"png","enum":["png","jpeg","jpg","webp"],"type":"string"},"full_page":{"default":false,"type":"boolean"},"height":{"default":null,"description":"Custom viewport height. Use with width.","maximum":10000,"minimum":200,"type":["integer","null"]},"scroll_y":{"default":0,"maximum":100000,"minimum":0,"type":["integer","null"]},"selector":{"default":null,"description":"CSS selector for element-only capture.","maxLength":2048,"type":["string","null"]},"url":{"description":"Public http or https URL to capture. Local, private, link-local, reserved, metadata, credentialed, and unsafe redirect URLs are rejected.","format":"uri","type":"string"},"width":{"default":null,"description":"Custom viewport width. Use with height.","maximum":10000,"minimum":200,"type":["integer","null"]}},"response_examples":{"async_submit":{"data":{"job_id":"6dfb6e4d-3fc1-40a5-a2e6-cdb62ddac93d","status":"queued"},"message":"Screenshot job queued","success":true},"batch_status":{"data":{"average_duration_ms":3150.5,"batch_id":"8f5b41e0460242d6952b8c9e39d0f48a","completed":2,"completed_at":"2026-07-20T12:00:07+00:00","error_items":[],"failed":0,"in_queue":0,"percentage":100.0,"queued":0,"queued_items":[],"remaining":0,"result_items":[{"duration_ms":3010,"error_message":null,"filename":"batch_8f5b41e04602_001.png","job_id":"7eb5a4e9-54e6-40b1-93b1-4950da6e389e","sequence_number":1,"status":"completed","url":"https://screenshots-api.titandev.agency/screenshot/batch_8f5b41e04602_001.png"}],"running":0,"started_at":"2026-07-20T12:00:00+00:00","status":"completed","total":2},"success":true},"batch_submit":{"data":{"batch_id":"8f5b41e0460242d6952b8c9e39d0f48a","queued":2,"status":"queued","total":2},"message":"Batch screenshot jobs queued","success":true},"history":{"data":[{"capture_mode":null,"created_at":"2026-07-20T12:00:05+00:00","device":"laptop","filename":"2d1a9f4e8c714d8ba0e6f3e2f38e26d5.png","format":"png","full_page":false,"path":"screenshots/2d1a9f4e8c714d8ba0e6f3e2f38e26d5.png","request_id":"2eb944f59e9a4ab68c3d8c9fb5d6d3d7","source_url":"https://example.com","url":"https://screenshots-api.titandev.agency/screenshot/2d1a9f4e8c714d8ba0e6f3e2f38e26d5.png"}],"success":true},"job_completed":{"data":{"created_at":"2026-07-20T12:00:00+00:00","ended_at":"2026-07-20T12:00:05+00:00","job_id":"6dfb6e4d-3fc1-40a5-a2e6-cdb62ddac93d","screenshot":{"filename":"2d1a9f4e8c714d8ba0e6f3e2f38e26d5.png","path":"screenshots/2d1a9f4e8c714d8ba0e6f3e2f38e26d5.png","url":"https://screenshots-api.titandev.agency/screenshot/2d1a9f4e8c714d8ba0e6f3e2f38e26d5.png"},"started_at":"2026-07-20T12:00:00+00:00","status":"completed"},"success":true}},"service":"Screenshot API","status_codes":{"400":"Bad filename or invalid screenshot file path","401":"Missing or invalid API key","404":"Route, job, batch, or screenshot not found","405":"HTTP method not allowed","413":"Request body is too large","422":"Validation failed","500":"Server or capture failure","503":"Screenshot workers are busy; retry after Retry-After seconds"},"version":"1.0.0"},"success":true}
