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

# Run Evaluator Pipecat

> Execute evaluators against an agent running on Pipecat / Daily.co WebRTC. Each scenario entry carries its own `pipecat_room_url` and optional token.



## OpenAPI

````yaml post /test_framework/v1/scenarios/run_scenarios_pipecat/
openapi: 3.1.0
info:
  title: Cekura API
  version: v1
  description: >-
    Complete API documentation for the Cekura platform. This API provides
    endpoints for testing, observing, and evaluating AI voice agents — including
    managing agents, running evaluators, defining metrics, and analyzing call
    quality.
servers:
  - url: https://api.cekura.ai
security: []
paths:
  /test_framework/v1/scenarios/run_scenarios_pipecat/:
    post:
      tags:
        - Evaluators
      summary: >-
        Run evaluators against a Pipecat WebRTC deployment (manual room URLs,
        v1)
      description: >-
        PIPECAT WEBRTC RUN (manual room URLs, v1): Execute evaluators against an
        agent running on Pipecat / Daily.co WebRTC. Each scenario entry carries
        its own `pipecat_room_url` and optional token. For
        project-credential-based runs (no per-scenario URL), use
        `scenarios_run_pipecat_v2` instead.


        **Run-count:** one run per entry in `scenarios` — this endpoint does not
        support `frequency` or personality/test-profile multipliers. To run the
        same scenario multiple times, include it multiple times in the
        `scenarios` list.


        **When to use this vs others** (pick the endpoint matching the agent's
        configured connection — check `aiagents_retrieve`):

        - `run_scenarios` — real voice / phone / SIP call

        - `run_scenarios_text` — text / SMS / chat mode

        - `run_scenarios_with_websockets` — agent exposes a plain websocket URL
        (non-Pipecat)


        **Scheduled runs:** WebRTC sessions are not generally scheduled. Use
        `run_scenarios` or `run_scenarios_text` via CronJob for recurring
        evaluator runs.
      operationId: scenarios-run-pipecat-v1_2
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchemaPostRunScenariosPipecat'
            examples:
              PipecatWebRTCRun:
                value:
                  agent: 12
                  scenarios:
                    - scenario: 101
                      pipecat_room_url: https://acme.daily.co/room-abc
                      pipecat_token: token_xxx
                summary: Pipecat WebRTC run
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SchemaPostRunScenariosPipecat'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SchemaPostRunScenariosPipecat'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: integer
                    description: ID of the result
                  agent:
                    type: integer
                    description: ID of the agent
                  status:
                    type: string
                    enum:
                      - pending
                      - running
                      - completed
                      - failed
                    description: Status of the result
                  run_as_text:
                    type: boolean
                    description: Whether the scenario ran as text or not
                    example: false
                  runs:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: integer
                          description: ID of the run
                        status:
                          type: string
                          enum:
                            - pending
                            - running
                            - completed
                            - failed
                          description: Status of the run
                        scenario:
                          type: integer
                          description: ID of the scenario
                        number:
                          type: string
                          description: >-
                            For outbound runs (agent.inbound=False). The given
                            number that must be called from the phone number
                            configured in the cekura agent.
                          example: '+11234567890'
                        inbound_number:
                          type:
                            - string
                            - 'null'
                          description: >-
                            For inbound runs (agent.inbound=True). The agent's
                            configured phone number will receive calls from this
                            number.
                          example: '+11234567890'
                        scenario_name:
                          type: string
                          description: Name of the scenario
                        test_profile_data:
                          type:
                            - object
                            - 'null'
                          description: >-
                            Details of the test profile associated with this run
                            scenario
                    examples:
                      - id: 274
                        status: pending
                        scenario: 1
                        number: null
                        inbound_number: '+11234567890'
                        scenario_name: Customer Support Call (Agent Inbound = True)
                        test_profile_data: null
                      - id: 275
                        status: pending
                        scenario: 2
                        number: '+11234567890'
                        inbound_number: null
                        scenario_name: Outbound Sales Call (Agent Inbound = False)
                        test_profile_data: null
                  created_at:
                    type: string
                    format: date-time
                    example: '2025-02-25T21:00:01.990052Z'
          description: ''
        '400':
          content:
            application/json:
              schema:
                type: object
                properties:
                  field_name:
                    type: array
                    items:
                      type: string
          description: ''
      security:
        - api_key: []
components:
  schemas:
    SchemaPostRunScenariosPipecat:
      type: object
      description: >-
        Schema for the run_scenarios_pipecat endpoint, which runs scenarios
        using Pipecat WebRTC.

        Total runs: one per entry in `scenarios` (no frequency multiplier on
        this endpoint).
      properties:
        scenarios:
          type: array
          items:
            $ref: '#/components/schemas/SchemaPipecatScenario'
          description: List of scenarios to run with their Pipecat WebRTC configuration
        agent:
          type: integer
          description: >-
            Agent ID to run the scenarios against. If omitted, the agent is
            derived from the first scenario's configured agent.
      required:
        - scenarios
    SchemaPipecatScenario:
      type: object
      description: Schema for individual scenario configuration in Pipecat WebRTC runs.
      properties:
        scenario:
          type: integer
          description: ID of the scenario to run
        pipecat_room_url:
          type: string
          description: Pipecat WebRTC room URL to connect to
        pipecat_token:
          type: string
          description: Authentication token for the Pipecat room (optional)
        publish_data_message:
          description: Optional JSON data message to publish during the session
      required:
        - pipecat_room_url
        - scenario
  securitySchemes:
    api_key:
      type: apiKey
      name: X-CEKURA-API-KEY
      in: header
      description: >-
        API Key Authentication. It should be included in the header of each
        request.

````