URL Structure & Subdomains
How TestKase's multi-domain architecture works across products.
TestKase uses a subdomain-based architecture to separate products while maintaining a unified authentication experience.
Domain Map
| Domain | Purpose |
|---|---|
testkase.com | Marketing site, login, signup, and every account and organization page |
test-management.testkase.com | Test Management product |
accessibility.testkase.com | Accessibility Testing product |
automate.testkase.com | Automate product |
live.testkase.com | Live product |
api.testkase.com | Backend API |
docs.testkase.com | Documentation (this site) |
Authentication across subdomains
TestKase uses httpOnly cookies with domain=.testkase.com for authentication:
- You log in at
testkase.com/login. - The backend sets an authentication cookie scoped to
.testkase.com. - Your browser automatically sends this cookie to all
*.testkase.comsubdomains. - No re-login needed when switching between products.
This is the same pattern used by other multi-product SaaS platforms — one login, many subdomains.
Sign-in and account pages (main domain)
These pages exist only on testkase.com. If you open one on a product subdomain — for example
live.testkase.com/profile — you are redirected to testkase.com/profile, with any query string
preserved.
Sign-in pages
No login required:
/login/signup/verify-otp— where you enter the 6-digit one-time code/verify-email— the "check your email" page shown after signup/verify-token/forgot-password/reset-password/{token}/reset-password-sent/accept-invite/resend-invite
Account pages
/home— the product hub you land on after every login/profile/change-password/api-keys— Personal Access Tokens/support/invitation
API keys live at testkase.com/api-keys, reached from the profile menu. There is no
/settings/access-keys page and no top-level /settings page — both 404.
Organization pages
/admin redirects to /admin/invitations. All of these need the Organization Owner or
Organization Admin role, and several are Owner only — an Admin sees them greyed out in the
sidebar with "Only the organization owner can access this":
| URL | Page | Who |
|---|---|---|
/admin/invitations | Members and invitations | Owner, Admin |
/admin/users | Full user list — not linked from the sidebar; reachable by typing the URL | Owner, Admin |
/admin/storage | Storage usage | Owner, Admin |
/admin/ai-credits | AI credit balance and usage | Owner, Admin |
/admin/subscriptions | Plans and seats | Owner only |
/admin/billing | Invoices and payment history | Owner only |
/admin/devicefarm-usage | Live and Automate device-minutes, per person — not linked from the sidebar; reachable by typing the URL | Owner only |
/admin/settings | Transfer ownership and delete organization | Owner only |
Test Management pages
On test-management.testkase.com. The subdomain root redirects to /projects.
/projects— project list (Organization Owner and Admin only)/project-selection— project picker, shown to members instead of/projects/{projectId}— redirects to/{projectId}/testcases/{projectId}/testcases,/{projectId}/testcases/{testCaseId}/{projectId}/testcycles,/{projectId}/testcycles/{testCycleId}/{projectId}/testplans,/{projectId}/testplans/{testPlanId}/{projectId}/requirements,/{projectId}/requirements/{requirementId}/{projectId}/defects,/{projectId}/defects/{defectId}/{projectId}/reports,/{projectId}/reports/{reportId}
{projectId} is the generated project id, for example PRJ-1048.
Project settings
/{projectId}/settings redirects to /{projectId}/settings/custom-fields. The pages are:
custom-fields · field-defaults · field-configuration · user-permissions ·
requirement-integration · defect-integration · notification-integration
Accessibility pages
On accessibility.testkase.com. Unlike the other products, the subdomain root does not redirect
into the app — start at /web-scanner.
/web-scanner— scan list/web-scanner/new— new scan form/web-scanner/{scanId}— scan report/web-scanner/compare— compare two scans/web-scanner/consolidate?ids=web-1,extension-2— consolidate scans;idsis a comma-separated list of type-qualified refs (web-<id>orextension-<id>), so a report can mix Web Scanner and Chrome-extension (Workflow Analyzer) scans. A bare number still works and means a Web Scanner scan/workflow-analyzer— workflow analyzer list/workflow-analyzer/{scanId}— workflow analyzer report/teams— accessibility team management
Automate pages
On automate.testkase.com. This subdomain accepts clean URLs without the /automate prefix —
automate.testkase.com/browsers and automate.testkase.com/automate/browsers serve the same page.
Opening the subdomain root sends you to /automate/browsers.
| Page | Clean URL |
|---|---|
| Browser sessions | /browsers/sessions |
| A single browser session | /browsers/sessions/{id} |
| A single mobile-web session | /browsers/mobile-sessions/{id} |
| Build executions | /browsers/executions |
| A single build | /browsers/executions/{build} |
| Available browser versions | /browsers/versions |
| Browser setup guide | /browsers/docs |
| Mobile app sessions | /mobile-apps/sessions |
| Start a mobile session | /mobile-apps/sessions/new |
| A single mobile session | /mobile-apps/sessions/{id} |
| Uploaded apps | /mobile-apps/apps |
| Devices | /mobile-apps/devices |
| Mobile setup guide | /mobile-apps/docs |
Four of those pages are reachable only by typing the URL — nothing in the app links to them:
/browsers/executions (and /browsers/executions/{build}), /browsers/versions,
/mobile-apps/devices and /mobile-apps/sessions/new. They render, but there is no button or
sidebar entry that gets you there. Bookmark them if you need them.
Old bookmarks are redirected automatically: /automate/sessions, /automate/devices and
/automate/dashboard go to /automate/mobile-apps/sessions; /automate/apps goes to
/automate/mobile-apps/apps; /automate/docs goes to /automate/mobile-apps/docs; and
/automate/sessions/{id} goes to /automate/mobile-apps/sessions/{id}.
Live pages
On live.testkase.com, with the same clean-URL behaviour. Opening the subdomain root sends you to
/live/browsers.
| Page | Clean URL |
|---|---|
| Desktop browsers | /browsers |
| Mobile devices and apps | /mobile-apps |
| A single live session | /sessions/{id} |
/live/devices and /live/dashboard are old paths and redirect to /live/mobile-apps.
Public share links
/s/{token} is the public session report link. It works on any TestKase host, requires no login,
and is excluded from search engines. It is the only page in the product that anonymous visitors can
open.
API endpoints
All API calls go to api.testkase.com/api/v1/.
Authentication methods:
- Cookie — automatically sent by the browser (web app).
- Bearer Token —
Authorization: Bearer <jwt>header (Postman, scripts). - Personal Access Token (PAT) —
Authorization: Bearer xyz_<token>(CI/CD, automation).
See the public API docs for endpoint reference.
