Test Cases

Get a test case

Returns the full scenario text and metadata for a test case, including its per-target default configuration (mobile, web hostname overrides, desktop, multi-device). Device and upload identifiers in the configs are encrypted tokens (the same currency as /api/devices and /api/uploads). The configs are set at creation (POST /api/cases) or set and cleared via PATCH /api/cases/{caseId}, and every token round-trips into both. The apiMobileConfig tokens (top-level and apps[].uploadArn) also round-trip into POST /api/triggers/cases/{caseId}/run, whose per-run overrides supersede the stored mobile/web/desktop defaults for a single run; the trigger has no multi-device override fields.

get/api/cases/{caseId}

Request

Path parameters

caseIdstring uuid required

Response

Test case.

idstring uuid required
projectIdstring uuid required
type'web' | 'mobile' | 'desktop' | 'multi_device' required
titlestring nullable
descriptionstring nullable
scenariostring required

Test case content (interpretation depends on format).

format'gherkin' | 'markdown' | 'plain_text' required
startUrlstring nullable
apiEnabledboolean
lastRunAtstring date-time nullable
lastStatusstring nullable
archivedAtstring date-time nullable

Set when the case was archived (soft-deleted). Archived cases are excluded from lists but stay readable by id.

createdAtstring date-time required
updatedAtstring date-time required
tagsstring[] required

Caller-supplied labels, for example the commit and pull request a run was testing. At most 10, each 1-64 characters after trimming; duplicates are collapsed. A request exceeding a bound is refused with 400, never truncated. Tags are returned exactly as stored and are visible to everyone in your organization, so never put secrets in them.

Example response

{
  "tags": [
    "git:sha:3f2c1e9a7b6d5c4e3f2a1b0c9d8e7f6a5b4c3d2e",
    "genesis:pr:1234"
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.