DK Studio/Documentation
ProductChangelog

FAQ

Short answers to the questions that come up most often. Each answer names the page that covers the topic in depth, so you can stop reading here or follow the link.

Account and access

How long does a session last? Seven days. The session cookie carries the identity β€” id, email, name, role β€” together with an expiry seven days out. After it passes, GET /api/auth/status reports you as signed out and the interface asks you to sign in again. POST /api/auth/logout ends a session early. See Users and roles.

What can each role reach? Three roles: admin, engineer and viewer.

RoleReaches
adminEverything, including /admin β€” agents, licences and users.
engineerDashboard, projects, artifacts, test runs, executions, environments, schedules, reports, products, test cases, test suites, devices, settings.
viewerDashboard, projects, test runs, reports, settings.

Admin pages require the admin role; any other role is sent to /dashboard. See Users and roles.

Can I sign in with single sign-on? GET /api/auth/sso starts single sign-on by redirecting to your identity provider at https://sso.ingeek.com. POST /api/auth/login signs you in directly with an email and a password and returns your id, email, name and role. See the REST API reference.

Agents

How many agents does my licence allow? The edition licence sets the limit: maxAgents in .studio-license.json is 3 for Starter, 10 for Professional, 25 for Pro and 999 for Enterprise, and the platform enforces it when an agent registers. Each agent licence carries its own status β€” pending, consumed, revoked or expired β€” and an optional expiry date, both checked at registration. See Agent registration and entitlements.

How do I see which agents are online? Two endpoints, with different meanings:

curl -sS http://localhost:3000/api/agents          # only agents with a live socket
curl -sS http://localhost:3000/api/admin/agents    # every agent, with connectionStatus

Presence is derived from the live socket, which is why it is accurate and why lastSeen is not a liveness signal. See The agent pool.

Does the studio connect back to my bench? No. The agent dials out to the studio over Socket.IO and REST; the studio never opens a connection to an agent, so a bench needs no inbound port. Only http and https studio URLs work. See Network requirements.

My agent is registered but every command answers "Agent is offline". Check the socket endpoint on the studio's port and the studio's database configuration β€” the handshake reads the agent records from the database the studio is configured with. The full checklist is in Agent offline.

Testing

How is a test case written? A case belongs to a suite and carries a title, a description, a priority and a status. The suite groups the cases that belong to one verification pass. Cases are authored under Test Cases and grouped under Test Suites. See Writing a test case.

How is a run scheduled? A run executes the cases of a suite against a target. Recurring runs are described by a cron expression on the schedules page, and the run list shows each run's status, started_at and completed_at. See Runs and scheduling.

Where do results and reports live? Each execution of a case produces a row in executions carrying its status, result, duration_ms, error_message and executed_at. Runs and executions are listed under Test Runs and Executions, reports under Reports, and the artefacts a run produced under Artifacts. See Results and reports.

Data and privacy

What does the platform record? Per agent: the name, capabilities, workstation details, status, the registration count and timestamps. Per command: the command type, its arguments, its status, and a result JSON holding stdout, stderr, the exit code and the duration. Device events carry serial metadata β€” path, manufacturer, serial number, vendor and product id β€” and the studio keeps a system-info snapshot alongside them. Test cases, suites, runs and executions are recorded too, along with the evidence attached to a run. See Security and privacy.

Where does the data go? It stays in your own database and on your own bench. The platform has no telemetry endpoint and no third-party callback; only when you use AI assistance does the material you asked about travel to the model provider you configured. See Security and privacy.

Where do the agent's credentials live? In the database, in agents.api_key and agents.agent_secret, and on the bench in data/agent.json. The agentSecret the agent presents on the socket is generated by the studio when registration succeeds; the API key is a separate credential that only POST /api/agent/auth checks. The licence code is shown once, at issue. See Security and privacy.

See also