POST /tabs
Creates a new browser tab within a user’s session. Tabs are organized bysessionKey (also called listItemId for backward compatibility) to group related browsing tasks.
Authentication
All tab operations require auserId in the request body to identify which user session owns the tab.
Request
Body parameters
string
required
User identifier for session isolation. Sessions maintain separate cookies, storage, and browser contexts.
string
required
Session key to group related tabs together (e.g., by conversation or task). Legacy name:
listItemId.string
Deprecated. Use
sessionKey instead. Accepted for backward compatibility.string
Initial URL to navigate to after creating the tab. Must use
http: or https: protocol. If omitted, tab opens to about:blank.Response
string
UUID identifier for the newly created tab. Use this in all subsequent tab operations.
string
Current URL of the tab after creation.
Example
Error responses
Notes
- Maximum tabs per session is configurable (default: 10 via
MAX_TABS_PER_SESSION) - Global tab limit across all users is 100 (configurable via
MAX_TABS_GLOBAL) - Each
userIdgets an isolated browser context with separate cookies and storage - Tabs within the same
sessionKeycan be closed together usingDELETE /tabs/group/:groupId - URL navigation timeout is 30 seconds
- Sessions auto-expire after 30 minutes of inactivity (configurable via
SESSION_TIMEOUT_MS)