SmoothDeploy Docs

Data Models

Conceptual model of the entities in SmoothDeploy and how they relate.

The core entities in SmoothDeploy, their user-visible properties, and how they relate to one another. For task-oriented guides, follow the links in each section.

Organization

The top-level container that owns all other entities.

PropertyValues / notes
nameDisplay name
slugURL-friendly identifier
logoLogo URL (optional)
licenseConcurrency limit, retention period, active flag

See Organization management.

Member

A user's membership in an organization. Each user belongs to exactly one organization.

PropertyValues / notes
rolemember, admin, or owner
createdAtWhen the membership was created

The role field on the member record controls what the member can do. See Roles and Permissions.

Project

A logical grouping of related tests and branches within an organization.

PropertyValues / notes
nameUp to 32 characters
statusactive or archived
configPlaywright configuration (browser, timeouts, etc.) applied to all tests by default
varsDefault variables source for tests in this project

See Projects.

Branch

A version-control branch scoped to a project. Each project has one default branch; additional branches can be created.

PropertyValues / notes
nameUp to 64 characters; unique within the project
isDefaultWhether this is the project's default branch

See Branches.

Test

A test is an identity record for a test case. The user-visible properties (name, status, steps, config) are stored per-branch in a Test Revision, not on the test itself.

PropertyValues / notes
projectIdThe project this test belongs to
parentTestIdIf set, this test is a child of a directory test

A test with directory = true in its revision acts as a folder rather than an executable test case. See Tests.

Test Revision

All branch-specific content for a test lives here. There is always one working revision per test per branch (the editable state), plus any number of snapshot revisions.

PropertyValues / notes
nameDisplay name, up to 64 characters
statusdraft, active, or archived
directorytrue if this is a folder rather than an executable test
revisionTypeworking (current editable state), auto (system snapshot), or manual (user-created snapshot)
versionNumbernull for the working revision; 1, 2, 3… for snapshots
messageOptional description for manual snapshots
configPlaywright config override for this test
varsVariables source for this test
parametersParameters source for this test
metadataIncludes test type (visual or script)

See Revisions, Parameters, Variables.

Step

A reusable unit of browser action (click, fill, assert, etc.). A step holds the action definition; the display name and ordering are tracked on the revision step.

PropertyValues / notes
actionThe action object (navigate, click, fill, assert…)
grouptrue if this step is a group container
sharedtrue if the step was created as an org-level shared step

Revision Step

Links a test revision to a step and records branch-specific display data and execution context.

PropertyValues / notes
nameDisplay name shown in the test editor
orderExecution order within the test
conditionWhen to run the step (always-run, skip, condition, element-visibility, element-text)
frameFrame context (for steps inside iframes)
sharedBranch-scoped flag controlling visibility as a shared step

See Step Management and Shared Steps.

Test Run

An execution instance of a test.

PropertyValues / notes
nameDisplay name
statuspending, queued, running, completed, failed, or cancelled
configPlaywright config used for this run
varsResolved variables
parametersInput parameters
secretsSecrets injected for this run
durationElapsed milliseconds
startedAt / completedAt / cancelledAtTimestamps

See View Results and Run Remotely.

Schedule

An automated trigger that starts test runs on a cron schedule or at a specific time.

PropertyValues / notes
nameUp to 64 characters
scheduleTypesingle_test, directory, or tag
scheduleModerecurring or once
cronExpressionUTC cron expression (recurring) or ISO datetime (once)
enabledWhether the schedule is active
config / vars / parametersOverrides applied to each triggered run

See Schedules.

Tag

A label for organizing and filtering tests.

PropertyValues / notes
nameUp to 64 characters; unique within the organization
colorHex color code (optional)
descriptionFree-text description (optional)

See Tags.

Secret

Secure storage for sensitive values such as passwords and API tokens. Values are injected into test runs. The console does not display a value after it is saved.

PropertyValues / notes
nameAlphanumeric and underscores only; up to 64 characters; unique within the organization
descriptionFree-text description
statusnever_used, recently_used, or expired

See Secrets.

Config Preset

A named, reusable Playwright configuration that can be applied to any test run.

PropertyValues / notes
nameUp to 64 characters
descriptionFree-text description (optional)
isDefaultIf true, this preset is pre-selected in the run dialog when a test has no saved config
configPlaywright config object

See Config Presets.

API Key

A scoped credential for accessing the SmoothDeploy API without user authentication.

PropertyValues / notes
nameUp to 128 characters
keyPrefixShort prefix shown in the console to identify the key
permissionsScoped permission set (e.g. emailInbox: ["read", "delete"])
deletedAtSet when the key is revoked; null while active

See API Keys and API Reference.

Email Inbox

A managed email address that a test can read during execution (for OTP and email-verification flows).

PropertyValues / notes
addressThe email address
typetemporary (auto-expires) or permanent
nameHuman-readable label (optional)
expiresAtExpiry timestamp for temporary inboxes

See Email Inboxes.

Next Steps