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

# Listar llamadas para agregar como casos

> Llamadas de los agentes del benchmark que tienen transcripción (y, en benchmarks STT, grabación), la más reciente primero, con cuántos casos alimenta ya cada una. No se devuelve contenido de llamadas.



## OpenAPI

````yaml /es/docs-openapi.json get /v1/benchmarks/{id}/call-candidates
openapi: 3.1.0
info:
  title: API REST de Zelto
  version: v1
  description: >-
    Acceso programático a tu organización de Zelto. Cada endpoint está limitado
    a la organización a la que pertenece la clave de API. Crea una clave en
    Configuración → Integraciones → Integración por API.
servers:
  - url: https://api.zelto.ai
    description: Producción
security:
  - bearerAuth: []
tags:
  - name: Monitors
    description: Exportaciones filtradas y asíncronas de resultados guardados de monitores.
  - name: Agentes
    description: >-
      Agentes de IA de voz y texto normalizados mediante el flujo de ingestión
      de Zelto.
  - name: Conversaciones
    description: >-
      Conversaciones de voz y texto (llamadas, chats y mensajes de voz), junto
      con sus transcripciones y grabaciones.
  - name: Métricas del cliente
    description: >-
      Evaluaciones proporcionadas por el cliente y asociadas a una conversación.
      Requiere que las métricas estén habilitadas.
  - name: Revisiones
    description: Estado de revisión humana de las conversaciones.
  - name: Colas de revisión
    description: Agrupa y dirige conversaciones para revisarlas por lotes.
  - name: Empresas
    description: Clientes o marcas para los que trabajan tus agentes, y sus logos.
  - name: Hallazgos
    description: >-
      Problemas estructurados descubiertos durante el análisis, con
      conversaciones y comentarios opcionales.
  - name: Experimentos
    description: >-
      Medición prospectiva de dos versiones de prompt enrutadas externamente
      mediante resultados de monitores independientes.
  - name: Organizaciones
    description: >-
      Aprovisionamiento de organizaciones sin interfaz. Requiere una clave de
      API de administrador o servicio.
  - name: Proveedores de IA
    description: >-
      Las claves propias de tu organización para proveedores de IA (trae tu
      propia clave). Los monitores pueden ejecutarse con ellas en lugar de los
      modelos integrados de Zelto. Solo propietarios o administradores; el
      secreto es de solo escritura.
  - name: Benchmarks
    description: >-
      Evaluaciones repetibles de prompts, modelos y motores de voz a texto de
      tus agentes sobre un conjunto fijo de casos, puntuadas por Judges.
paths:
  /v1/benchmarks/{id}/call-candidates:
    get:
      tags:
        - Benchmarks
      summary: Listar llamadas para agregar como casos
      description: >-
        Llamadas de los agentes del benchmark que tienen transcripción (y, en
        benchmarks STT, grabación), la más reciente primero, con cuántos casos
        alimenta ya cada una. No se devuelve contenido de llamadas.
      operationId: listBenchmarkCallCandidates
      parameters:
        - name: id
          in: path
          required: true
          description: Id del benchmark.
          schema:
            type: string
            format: uuid
        - name: agentId
          in: query
          required: false
          description: Solo las llamadas de este agente (debe estar asignado al benchmark).
          schema:
            type: string
            format: uuid
        - name: from
          in: query
          required: false
          description: Llamadas en esta fecha o después (AAAA-MM-DD, UTC).
          schema:
            type: string
            format: date
        - name: to
          in: query
          required: false
          description: Llamadas en esta fecha o antes (AAAA-MM-DD, UTC).
          schema:
            type: string
            format: date
        - name: endedReason
          in: query
          required: false
          schema:
            type: string
            maxLength: 200
        - name: hasToolCalls
          in: query
          required: false
          description: Solo llamadas en las que el agente llamó a una herramienta.
          schema:
            anyOf:
              - type: boolean
              - type: string
                enum:
                  - 'true'
                  - 'false'
        - name: search
          in: query
          required: false
          schema:
            type: string
            maxLength: 200
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: Respuesta correcta.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/BenchmarkCallCandidate'
                  nextCursor:
                    description: Cursor de la página siguiente, o null en la última página.
                    type:
                      - string
                      - 'null'
                required:
                  - data
                  - nextCursor
        '400':
          $ref: '#/components/responses/ValidationFailed'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    Limit:
      name: limit
      in: query
      required: false
      description: >-
        Elementos por página. Predeterminado 50, máx. 200 (los valores mayores
        se limitan a 200). Debe ser un entero positivo; cualquier otro valor se
        rechaza con un 400 `invalid_parameter`.
      schema:
        type: integer
        minimum: 1
        maximum: 200
        default: 50
    Cursor:
      name: cursor
      in: query
      required: false
      description: >-
        Cursor de paginación opaco. Envía el `nextCursor` devuelto por la página
        anterior, sin modificar. Un cursor que esta API no emitió se rechaza con
        un 400 `invalid_parameter`. Los endpoints de listado también responden
        400 `unknown_query_parameter` (con los nombres válidos) ante cualquier
        parámetro de consulta que no aceptan, así que un filtro mal escrito como
        `agent_id` nunca se ignora en silencio.
      schema:
        type: string
  schemas:
    BenchmarkCallCandidate:
      type: object
      properties:
        id:
          type: string
        label:
          type: string
          description: Lo que muestra la lista de Conversaciones en su columna de ID.
        agent:
          $ref: '#/components/schemas/BenchmarkAgentRef'
        callTime:
          type: string
          description: Marca de tiempo ISO 8601.
        durationSeconds:
          type:
            - number
            - 'null'
        endedReason:
          type:
            - string
            - 'null'
        hasRecording:
          type: boolean
        toolCallCount:
          type: integer
        existingCases:
          type: integer
          description: Casos que este benchmark ya tiene de la llamada.
      required:
        - id
        - label
        - agent
        - callTime
        - durationSeconds
        - endedReason
        - hasRecording
        - toolCallCount
        - existingCases
      description: Una llamada de producción que puede convertirse en casos.
    BenchmarkAgentRef:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
      required:
        - id
        - name
      description: Un agente al que está asignado el benchmark.
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: >-
            Nombre corto del error: `Unauthorized`, `Validation failed`, `Not
            found` o un código estable en snake_case que puedes comparar en tu
            código, como `unknown_query_parameter`, `invalid_parameter`,
            `payload_too_large` o `not_found`.
        message:
          type: string
          description: Una frase en lenguaje claro que explica qué falla y cómo corregirlo.
        code:
          type: string
          description: >-
            Causa estable y legible por máquina; compara con este valor y no con
            `error` ni `message`. En un 401: `missing_credentials`,
            `malformed_credentials`, `ingest_key_not_allowed` (se usó una clave
            de ingesta de observabilidad, solo de escritura, en un endpoint que
            requiere una clave API), `key_expired` o `invalid_credentials`. En
            otros casos, por ejemplo: `not_found`, `invalid_parameter`,
            `unknown_query_parameter`, `missing_parameter`, `validation_failed`,
            `invalid_json`, `payload_too_large`, `conversation_not_found`,
            `plan_required`.
        hint:
          type: string
          description: >-
            El siguiente paso a probar: dónde encontrar el id correcto, qué
            parámetros acepta el endpoint, cómo mejorar el plan o cómo
            autenticarte.
        parameter:
          type: string
          description: 'Con `invalid_parameter`: el parámetro de consulta rechazado.'
        unknown:
          type: array
          items:
            type: string
          description: >-
            Con `unknown_query_parameter`: los parámetros enviados que este
            endpoint no acepta.
        valid:
          type: array
          items:
            type: string
          description: >-
            Con `unknown_query_parameter`: los parámetros que acepta este
            endpoint.
        details:
          type: object
          additionalProperties: true
  responses:
    ValidationFailed:
      description: >-
        El cuerpo o la cadena de consulta de la solicitud han fallado en la
        validación. `code` indica el tipo (`validation_failed`, `invalid_json`,
        `invalid_parameter`, `unknown_query_parameter`, `missing_parameter`) y
        un filtro con valores fijos lista los permitidos en `valid` (se
        comprueba cada valor repetido: `?status=open&status=zz` es un 400). Un
        cuerpo `validation_failed` incluye además `message` (los primeros campos
        que fallan), `hint` (cómo corregirlo, por ejemplo que la `description`
        de un hallazgo es un documento JSON de TipTap y no una cadena) y
        `details` (nombre del campo y mensajes).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: >-
        Clave API faltante o no válida. El cuerpo indica la causa en `code` (por
        ejemplo `ingest_key_not_allowed` cuando se usa aquí una clave de
        ingesta, solo de escritura), con un `message` y un `hint`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: >-
        Recurso no encontrado en tu organización. También se devuelve cuando un
        id de la ruta no es un UUID, y `{ "error": "not_found" }` para una ruta
        que esta API no tiene. El cuerpo conserva `error: "Not found"` y añade
        `code: "not_found"` y un `hint`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Envía `Authorization: Bearer YOUR_API_KEY`. La clave corresponde a una
        sola organización.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.