Coval Personas API

Configure simulated callers, voices, and scenario behavior.

Operations 7

GET /personas List personas #
POST /personas Create persona #
GET /personas/phone-numbers List phone number mappings #
GET /personas/voices List available voices #
GET /personas/{persona_id} Get persona #
PATCH /personas/{persona_id} Update persona #
DELETE /personas/{persona_id} Delete persona #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/coval-ai-personas-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

coval-ai-personas-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Coval Agents Personas API
  description: Simulation and evaluation API for AI voice and chat agents. Manage agents, test sets and test cases, personas, metrics and their thresholds and baselines, simulation runs, run templates, scheduled runs, individual simulations, reports, and production conversations. All paths are relative to the production base URL https://api.coval.dev/v1 and authenticated with the X-API-Key header. Endpoints in this document are drawn from Coval's live per-resource OpenAPI specifications served from https://api.coval.dev/v1/openapi.
  termsOfService: https://coval.dev/terms
  contact:
    name: Coval API Support
    email: support@coval.dev
    url: https://docs.coval.dev
  license:
    name: Proprietary
    url: https://coval.dev/terms
  version: 1.0.0
servers:
- url: https://api.coval.dev/v1
  description: Production API
security:
- ApiKeyAuth: []
tags:
- name: Personas
  description: Configure simulated callers, voices, and scenario behavior.
paths:
  /personas:
    get:
      operationId: listPersonas
      summary: List personas
      tags:
      - Personas
      parameters:
      - $ref: '#/components/parameters/Limit'
      - $ref: '#/components/parameters/Cursor'
      responses:
        '200':
          description: A list of personas.
    post:
      operationId: createPersona
      summary: Create persona
      tags:
      - Personas
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PersonaCreate'
      responses:
        '201':
          description: Persona created.
  /personas/phone-numbers:
    get:
      operationId: listPersonasPhoneNumbers
      summary: List phone number mappings
      tags:
      - Personas
      responses:
        '200':
          description: A list of phone number mappings.
  /personas/voices:
    get:
      operationId: listPersonasVoices
      summary: List available voices
      tags:
      - Personas
      responses:
        '200':
          description: A list of available voices.
  /personas/{persona_id}:
    parameters:
    - $ref: '#/components/parameters/PersonaId'
    get:
      operationId: getPersona
      summary: Get persona
      tags:
      - Personas
      responses:
        '200':
          description: The requested persona.
    patch:
      operationId: updatePersona
      summary: Update persona
      tags:
      - Personas
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Updated persona.
    delete:
      operationId: deletePersona
      summary: Delete persona
      tags:
      - Personas
      responses:
        '204':
          description: Persona deleted.
components:
  parameters:
    PersonaId:
      name: persona_id
      in: path
      required: true
      schema:
        type: string
    Limit:
      name: limit
      in: query
      description: Maximum number of items to return.
      schema:
        type: integer
    Cursor:
      name: cursor
      in: query
      description: Pagination cursor.
      schema:
        type: string
  schemas:
    PersonaCreate:
      type: object
      required:
      - name
      - voice_name
      - language_code
      properties:
        name:
          type: string
        persona_prompt:
          type: string
        voice_name:
          type: string
        language_code:
          type: string
        background_sound:
          type: string
          enum:
          - 'off'
          - office
          - lounge
          - crowd
          - airport
          - bus
          - playground
          - doorbell
          - train-arrival
          - portable-air-conditioner
          - skatepark
          - small-dog-bark
          - cafe
          - ferry-and-announcement
          - heavy-rain
          - moderate-wind
          - newborn-baby-crying
          - office-with-alarm
          - street-with-sirens
          - construction-work
        background_sound_volume:
          type: number
        voice_volume:
          type: number
        voice_speed:
          type: number
        wait_seconds:
          type: number
        conversation_initiation:
          type: string
          enum:
          - speak_first
          - wait_for_user
        multi_language_stt:
          type: boolean
        hold_music_timeout_seconds:
          type: number
        tags:
          type: array
          items:
            type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Organization API key for authentication.