---
title: "Edit a suite"
method: PATCH
path: "/api/tests/suites/{id}"
tags: ["Suites"]
---

# Edit a suite

`PATCH /api/tests/suites/{id}`

## Request

- Base URL: `https://api.wordis-bond.com`
- URL: `https://api.wordis-bond.com/api/tests/suites/{id}`
- Auth: HTTP bearer

Only the fields sent change. `schedule: null` (or `""`) makes the suite manual; setting a schedule requires a verified email, as creating a scheduled suite does. A suite the account does not own is a 404.

## Path parameters

- `id` string, uuid, required

## Request body

- object
  - `name` string
  - `targetAgent` TargetAgent: The voice agent under test (a system YOU control). `direct` = SIP/WebRTC (near-zero cost, all plans); `pstn` = a real carrier call (pro+). The hosted demo target is `{transport:"direct", peerId:"wb-demo-dental"}`.
    - `transport` 'pstn' | 'webrtc' | 'direct' | 'sip', required
    - `toNumber` string: E.164 number to dial (required for a pstn target).
    - `peerId` string: Hosted-agent id (e.g. "wb-demo-dental"), a direct peer label, or — for a `sip` target — the SIP URI.
    - `sipUri` string: For a `sip` target: the agent SIP URI (`sip:` / `sips:`).
  - `language` string
  - `scenarios` Scenario[]
    - `persona` union
      - string
      - object
        - `name` string
        - `description` string
    - `goal` string
    - `expected` string[]
    - `bargeIn` boolean: Inject one persona-initiated barge-in.
  - `schedule` 'weekly' | 'daily' | 'hourly' | '' | 'null', nullable
  - `clientId` string, uuid, nullable

## Response `200`

The updated suite

- object
  - `data` TestSuite, required
    - `id` string, uuid, required
    - `accountId` string, uuid
    - `name` string, required
    - `targetAgent` TargetAgent, required: The voice agent under test (a system YOU control). `direct` = SIP/WebRTC (near-zero cost, all plans); `pstn` = a real carrier call (pro+). The hosted demo target is `{transport:"direct", peerId:"wb-demo-dental"}`.
      - `transport` 'pstn' | 'webrtc' | 'direct' | 'sip', required
      - `toNumber` string: E.164 number to dial (required for a pstn target).
      - `peerId` string: Hosted-agent id (e.g. "wb-demo-dental"), a direct peer label, or — for a `sip` target — the SIP URI.
      - `sipUri` string: For a `sip` target: the agent SIP URI (`sip:` / `sips:`).
    - `language` string
    - `scenarios` Scenario[]
      - `persona` union
        - string
        - object
          - `name` string
          - `description` string
      - `goal` string
      - `expected` string[]
      - `bargeIn` boolean: Inject one persona-initiated barge-in.
    - `schedule` string, nullable
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `error` union, required
    - object
    - string

## Other responses

- `401`: Missing, invalid, or revoked credentials.
- `404`: The resource does not exist or is not owned by the tenant.
- `422`: The request body failed validation.

---

[API](https://skmtc.dev/wordis-bond/apis/word-is-bond-voice-agent-testing-api.md) · [All operations](https://skmtc.dev/wordis-bond/apis/word-is-bond-voice-agent-testing-api/llms.txt) · [OpenAPI document](https://skmtc.dev/wordis-bond/apis/word-is-bond-voice-agent-testing-api/revisions/66c2d5480d84?raw)
