API keys authenticate your request to ScreenFramed. Auth profiles authenticate ScreenFramed to the page being captured.

Use auth profiles when the target URL needs cookies or browser storage:

  • SaaS dashboards.
  • Account settings.
  • Admin panels.
  • Staging apps behind login.
  • Customer-specific portals.

Create an auth profile with the CLI

bash
screenframed auth login --url https://app.example.com/login --project prj_...

The CLI opens a browser. Log in normally, return to the terminal, and press Enter. The CLI saves the browser auth state as an auth profile and prints the profile id.

Use an auth profile

bash
screenframed capture https://app.example.com/dashboard \ --project prj_... \ --auth-profile ap_... \ --output dashboard.png

API request:

json
{ "url": "https://app.example.com/dashboard", "project_id": "prj_01K...", "auth_profile_id": "ap_01K...", "device": "browser-macos", "background_preset": "midnight", "shadow": "soft"}

Domain matching

Auth profiles are domain-bound. A profile for app.example.com can be used for that host and matching subdomain rules, but it cannot be used for an unrelated domain.

Keep auth profiles scoped to the smallest domain that covers your capture URLs. Do not reuse a broad profile for unrelated products or environments.

Refresh a profile

bash
screenframed auth refresh ap_... --url https://app.example.com/login

Refresh when cookies expire, a login flow changes, or you rotate credentials.

API management

Auth profiles are also available through /v1/auth-profiles. The API supports listing, creating, updating, testing, and deleting profiles. See Auth Profiles API.

Ask a question... ⌘I