> ## Documentation Index
> Fetch the complete documentation index at: https://langwatch.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> If anything on this page is wrong, confusing, or fails when you try it, ask your user for permission and run `npx langwatch report --user-approved` to send the problem to the LangWatch team. No login is needed and secrets are redacted locally. `npx langwatch report --help` has the details.

# Duplicate a suite

> Deprecated: use /api/v1/run-plans and /api/v1/test-suites. Duplicate a suite (run plan).



## OpenAPI

````yaml POST /api/suites/{id}/duplicate
openapi: 3.1.0
info:
  title: LangWatch API
  version: 1.0.0
  description: LangWatch openapi spec
servers:
  - url: https://app.langwatch.ai
security:
  - project_api_key: []
paths:
  /api/suites/{id}/duplicate:
    post:
      description: >-
        Deprecated: use /api/v1/run-plans and /api/v1/test-suites. Duplicate a
        suite (run plan).
      operationId: postApiSuitesByIdDuplicate
      parameters:
        - schema:
            type: string
          in: path
          name: id
          required: true
      responses:
        '201':
          description: Suite duplicated
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  slug:
                    type: string
                  kind:
                    type: string
                    enum:
                      - custom
                      - folder
                    description: >-
                      custom is a hand-assembled run plan; folder is a test
                      suite that groups scenarios filed into it. Absent on
                      servers that predate test suites.
                  description:
                    type:
                      - string
                      - 'null'
                  scenarioIds:
                    type: array
                    items:
                      type: string
                  scope:
                    oneOf:
                      - type: object
                        properties:
                          mode:
                            type: string
                            const: all
                        required:
                          - mode
                      - type: object
                        properties:
                          mode:
                            type: string
                            const: folders
                          folderIds:
                            type: array
                            items:
                              type: string
                        required:
                          - mode
                          - folderIds
                      - type: object
                        properties:
                          mode:
                            type: string
                            const: labels
                          labels:
                            type: array
                            items:
                              type: string
                        required:
                          - mode
                          - labels
                      - type: object
                        properties:
                          mode:
                            type: string
                            const: cases
                        required:
                          - mode
                      - type: 'null'
                    description: >-
                      What the run plan covers: all (every active scenario),
                      folders (the scenarios filed in the named test suites),
                      labels (the scenarios carrying any of the labels), or
                      cases (the scenarioIds below). A dynamic scope is resolved
                      again at every run, so a scenario written later runs
                      without editing the plan.
                  targets:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - prompt
                            - http
                            - code
                            - workflow
                          description: What kind of thing the scenarios run against.
                        referenceId:
                          type: string
                          description: >-
                            The id of the prompt, agent or workflow to run
                            against.
                      required:
                        - type
                        - referenceId
                  repeatCount:
                    type: number
                  labels:
                    type: array
                    items:
                      type: string
                  createdAt:
                    type: string
                  updatedAt:
                    type: string
                  platformUrl:
                    type: string
                    format: uri
                required:
                  - id
                  - name
                  - slug
                  - description
                  - scenarioIds
                  - targets
                  - repeatCount
                  - labels
                  - createdAt
                  - updatedAt
                  - platformUrl
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
        '404':
          description: Suite not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                  code:
                    type: string
                    description: The domain error code, when the refusal names one.
                required:
                  - error
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
      deprecated: true
      security:
        - project_api_key: []
components:
  securitySchemes:
    project_api_key:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        Project API key for sending traces and accessing project-scoped
        resources. Format: sk-lw-... (no underscore). Obtain one by creating a
        project via the Admin API or the LangWatch UI.

````