DocumentationAPI reference
Help Center
Guides and references for building authenticated screenshot and PDF workflows with SessionShot.
Getting Started
Create a Project, allow a domain, create a key, and run your first capture.
What is SessionShot?Authenticated screenshots and PDFs for SaaS dashboards, reports, and support views.Quickstart: first captureThe shortest safe path from a fresh workspace to a completed Capture Log.Create a ProjectProjects organize API keys, allowed domains, Capture Logs, and lifecycle settings.Use Capture BuilderGenerate safe cURL and Node snippets for backend-only capture requests.
Core Concepts
The product model behind Projects, domains, keys, logs, and usage.
ProjectsA Project maps to one product, dashboard, customer portal, or reporting area.Project API KeysBackend-only bearer keys. Full secrets are shown once and never stored in plaintext.Allowed DomainsPer-Project domain allowlists checked before a capture is queued.Capture LogsWorkspace and Project request/result history with safe status metadata.Usage and monthly limitsSubmitted capture requests count toward monthly usage. Enforcement is gated.
Capture API
Endpoints, authentication, formats, polling, errors, and limits.
API overviewTwo endpoint flow: create a capture, then poll for status and result metadata.AuthenticationSend a Project API Key in the Authorization bearer header.POST /api/capturesQueue a PNG or PDF capture request from your backend.GET /api/captures/:idPoll queued, processing, completed, and failed states.Wait actions and full-page capturesUse focused options without turning the quickstart into a full browser test suite.Rate limitsServer-side abuse controls protect the capture API and worker.
Authenticated Capture Flows
Safe patterns for logged-in pages, customer portals, and private dashboards.
Why authenticated screenshots are differentLogged-in pages need scoped session handling, not browser-exposed API keys.Short-lived capture URLsRecommended model for authenticated pages: generate scoped URLs from your backend.Redaction and secretsMask sensitive DOM selectors before pixels are rendered.Support and customer portal examplesCapture the same state your users see, without sharing long-lived tokens.
Security
Key handling, allowlists, SSRF protection, encryption, signed URLs, and rotation.
API key securityStore keys server-side only. Prefixes are labels, not credentials.Domain allowlistOnly active Project domains are eligible for capture requests.SSRF protectionHTTPS-only target validation and private-network blocking.Signed result URLsShort-lived server-minted URLs for private result files.Secret rotationRotate leaked API keys and production secrets through the owning provider.
Billing & Plans
Free access, coming paid plans, usage limits, renewal state, and Customer Portal.
Plans overviewFree is open; Starter and Pro self-serve plans are coming soon; Business/custom is contact-based.Paddle CheckoutSelf-serve checkout is prepared but not open publicly yet. Webhooks remain the entitlement source.Coming soonManage billingPaddle Customer Portal handles payment methods, invoices, and renewal settings for paid workspaces.Auto-renew and cancellationAuto-renew off keeps paid access until the end of the billing period.Native in-app downgradesPlanned self-service downgrade controls inside SessionShot.Coming soon
Troubleshooting
Common errors and the safest first checks when something is stuck.
Invalid API keyUse the full one-time key secret, not the prefix shown in the dashboard list.Domain not allowedThe target hostname must match an active Project domain.Capture stuck in queuedUsually means the worker is unavailable or cannot reach the queue.Capture failedUse Capture Logs for safe error summaries and retry context.Paddle checkout issuesCheck Live token, Live price IDs, CSP, and webhook delivery.
Status & Support
Public status, operational alerts, Crisp chat, and support request quality.
System status pageCurrent public operational signal without fabricated uptime history.Operational alertsInternal worker, queue, processing, and failure-spike checks.Crisp chat supportUse the dashboard support widget or email support with the right context.ChangelogA public changelog is planned but not published yet.Planned
Reference
Status values, error codes, formats, examples, and limits.
