LangWatch · Capability

LangWatch Suites API

Compose and execute batch test suites combining scenarios, datasets, and evaluators. Self-contained Naftiko capability covering one LangWatch business surface.

LangWatch Suites API is a Naftiko capability published by LangWatch, one of 20 capabilities the APIs.io network indexes for this provider. It bundles 7 operations across the POST, GET, PATCH, and DELETE methods rooted at /v1/api/suites.

The capability includes 2 read-only operations and 5 state-changing operations. Lead operation: List suites. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.

Tagged areas include LangWatch, Suites, and Experiments.

Run with Naftiko LangWatchSuitesExperiments

What You Can Do

GET
Listsuites — List suites.
/v1/api/suites
POST
Createsuite — Create a suite.
/v1/api/suites
GET
Getsuite — Retrieve a suite.
/v1/api/suites/{id}
PATCH
Updatesuite — Update a suite.
/v1/api/suites/{id}
DELETE
Deletesuite — Delete a suite.
/v1/api/suites/{id}
POST
Duplicatesuite — Duplicate a suite.
/v1/api/suites/{id}/duplicate
POST
Runsuite — Run a suite.
/v1/api/suites/{id}/run

MCP Tools

langwatch-listSuites

List suites.

read-only idempotent
langwatch-createSuite

Create a suite.

langwatch-getSuite

Retrieve a suite.

read-only idempotent
langwatch-updateSuite

Update a suite.

langwatch-deleteSuite

Delete a suite.

idempotent
langwatch-duplicateSuite

Duplicate a suite.

langwatch-runSuite

Run a suite.

Capability Spec

suites.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: LangWatch Suites API
  description: 'Compose and execute batch test suites combining scenarios, datasets, and evaluators. Self-contained Naftiko capability covering one LangWatch business surface.'
  tags:
  - LangWatch
  - Suites
  - Experiments
  created: '2026-05-25'
  modified: '2026-05-25'
binds:
- namespace: env
  keys:
    LANGWATCH_API_KEY: LANGWATCH_API_KEY
capability:
  consumes:
  - type: http
    namespace: suites
    baseUri: https://app.langwatch.ai
    description: Compose and execute batch test suites combining scenarios, datasets, and evaluators.
    resources:
    - name: api-suites
      path: /api/suites
      operations:
      - name: listSuites
        method: GET
        description: List suites.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createSuite
        method: POST
        description: Create a suite.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-suites-id
      path: /api/suites/{id}
      operations:
      - name: getSuite
        method: GET
        description: Retrieve a suite.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: updateSuite
        method: PATCH
        description: Update a suite.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: deleteSuite
        method: DELETE
        description: Delete a suite.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
    - name: api-suites-id-duplicate
      path: /api/suites/{id}/duplicate
      operations:
      - name: duplicateSuite
        method: POST
        description: Duplicate a suite.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-suites-id-run
      path: /api/suites/{id}/run
      operations:
      - name: runSuite
        method: POST
        description: Run a suite.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: bearer
      value: '{{env.LANGWATCH_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: suites-rest
    port: 8080
    description: REST adapter for LangWatch Suites API.
    resources:
    - path: /v1/api/suites
      name: listsuites-resource
      description: REST surface for listSuites.
      operations:
      - method: GET
        name: listSuites
        description: List suites.
        call: suites.listSuites
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/suites
      name: createsuite-resource
      description: REST surface for createSuite.
      operations:
      - method: POST
        name: createSuite
        description: Create a suite.
        call: suites.createSuite
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/suites/{id}
      name: getsuite-resource
      description: REST surface for getSuite.
      operations:
      - method: GET
        name: getSuite
        description: Retrieve a suite.
        call: suites.getSuite
        with:
          id: rest.path.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/suites/{id}
      name: updatesuite-resource
      description: REST surface for updateSuite.
      operations:
      - method: PATCH
        name: updateSuite
        description: Update a suite.
        call: suites.updateSuite
        with:
          id: rest.path.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/suites/{id}
      name: deletesuite-resource
      description: REST surface for deleteSuite.
      operations:
      - method: DELETE
        name: deleteSuite
        description: Delete a suite.
        call: suites.deleteSuite
        with:
          id: rest.path.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/suites/{id}/duplicate
      name: duplicatesuite-resource
      description: REST surface for duplicateSuite.
      operations:
      - method: POST
        name: duplicateSuite
        description: Duplicate a suite.
        call: suites.duplicateSuite
        with:
          id: rest.path.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/suites/{id}/run
      name: runsuite-resource
      description: REST surface for runSuite.
      operations:
      - method: POST
        name: runSuite
        description: Run a suite.
        call: suites.runSuite
        with:
          id: rest.path.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: suites-mcp
    port: 9090
    transport: http
    description: MCP adapter for LangWatch Suites API. One tool per consumed operation.
    tools:
    - name: langwatch-listSuites
      description: List suites.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: suites.listSuites
      outputParameters:
      - type: object
        mapping: $.
    - name: langwatch-createSuite
      description: Create a suite.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: suites.createSuite
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: langwatch-getSuite
      description: Retrieve a suite.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: suites.getSuite
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: langwatch-updateSuite
      description: Update a suite.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: suites.updateSuite
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: langwatch-deleteSuite
      description: Delete a suite.
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: suites.deleteSuite
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: langwatch-duplicateSuite
      description: Duplicate a suite.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: suites.duplicateSuite
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: langwatch-runSuite
      description: Run a suite.
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: suites.runSuite
      with:
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.