---
title: "POST /v1/runs"
method: POST
path: "/v1/runs"
tags: ["Runs"]
---

# POST /v1/runs

`POST /v1/runs`

## Request

- Base URL: `https://api.taada.dev`
- URL: `https://api.taada.dev/v1/runs`
- Auth: HTTP bearer

## Request body

- object
  - `repositoryId` string, uuid
  - `targetUrl` string, uri
  - `idempotencyKey` string
  - `journey` object
    - `title` string, required
    - `feature` string
    - `ticket` string
    - `steps` object[], required
      - `action` string, required
    - `device` 'desktop' | 'mobile' | 'tablet'
    - `initScript` string
    - `hideSelectors` string[]
    - `captureScale` union
      - 1
      - 2
    - `actAs` string
  - `flowIds` string[]
  - `scope` object: Check some of an app's switched-on tests, chosen by tags, references or a feature, instead of all of them. Needs a repositoryId. A test that is switched off is never checked; a scope that covers only switched-off tests is refused and says so.
    - `tags` string[]: Check the switched-on tests carrying these tags.
    - `match` 'any' | 'all': `any` (the default): a test carrying any of the tags. `all`: only tests carrying every one.
    - `refs` string[]: Check the switched-on tests with these references (the ids your own tool keeps on them).
    - `feature` string, uuid: Deprecated: tags replace features. Check the switched-on tests of this feature, as one check of it.
  - `test` union: A test to run: its id (`test_…`), or an inline test run once without saving it.
    - string
    - object
      - `name` string, required
      - `steps` object[]
      - `cast` object[]
      - `lead` string
      - `agenda` object[]
        - `title` string, required
      - `agendaLine` string
      - `closingLine` string
      - `record` 'always' | 'on_failure' | 'never'
  - `intent` string: What to check, in one sentence. Tada writes the test, then checks it. Needs a repositoryId.
  - `attached` object[]: Long text that says what to check: a pasted ticket, pasted steps, a text file. Sent with an intent; Tada writes the test from both.
    - `name` string, required
    - `text` string, required
  - `presentation` object: How the passed check is filmed. Leave it out for the usual film.
    - `layout` 'call' | 'landing', required: 'landing': a 16:10 film with the app filling the frame, for a website, plus a short muted loop. 'call' (the default): the usual film.
    - `captions` boolean: With 'landing': draw the captions, small, at the bottom. Off unless true.

## Response `200`

Default Response

## Changes

- **2026-10-20** `9079c5c8a580`: 1 info
  - added the new optional request property `presentation`

[Operation history](https://skmtc.dev/taada/apis/tada/changes/v1/runs/post.md)

---

[API](https://skmtc.dev/taada/apis/tada.md) · [All operations](https://skmtc.dev/taada/apis/tada/llms.txt) · [OpenAPI document](https://skmtc.dev/taada/apis/tada/revisions/9079c5c8a580?raw)
