# Roark Docs ## Docs - [Create a new agent endpoint](https://docs.roark.ai/api-reference/agent-endpoint/create-a-new-agent-endpoint.md): Creates a new agent endpoint for the authenticated project. - [Get agent endpoint by ID](https://docs.roark.ai/api-reference/agent-endpoint/get-agent-endpoint-by-id.md): Returns a specific agent endpoint by its ID. - [List agent endpoints](https://docs.roark.ai/api-reference/agent-endpoint/list-agent-endpoints.md): Returns a paginated list of agent endpoints for the authenticated project. - [Update an agent endpoint](https://docs.roark.ai/api-reference/agent-endpoint/update-an-agent-endpoint.md): Updates an existing agent endpoint by its ID. Only environment and outboundDialType can be modified. - [Create a new agent](https://docs.roark.ai/api-reference/agent/create-a-new-agent.md): Creates a new agent for the authenticated project. - [Get agent by ID](https://docs.roark.ai/api-reference/agent/get-agent-by-id.md): Returns a specific agent by its ID. - [List agents](https://docs.roark.ai/api-reference/agent/list-agents.md): Returns a paginated list of agents for the authenticated project. - [Update an agent](https://docs.roark.ai/api-reference/agent/update-an-agent.md): Updates an existing agent by its ID. - [Authorization](https://docs.roark.ai/api-reference/authorization.md): How to authenticate API requests - [Create a call](https://docs.roark.ai/api-reference/call/create-a-call.md): Create a new call with recording, transcript, agents, and customers - [Get a call by ID](https://docs.roark.ai/api-reference/call/get-a-call-by-id.md): Retrieve an existing call by its unique identifier - [Get call transcript](https://docs.roark.ai/api-reference/call/get-call-transcript.md): Fetch the full transcript for a specific call. Optionally specify a transcription source; otherwise the best available source is used automatically. - [List call evaluation runs](https://docs.roark.ai/api-reference/call/list-call-evaluation-runs.md): Fetch all evaluation run results for a specific call. - [List call metrics](https://docs.roark.ai/api-reference/call/list-call-metrics.md): Fetch all call-level metrics for a specific call, including both system-generated and custom metrics. Only returns successfully computed metrics. - [List call sentiment runs](https://docs.roark.ai/api-reference/call/list-call-sentiment-runs.md): Fetch detailed sentiment analysis results for a specific call, including emotional tone, key phrases, and sentiment scores. - [List calls](https://docs.roark.ai/api-reference/call/list-calls.md): Returns a paginated list of calls for the authenticated project. - [Create a chat](https://docs.roark.ai/api-reference/chat/create-a-chat.md): Create a new chat with segments (messages and tool invocations) - [Get a chat by ID](https://docs.roark.ai/api-reference/chat/get-a-chat-by-id.md): Retrieve an existing chat by its unique identifier - [Get chat transcript](https://docs.roark.ai/api-reference/chat/get-chat-transcript.md): Fetch the full transcript (messages) for a specific chat. - [List chat metrics](https://docs.roark.ai/api-reference/chat/list-chat-metrics.md): Fetch all metrics for a specific chat, including both system-generated and custom metrics. Only returns successfully computed metrics. - [List chats](https://docs.roark.ai/api-reference/chat/list-chats.md): Returns a paginated list of chats for the authenticated project. - [Get API health status](https://docs.roark.ai/api-reference/health/get-api-health-status.md): Returns the health status of the API and its dependencies - [Create HTTP request definition](https://docs.roark.ai/api-reference/http-request-definition/create-http-request-definition.md): Creates a new HTTP request definition. The signing secret is only returned in this response and cannot be retrieved later. - [Get HTTP request definition by ID](https://docs.roark.ai/api-reference/http-request-definition/get-http-request-definition-by-id.md): Returns a specific HTTP request definition by its ID. - [List HTTP request definitions](https://docs.roark.ai/api-reference/http-request-definition/list-http-request-definitions.md): Returns a paginated list of HTTP request definitions for the authenticated project. - [Update HTTP request definition](https://docs.roark.ai/api-reference/http-request-definition/update-http-request-definition.md): Updates an existing HTTP request definition. - [Introduction](https://docs.roark.ai/api-reference/introduction.md): Integrating with the Roark API - [Create issue](https://docs.roark.ai/api-reference/issue/create-issue.md): Opens a new issue with `source: API`. The supplied evidence (calls / chats) is attached in the same transaction; an invalid reference fails the whole request rather than leaving a half-created issue. - [Get issue by ID](https://docs.roark.ai/api-reference/issue/get-issue-by-id.md): Returns a single issue with its evidence rows. - [List issues](https://docs.roark.ai/api-reference/issue/list-issues.md): Returns the project’s issues, ordered newest-first. Supports filtering by status, source, and severity, with offset pagination. - [Create a knowledge base](https://docs.roark.ai/api-reference/knowledge-base/create-a-knowledge-base.md): Creates a knowledge base. TEXT and JSON sources accept inline `content`. FILE sources require `filename`, `mimeType`, and base64-encoded `contentBase64` — the file is decoded server-side, stored in S3, and (for PDFs) text-extracted inline before the response returns. - [Get a knowledge base by ID](https://docs.roark.ai/api-reference/knowledge-base/get-a-knowledge-base-by-id.md): Returns metadata for a single knowledge base. Does not include content — content is read by metrics at evaluation time and is not exposed over the public API. - [List knowledge bases](https://docs.roark.ai/api-reference/knowledge-base/list-knowledge-bases.md): Returns a cursor-paginated list of knowledge bases for the authenticated project. Soft-deleted knowledge bases are excluded. - [Create and run a metric collection job](https://docs.roark.ai/api-reference/metric-collection-job/create-and-run-a-metric-collection-job.md): Creates a metric collection job for the specified calls or chats and metrics, then triggers processing. Provide exactly one of callIds or chatIds. - [Get metric collection job by ID](https://docs.roark.ai/api-reference/metric-collection-job/get-metric-collection-job-by-id.md): Returns a specific metric collection job with progress information. - [List metric collection jobs](https://docs.roark.ai/api-reference/metric-collection-job/list-metric-collection-jobs.md): Returns a paginated list of metric collection jobs for the project. - [Create a metric policy](https://docs.roark.ai/api-reference/metric-policy/create-a-metric-policy.md): Creates a new metric policy. Policies define which metrics to collect and under what conditions. - [Delete a metric policy](https://docs.roark.ai/api-reference/metric-policy/delete-a-metric-policy.md): Soft-deletes a metric policy. System policies cannot be deleted. - [Get metric policy by ID](https://docs.roark.ai/api-reference/metric-policy/get-metric-policy-by-id.md): Returns a specific metric policy with its conditions and metrics. - [List metric policies](https://docs.roark.ai/api-reference/metric-policy/list-metric-policies.md): Returns a paginated list of metric policies for the project, including system policies. - [Update a metric policy](https://docs.roark.ai/api-reference/metric-policy/update-a-metric-policy.md): Updates an existing metric policy. System policies cannot be modified. - [Create a threshold on a metric](https://docs.roark.ai/api-reference/metric/create-a-threshold-on-a-metric.md): Create a boolean threshold derived from an existing metric. The source metric is addressed by its UUID or its stable `slug`. The threshold fires when the source metric meets the comparison condition. Scope and supported contexts are inherited from the source metric. - [Create custom metric definition](https://docs.roark.ai/api-reference/metric/create-custom-metric-definition.md): Create a new metric definition. The `calculationType` field selects the variant: LLM_JUDGE (LLM-evaluated), FORMULA (computed from a math expression over other metrics), or PATTERN (detects a trigger→outcome pattern within a window). To create a threshold on top of an existing metric, use `POST /met… - [Get a metric definition](https://docs.roark.ai/api-reference/metric/get-a-metric-definition.md): Fetch a single metric definition by its UUID or its stable `slug` (e.g. `customer_satisfaction`). Resolution is scoped to the project — a project-owned metric wins over an org-wide one, which wins over a system metric of the same `slug`. - [List metric definitions](https://docs.roark.ai/api-reference/metric/list-metric-definitions.md): Fetch all metric definitions available in the project, including both system-generated and custom metrics. - [Update a metric definition](https://docs.roark.ai/api-reference/metric/update-a-metric-definition.md): Update the editable subset of a custom metric definition, addressed by its UUID or its stable `slug`. Only the supplied fields are changed; omitted fields are left unchanged. Every update creates a new immutable version; the response carries the advanced `versionId`. System metrics and immutable fie… - [Get simulation by ID](https://docs.roark.ai/api-reference/simulation-job/get-simulation-by-id.md): Get a individual simulation run directly by its ID. This is generally part of a larger simulation run plan job. - [Lookup by phone number](https://docs.roark.ai/api-reference/simulation-job/lookup-by-phone-number.md): Find the matching simulation using the number used by the Roark simulation agent. - [Create a new persona](https://docs.roark.ai/api-reference/simulation-persona/create-a-new-persona.md): Creates a new persona for the authenticated project. - [Get persona by ID](https://docs.roark.ai/api-reference/simulation-persona/get-persona-by-id.md): Returns a specific persona by its ID. - [List personas](https://docs.roark.ai/api-reference/simulation-persona/list-personas.md): Returns a paginated list of personas for the authenticated project. - [Update a persona](https://docs.roark.ai/api-reference/simulation-persona/update-a-persona.md): Updates an existing persona by its ID. - [Get simulation plan job](https://docs.roark.ai/api-reference/simulation-run-plan-job/get-simulation-plan-job.md): Retrieve details of a simulation plan job including all associated simulation jobs (calls) - [List simulation plan jobs](https://docs.roark.ai/api-reference/simulation-run-plan-job/list-simulation-plan-jobs.md): Returns a paginated list of simulation run plan jobs. Filter by status, plan ID, or label to find specific simulation batches. - [Run a simulation plan](https://docs.roark.ai/api-reference/simulation-run-plan-job/run-a-simulation-plan.md): Create and execute a job for an existing simulation run plan. Optionally provide runtime variables to override plan-defined variables. - [Create a run plan](https://docs.roark.ai/api-reference/simulation-run-plan/create-a-run-plan.md): Creates a new simulation run plan. Optionally triggers a job immediately if autoRun is true. - [Delete a run plan](https://docs.roark.ai/api-reference/simulation-run-plan/delete-a-run-plan.md): Soft-deletes a simulation run plan by its ID. - [Get run plan by ID](https://docs.roark.ai/api-reference/simulation-run-plan/get-run-plan-by-id.md): Returns a specific simulation run plan by its ID. - [List run plans](https://docs.roark.ai/api-reference/simulation-run-plan/list-run-plans.md): Returns a paginated list of simulation run plans. Optionally filter by search text or agent ID. - [Update a run plan](https://docs.roark.ai/api-reference/simulation-run-plan/update-a-run-plan.md): Updates an existing simulation run plan by its ID. - [Create a scenario](https://docs.roark.ai/api-reference/simulation-scenario/create-a-scenario.md): Creates a new simulation scenario for the authenticated project. - [Delete a scenario](https://docs.roark.ai/api-reference/simulation-scenario/delete-a-scenario.md): Deletes a simulation scenario by its ID. - [Get scenario by ID](https://docs.roark.ai/api-reference/simulation-scenario/get-scenario-by-id.md): Returns a specific simulation scenario by its ID. - [List simulation scenarios](https://docs.roark.ai/api-reference/simulation-scenario/list-simulation-scenarios.md): Returns a paginated list of simulation scenarios for the authenticated project. - [Update a scenario](https://docs.roark.ai/api-reference/simulation-scenario/update-a-scenario.md): Updates an existing simulation scenario by its ID. - [Create webhook](https://docs.roark.ai/api-reference/webhook/create-webhook.md): Creates a new webhook with event subscriptions. The signing secret is only returned in this response. - [Delete webhook](https://docs.roark.ai/api-reference/webhook/delete-webhook.md): Deletes a webhook and all its event subscriptions. - [Event](https://docs.roark.ai/api-reference/webhook/event.md): Roark POSTs a JSON payload to every endpoint subscribed to one of the events listed below. Every payload uses the same envelope (`event`, `version`, `timestamp`, `data`); the `event` field is the discriminator that selects the matching `data` shape. - [Get webhook by ID](https://docs.roark.ai/api-reference/webhook/get-webhook-by-id.md): Returns a specific webhook with its event subscriptions. - [List webhooks](https://docs.roark.ai/api-reference/webhook/list-webhooks.md): Returns a paginated list of webhooks with their event subscriptions. - [API Keys](https://docs.roark.ai/documentation/getting-started/api-keys.md): Generate and manage authentication keys for Roark APIs - [Introduction](https://docs.roark.ai/documentation/getting-started/introduction.md): The simulation and evaluation engine for voice AI - [Bland AI](https://docs.roark.ai/documentation/integrations/bland.md): Sync Bland AI agents and analyze voice AI conversations - [Custom Integrations](https://docs.roark.ai/documentation/integrations/custom-integrations.md): Send calls from any platform using our API and SDKs - [ElevenLabs](https://docs.roark.ai/documentation/integrations/elevenlabs.md): Sync ElevenLabs conversational AI agents and analyze voice conversations - [IP Whitelisting](https://docs.roark.ai/documentation/integrations/ip-whitelisting.md): Whitelist Roark Analytics production IPs for firewalls, webhooks, and presigned URLs - [Leaping](https://docs.roark.ai/documentation/integrations/leaping.md): Sync Leaping AI agents and analyze voice conversations - [LiveKit](https://docs.roark.ai/documentation/integrations/livekit.md): Connect LiveKit for real-time voice communication monitoring - [Okta SSO + SCIM](https://docs.roark.ai/documentation/integrations/okta.md): Sign your team into Roark with Okta, and optionally push-provision and deprovision users via SCIM - [Overview](https://docs.roark.ai/documentation/integrations/overview.md): Connect your voice AI providers to Roark for monitoring and testing - [Pipecat](https://docs.roark.ai/documentation/integrations/pipecat.md): Real-time voice AI framework integration - [Retell AI](https://docs.roark.ai/documentation/integrations/retell.md): Sync Retell agents and analyze voice AI conversations - [VAPI](https://docs.roark.ai/documentation/integrations/vapi.md): Sync VAPI assistants and analyze voice AI conversations - [Webhooks](https://docs.roark.ai/documentation/integrations/webhooks.md): Receive real-time notifications when call analysis completes or fails - [Custom Metrics](https://docs.roark.ai/documentation/metrics/custom-metrics.md): Create and manage custom metrics using LLM prompts, patterns, and formulas - [Evaluators (Deprecated)](https://docs.roark.ai/documentation/metrics/evaluators.md): Automated scoring and quality assessment for voice AI calls - [Collection Jobs](https://docs.roark.ai/documentation/metrics/metric-collection-jobs.md): Run metrics on demand for specific calls via the API - [Policies](https://docs.roark.ai/documentation/metrics/metric-policies.md): Automate metric collection with conditions-based rules - [Overview](https://docs.roark.ai/documentation/metrics/overview.md): Understand what metrics are and how to use them across monitoring and simulations - [Playground](https://docs.roark.ai/documentation/metrics/playground.md): Test metrics interactively before deploying them - [System Metrics Reference](https://docs.roark.ai/documentation/metrics/system-metrics.md): Complete reference for all built-in system metrics powered by specialized models - [Thresholds](https://docs.roark.ai/documentation/metrics/thresholds.md): Define pass/fail criteria for your metrics - [Dashboards](https://docs.roark.ai/documentation/observability/dashboards.md): Organize multiple reports into a single view for comprehensive monitoring - [Live Monitoring](https://docs.roark.ai/documentation/observability/live-monitoring.md): Browse, search, and analyze every voice AI call - [Overview](https://docs.roark.ai/documentation/observability/overview.md): Monitor and analyze your voice AI conversations in real-time - [PII Redaction](https://docs.roark.ai/documentation/observability/pii-redaction.md): Mask sensitive caller information in transcripts before it reaches your team or evaluators - [Reports](https://docs.roark.ai/documentation/observability/reports.md): Analytics dashboards and insights for voice AI performance - [Traces](https://docs.roark.ai/documentation/observability/traces.md): Send OpenTelemetry traces to Roark for full visibility into your Voice AI agent - [Accent Detection & TTS Drift Monitoring](https://docs.roark.ai/documentation/recipes/accent-detection.md): Detect accents and flag when your agent's TTS voice drifts mid-call - [Tool Call Testing](https://docs.roark.ai/documentation/recipes/tool-call-testing.md): Verify your agent calls the right tools with the right parameters - [Changelog](https://docs.roark.ai/documentation/resources/changelog.md): Recent product updates and improvements - [Glossary](https://docs.roark.ai/documentation/resources/glossary.md): Key terms and concepts used in Roark - [Roadmap](https://docs.roark.ai/documentation/resources/roadmap.md): Upcoming features and enhancements - [Support](https://docs.roark.ai/documentation/resources/support.md): Get help with Roark - [Troubleshooting](https://docs.roark.ai/documentation/resources/troubleshooting.md): Solutions to common issues when using Roark - [MCP Server](https://docs.roark.ai/documentation/sdks/mcp-server.md): Connect AI agents and coding assistants to the Roark API using the Model Context Protocol - [Node.js SDK](https://docs.roark.ai/documentation/sdks/node-sdk.md): Upload calls, run metrics, and execute simulations using Node.js - [Python SDK](https://docs.roark.ai/documentation/sdks/python-sdk.md): Upload calls, run metrics, and execute simulations using Python - [Best Practices](https://docs.roark.ai/documentation/simulation-testing/best-practices.md): Guidelines for getting the most out of Roark simulations - [Enriched Simulations](https://docs.roark.ai/documentation/simulation-testing/enriched-simulations.md): Get richer call data in simulations by sending your agent call to Roark - [Identifying Simulations](https://docs.roark.ai/documentation/simulation-testing/identifying-simulations.md): Verify simulation calls and retrieve simulation details from your agent - [Inbound vs Outbound](https://docs.roark.ai/documentation/simulation-testing/inbound-vs-outbound.md): Understanding simulation testing directions - [Overview](https://docs.roark.ai/documentation/simulation-testing/overview.md): Test your voice AI agents with realistic conversation simulations - [Personas](https://docs.roark.ai/documentation/simulation-testing/personas.md): Create realistic customer profiles for simulation testing - [Run Plans](https://docs.roark.ai/documentation/simulation-testing/run-plans.md): Create reusable simulation templates with test matrices - [Running Simulations](https://docs.roark.ai/documentation/simulation-testing/running-simulations.md): Execute simulation tests manually, on schedule, or via re-runs - [Scenarios](https://docs.roark.ai/documentation/simulation-testing/scenarios.md): Define conversation paths and test cases for your voice AI agents - [Schedules](https://docs.roark.ai/documentation/simulation-testing/schedules.md): Automate simulation testing with flexible scheduling options - [Variables](https://docs.roark.ai/documentation/simulation-testing/variables.md): Create reusable scenario templates with dynamic values that change between simulation runs - [WebRTC Simulations](https://docs.roark.ai/documentation/simulation-testing/webrtc.md): Run simulations over WebRTC instead of a phone line ## OpenAPI Specs - [openapi.documented](https://docs.roark.ai/api-reference/openapi.documented.json)