# Bluejay Docs - [Introduction](https://docs.getbluejay.ai/index.md): **Bluejay is the testing, monitoring, and improvement layer for conversational AI agents.** Enterprises, startups, and developers across the world use Bluejay to evaluate their voice agents, create custom benchmarks, and catch production failures before they reach customers. - [Quickstart](https://docs.getbluejay.ai/quickstart.md): Go from zero to a full Bluejay evaluation workflow — via the UI or the API - [Agents Overview](https://docs.getbluejay.ai/key-concepts/agents/overview.md): How Bluejay models Agents and connects them to simulations, observability, custom metrics, and workflows - [Voice Agents](https://docs.getbluejay.ai/key-concepts/agents/voice-agents.md): Test and monitor a voice agent over a real phone call. A Digital Human calls your agent and Bluejay grades the conversation. - [Chat and Text Agents](https://docs.getbluejay.ai/key-concepts/agents/text-agents.md): Test and monitor a chat or text agent. A Digital Human exchanges messages with your agent and Bluejay grades the conversation. - [Email Agents](https://docs.getbluejay.ai/key-concepts/agents/email-agents.md): Test and monitor an email support agent over real email. A Digital Human emails your agent and Bluejay grades the replies. - [Digital Humans Overview](https://docs.getbluejay.ai/key-concepts/digital-humans/overview.md): Understand what Digital Humans are and how they power realistic agent testing on Bluejay - [Configuration](https://docs.getbluejay.ai/key-concepts/digital-humans/configuration.md): Configure Digital Human behavior, voice traits, scripted responses, DTMF, and IVR simulation - [Personalities](https://docs.getbluejay.ai/key-concepts/digital-humans/personalities.md): Saved behavior configurations you can apply to every digital human in a simulation run - [Bulk Upload via CSV](https://docs.getbluejay.ai/key-concepts/digital-humans/csv-upload.md): Create many Digital Humans at once by uploading a CSV. Set intent, success criteria, behavior, tool calls, custom traits, and scripted responses, one row per Digital Human. - [Digital Humans Best Practices](https://docs.getbluejay.ai/key-concepts/digital-humans/best-practices.md): Three principles for writing Digital Humans that test what you meant to test - [Use Cases](https://docs.getbluejay.ai/key-concepts/digital-humans/use-cases.md): Real-world scenarios and patterns for building effective Digital Human test suites - [Follow-up SMS](https://docs.getbluejay.ai/key-concepts/digital-humans/follow-up-sms.md): Test the confirmation text your agent sends after a voice call, graded and attached to the originating call - [Custom Metrics Overview](https://docs.getbluejay.ai/key-concepts/custom-metrics/overview.md): Understand how Custom Metrics are defined and used in Bluejay - [Metric Types](https://docs.getbluejay.ai/key-concepts/custom-metrics/metric-types.md): Understand the response types available for Custom Metrics in Bluejay - [Custom Metrics Prompting Guide](https://docs.getbluejay.ai/key-concepts/custom-metrics/prompting-guide.md): Best practices for writing Custom Metric prompts that produce reliable, predictable evaluations - [Dynamic Variables](https://docs.getbluejay.ai/key-concepts/custom-metrics/dynamic-variables.md): Inject call-specific context into your Custom Metric definitions at evaluation time using template variables - [Alerts Overview](https://docs.getbluejay.ai/key-concepts/alerts/overview.md): Understand how Alerts are configured and used in Bluejay - [Overview](https://docs.getbluejay.ai/key-concepts/issues/overview.md): Own a production problem, see how often it happens, and triage it - [Customer Traits Overview](https://docs.getbluejay.ai/key-concepts/customer-traits/overview.md): Understand how Customer Traits are modeled and used in Bluejay - [Communities Overview](https://docs.getbluejay.ai/key-concepts/communities/overview.md): Understand how Communities are organized and used in Bluejay - [Dashboards Overview](https://docs.getbluejay.ai/key-concepts/dashboards/overview.md): Understand how Dashboards are used in Bluejay - [Metrics Lab Overview](https://docs.getbluejay.ai/key-concepts/metrics-lab/overview.md): Clone your QA engineer's judgment into Bluejay's evaluator with the Metrics Lab, a human in the loop workflow that keeps your AI scoring conversations the way your reviewers would - [Scenario Builder Overview](https://docs.getbluejay.ai/key-concepts/scenario-builder/overview.md): Author conversation scenarios as path graphs that drive Digital Humans - [Scenario Builder](https://docs.getbluejay.ai/cookbook/scenario-builder.md): Creating and Managing Agent Workflows with Bluejay - [Red Teaming Overview](https://docs.getbluejay.ai/key-concepts/red-teaming/overview.md): Autonomous adversarial testing that probes your voice and chat agents for security breaches and content harms - [Attack Catalog](https://docs.getbluejay.ai/key-concepts/red-teaming/attack-catalog.md): The attack types Bluejay runs, their intents and vectors, and how they map to OWASP and the content-safety taxonomy - [Content Safety](https://docs.getbluejay.ai/key-concepts/red-teaming/content-safety.md): Testing whether your agent can be walked into producing harmful content — violence, illicit activity, harassment, sexual content, or self-harm - [Launching a Test](https://docs.getbluejay.ai/key-concepts/red-teaming/launching-a-test.md): Pick a target agent, choose an intensity, and tell the attacker what it already knows - [Interpreting Results](https://docs.getbluejay.ai/key-concepts/red-teaming/interpreting-results.md): Read the verdict, the OWASP and content-safety scorecards, the risk radar, and the live attack swarm - [Workflows](https://docs.getbluejay.ai/key-concepts/agents/workflow.md): Sync your agent's workflow into Bluejay, edit it, push it back, and use it to drive simulations - [Self-Improve](https://docs.getbluejay.ai/key-concepts/self-improve/overview.md): Let Bluejay automatically diagnose failures and improve your agent's prompt, round by round - [Bluejay as Code](https://docs.getbluejay.ai/key-concepts/bluejay-as-code/overview.md): Manage Bluejay resources in your codebase. - [Cookbook](https://docs.getbluejay.ai/key-concepts/bluejay-as-code/cookbook.md): Recipes for every Digital Human type, agent, simulation, and custom metric Bluejay as Code can create, plus the field renames and gotchas the OpenAPI reference doesn't cover. - [Claude Code Skill](https://docs.getbluejay.ai/key-concepts/bluejay-as-code/skill.md): Drop-in Claude Code skill for Bluejay as Code integrations - [Traces Overview](https://docs.getbluejay.ai/key-concepts/traces/overview.md): Send OpenTelemetry traces to Bluejay for production observability and simulation analysis - [Simulation Overview](https://docs.getbluejay.ai/test/simulations/overview.md): Understand how simulations are used for testing in Bluejay - [Simulation Types](https://docs.getbluejay.ai/test/simulations/types.md): Understand the major categories of simulations you can run in Bluejay - [Customer Journeys](https://docs.getbluejay.ai/test/simulations/customer-journeys.md): Test multi-step customer flows end-to-end — book → confirm → cancel — with one Digital Human and locked identity across the sequence - [Simulation Tool Calls](https://docs.getbluejay.ai/test/simulations/tool-calls.md): Enrich simulation evaluations with tool call tracking and custom metadata - [Simulation Traces](https://docs.getbluejay.ai/test/simulations/traces.md): Link OpenTelemetry traces to simulation results - [Simulation Runs](https://docs.getbluejay.ai/test/simulations/simulation-runs.md): Learn about the format and lifecycle of Bluejay simulation runs - [Simulation Results](https://docs.getbluejay.ai/test/simulations/simulation-results.md): Learn how to interpret the results of a Bluejay simulation run - [Simulation Statuses](https://docs.getbluejay.ai/test/simulations/statuses.md): Understand every status a simulation result or simulation run can take, what each one means, and what to do about it - [Simulation Dashboards](https://docs.getbluejay.ai/test/simulations/dashboards.md): Track simulation performance and compare results across runs - [Simulation Alerts](https://docs.getbluejay.ai/test/simulations/alerts.md): Get notified when simulation results cross quality thresholds - [GitHub Actions](https://docs.getbluejay.ai/cookbook/github-actions.md): Gate your CI/CD pipeline with real agent performance tests - [Observability Overview](https://docs.getbluejay.ai/monitor/observability/overview.md): Understand how observability works in Bluejay - [API Integration Tutorial](https://docs.getbluejay.ai/monitor/observability/api-integration-tutorial.md): Learn how to connect production conversation data into Bluejay observability workflows - [Observability Tool Calls](https://docs.getbluejay.ai/monitor/observability/tool-calls.md): Include tool call data and metadata when evaluating production calls - [Observability Traces](https://docs.getbluejay.ai/monitor/observability/traces.md): Link OpenTelemetry traces to production conversation evaluations - [Webhooks](https://docs.getbluejay.ai/key-concepts/webhooks/overview.md): Receive real-time notifications for simulation, observability, and alert events - [Observability Dashboards](https://docs.getbluejay.ai/monitor/observability/dashboards.md): Monitor production agent performance with observability dashboards - [Issues](https://docs.getbluejay.ai/monitor/observability/issues.md): Triage production problems from Monitor → Issues - [Observability Alerts](https://docs.getbluejay.ai/monitor/observability/alerts.md): Get notified when production metrics cross thresholds that need attention - [Uptime Monitoring](https://docs.getbluejay.ai/monitor/uptime/overview.md): Run a health check against a live agent on a schedule and get paged when it stops answering - [Amelia Simulations](https://docs.getbluejay.ai/integrations/amelia.md): Connect your Amelia (SoundHound) bots and test them with Digital Humans over chat or voice - [Bland Observability](https://docs.getbluejay.ai/integrations/bland.md): Integrating Bland with Bluejay Observability - [Bland Simulations](https://docs.getbluejay.ai/simulation-integrations/bland.md): Test your Bland agents over the phone - [ElevenLabs Observability](https://docs.getbluejay.ai/integrations/eleven-labs.md): Integrating ElevenLabs with Bluejay Observability - [ElevenLabs Simulations](https://docs.getbluejay.ai/integrations/eleven-labs-simulations.md): Sync your ElevenLabs agents into Bluejay and run simulations against them - [Dialogflow CX Simulations](https://docs.getbluejay.ai/integrations/google-dfcx.md): Connect, test, version, and promote your Google Dialogflow CX agents from Bluejay - [Keyless Access (Workload Identity)](https://docs.getbluejay.ai/integrations/google-cloud-workload-identity.md): Connect your Google Cloud project to Bluejay in a few minutes with Workload Identity Federation. No service-account key to download, store, or rotate. - [Conversational Engine (CES) Simulations](https://docs.getbluejay.ai/integrations/google-ces.md): Connect and test your Google Conversational Engine (CES) agents from Bluejay over Voice or Chat - [LiveKit Observability](https://docs.getbluejay.ai/integrations/livekit.md): Send your production LiveKit calls to Bluejay for transcripts, recordings, and evals - [LiveKit Simulations](https://docs.getbluejay.ai/simulation-integrations/livekit.md): Pick the right way to connect your LiveKit agent for simulations - [LiveKit — Direct Connection](https://docs.getbluejay.ai/simulation-integrations/livekit-direct.md): Bluejay creates the room and dispatches your agent directly - [LiveKit — SIP Connection](https://docs.getbluejay.ai/simulation-integrations/livekit-sip.md): Bluejay dials your LiveKit project's SIP host - [LiveKit — Outbound Agents](https://docs.getbluejay.ai/simulation-integrations/livekit-outbound.md): Test a LiveKit agent that places calls: your agent dials, the Digital Human answers - [Miro Simulations](https://docs.getbluejay.ai/simulation-integrations/miro.md): Integrating Miro with Bluejay Workflows - [Pipecat Simulations](https://docs.getbluejay.ai/simulation-integrations/pipecat.md): Connect directly to a pipecat transport for simulations - [Retell Observability](https://docs.getbluejay.ai/integrations/retell.md): Integrating Retell with Bluejay Observability - [Retell Simulations](https://docs.getbluejay.ai/simulation-integrations/retell.md): Run Bluejay simulations against your Retell agents, inbound or outbound - [Slack Observability](https://docs.getbluejay.ai/integrations/slack.md): Send Bluejay alert notifications to Slack - [PagerDuty Observability](https://docs.getbluejay.ai/integrations/pagerduty.md): Page your on-call team through PagerDuty when an alert fires or an uptime monitor goes down - [Better Stack Observability](https://docs.getbluejay.ai/integrations/betterstack.md): Page your on-call team through Better Stack when an alert fires or an uptime monitor goes down - [Vapi Observability](https://docs.getbluejay.ai/integrations/vapi.md): Integrating Vapi with Bluejay Observability - [Vapi Simulations](https://docs.getbluejay.ai/simulation-integrations/vapi.md): Sync your Vapi assistants into Bluejay and run simulations against them - [Chat Testing](https://docs.getbluejay.ai/simulation-integrations/http-webhooks.md): Test text-based chat agents using HTTP webhooks for bidirectional messaging - [Kore.ai](https://docs.getbluejay.ai/simulation-integrations/kore.md): Test Kore.ai chatbots end-to-end with Bluejay's Digital Humans - [SIP Simulations](https://docs.getbluejay.ai/simulation-integrations/sip.md): Connect directly via SIP and collect enhanced call metadata - [OpenAI Realtime over Twilio SIP](https://docs.getbluejay.ai/simulation-integrations/twilio-openai-realtime.md): Connect a voice agent that already runs behind Twilio to Bluejay over SIP, then add tool call and trace reporting - [Vapi via SIP](https://docs.getbluejay.ai/simulation-integrations/vapi-sip.md): Bluejay dials a Vapi SIP URI and links tool calls back through the end-of-call report - [Dynamic SIP Webhook](https://docs.getbluejay.ai/simulation-integrations/dynamic-sip-webhook.md): Return a fresh SIP destination per call from your own webhook, fetched at dial time - [Telephony Simulations](https://docs.getbluejay.ai/simulation-integrations/telephony.md): Test any voice agent with just a phone number - [Websocket Simulations](https://docs.getbluejay.ai/simulation-integrations/websockets.md): Real-time voice over WebSocket using the CHIRP protocol - [SSO and User Provisioning](https://docs.getbluejay.ai/administration/sso-and-provisioning.md): Sign in with your identity provider over SAML, and let it add and remove your team automatically over SCIM - [API Reference Introduction](https://docs.getbluejay.ai/api-reference/introduction.md): Build with the Bluejay simulations and observability APIs - [Add Agent](https://docs.getbluejay.ai/api-reference/endpoint/add-agent.md): Add a new agent to the system. Returns the agent ID, status, and version (always 1 on create). Store agent_id and version. - [Update Agent](https://docs.getbluejay.ai/api-reference/endpoint/update-agent.md): Update an existing agent in the system. - [Update Agent By External ID](https://docs.getbluejay.ai/api-reference/endpoint/update-agent-by-external-id.md): Update an existing agent in the system by external ID. - [Move Agent to Folder](https://docs.getbluejay.ai/api-reference/endpoint/move-agent-to-folder.md): Move an agent to a folder or disassociate it from any folder. - [Get Agent](https://docs.getbluejay.ai/api-reference/endpoint/get-agent.md): Get an agent by ID. - [Get Agent By External ID](https://docs.getbluejay.ai/api-reference/endpoint/get-agent-by-external-id.md): Get an agent by external ID. - [Get Agents by Folder](https://docs.getbluejay.ai/api-reference/endpoint/get-agents-by-folder.md): Get all agents in a specific folder. Returns a list of agent IDs and names in the folder. - [Get All Agents](https://docs.getbluejay.ai/api-reference/endpoint/get-all-agents.md): Get all your agents. - [Delete Agent](https://docs.getbluejay.ai/api-reference/endpoint/delete-agent.md): Delete an agent by ID. - [Create Simulation](https://docs.getbluejay.ai/api-reference/endpoint/create-simulation.md): Create a new simulation with the provided details. Returns the simulation ID and a status code. - [Add Digital Humans to Simulation](https://docs.getbluejay.ai/api-reference/endpoint/add-digital-humans-to-simulation.md): Add existing Digital Humans to a simulation without replacing existing associations. - [Remove Digital Humans from Simulation](https://docs.getbluejay.ai/api-reference/endpoint/remove-digital-humans-from-simulation.md): Remove Digital Humans from a simulation (unlink only); idempotent for missing links. - [Update Simulation](https://docs.getbluejay.ai/api-reference/endpoint/update-simulation.md): Update a specific simulation by ID. Only fields provided in the request body will be updated. - [Get Simulation](https://docs.getbluejay.ai/api-reference/endpoint/get-simulation.md): Get a specific simulation by ID. - [Get All Simulations](https://docs.getbluejay.ai/api-reference/endpoint/get-all-simulations.md): Get all simulations for a user. - [Get Simulations by Agent](https://docs.getbluejay.ai/api-reference/endpoint/get-simulations-by-agent.md): Get all simulations for a specific agent. - [Delete Simulation](https://docs.getbluejay.ai/api-reference/endpoint/delete-simulation.md): Delete a specific simulation by ID. - [Create Digital Human](https://docs.getbluejay.ai/api-reference/endpoint/create-digital-human.md): Create a new Digital Human. - [Bulk Create Digital Humans](https://docs.getbluejay.ai/api-reference/endpoint/create-digital-humans.md): Bulk create digital humans. - [Generate Digital Humans](https://docs.getbluejay.ai/api-reference/endpoint/generate-digital-humans.md): Given an agent this endpoint generates Digital Humans to test that agent based on varying simulation types. - [Update Digital Human](https://docs.getbluejay.ai/api-reference/endpoint/update-digital-human.md): Update a Digital Human by ID. Returns 404 if the Digital Human does not exist or belongs to a different organization. - [Get Digital Human](https://docs.getbluejay.ai/api-reference/endpoint/get-digital-human.md): Get a Digital Human by ID. - [Get Digital Humans by Simulation](https://docs.getbluejay.ai/api-reference/endpoint/get-digital-humans-by-simulation.md): Get Digital Humans by simulation ID. - [Get All Digital Humans](https://docs.getbluejay.ai/api-reference/endpoint/get-all-digital-humans.md): Get a paginated list of all Digital Humans in your organization. - [Delete Digital Human](https://docs.getbluejay.ai/api-reference/endpoint/delete-digital-human.md): Delete a Digital Human by ID. - [Generate objectives](https://docs.getbluejay.ai/api-reference/endpoint/generate-objectives.md): Generate objectives for a test case from its intent. - [Generate intent summary](https://docs.getbluejay.ai/api-reference/endpoint/generate-intent-summary.md): Generate an intent summary for a test case when intent exceeds a character limit. - [Create Community](https://docs.getbluejay.ai/api-reference/endpoint/create-community.md): Create a new community. - [Update Community](https://docs.getbluejay.ai/api-reference/endpoint/update-community.md): Update a specific community by ID. - [Add Digital Humans To Community](https://docs.getbluejay.ai/api-reference/endpoint/add-to-community.md): Add Digital Humans to an existing community without replacing the current list. - [Get Community](https://docs.getbluejay.ai/api-reference/endpoint/get-community.md): Get a specific community by ID. - [Get Communities](https://docs.getbluejay.ai/api-reference/endpoint/get-communities.md): Get all communities, optionally filtered by Digital Human (test case). - [Delete Community](https://docs.getbluejay.ai/api-reference/endpoint/delete-community.md): Delete a specific community by ID. - [Queue Simulation Run](https://docs.getbluejay.ai/api-reference/endpoint/queue-simulation-run.md): Queue a simulation run for processing. - [Queue SMS Simulation Run](https://docs.getbluejay.ai/api-reference/endpoint/queue-sms-simulation-run.md) - [Get Simulation Runs](https://docs.getbluejay.ai/api-reference/endpoint/get-simulation-runs.md): Get all simulation runs for a specific simulation. - [Update Simulation Result](https://docs.getbluejay.ai/api-reference/endpoint/update-simulation-result.md) - [Retrieve Simulation Results](https://docs.getbluejay.ai/api-reference/endpoint/retrieve-simulation-results.md): Retrieve one page of a simulation run's results. Default 100 conversations, max 100. - [Retrieve Simulation Result](https://docs.getbluejay.ai/api-reference/endpoint/retrieve-simulation-result.md): Retrieve a single test result and its associated custom metrics. - [End Conversations](https://docs.getbluejay.ai/api-reference/endpoint/end-conversations.md): End multiple running conversations by marking them in Redis for the LiveKit agent to terminate. - [Queue HTTP Text Simulation Run](https://docs.getbluejay.ai/api-reference/endpoint/queue-http-text-simulation-run.md): Queue a new simulation run and test results for HTTP text agent. Takes simulation_id, optional agent_version_id (or deprecated prompt_id), knowledge_base_id, and digital_human_ids. - [Send HTTP Text Message](https://docs.getbluejay.ai/api-reference/endpoint/send-http-text-message.md): Receive a text message via HTTP, process it through the lambda, and send response to webhook. - [Evaluate](https://docs.getbluejay.ai/api-reference/endpoint/evaluate.md): Submit a call or chat for evaluation. Returns an eval ID that can be used to track evaluation status. - [Reevaluate](https://docs.getbluejay.ai/api-reference/endpoint/re-evaluate.md): Re-evaluate a call. - [Retrieve Call Log](https://docs.getbluejay.ai/api-reference/endpoint/retrieve-call-log.md): Retrieve a single call log by its call ID. - [Retrieve Call Logs](https://docs.getbluejay.ai/api-reference/endpoint/retrieve-call-logs.md): DEPRECATED. Use GET /v1/observability/conversations instead. - [Delete Call Log](https://docs.getbluejay.ai/api-reference/endpoint/delete-call-log.md): Delete a specific call log given its ID. Validates that the user has access to the call log by checking organization membership. - [Create Alert](https://docs.getbluejay.ai/api-reference/endpoint/create-alert.md): Create an observability or simulation alert for your organization. - [Update Alert](https://docs.getbluejay.ai/api-reference/endpoint/update-alert.md): Update an existing alert. Unset fields are preserved; nullable fields can be cleared explicitly. - [List Alerts](https://docs.getbluejay.ai/api-reference/endpoint/get-alerts.md): List all alerts for your organization, optionally filtered by source scope (observability or simulation). - [Get Alert Results](https://docs.getbluejay.ai/api-reference/endpoint/get-alert-results.md): Retrieve the fired results for an alert, each resolved to the simulation run or observability call that caused it. - [Delete Alert](https://docs.getbluejay.ai/api-reference/endpoint/delete-alert.md): Delete an alert and its agent associations. - [List Uptime Monitors](https://docs.getbluejay.ai/api-reference/endpoint/list-uptime-monitors.md): List every uptime monitor in your organization, with its checks, notifications, and last status. - [Get Uptime Monitor](https://docs.getbluejay.ai/api-reference/endpoint/get-uptime-monitor.md): Get one uptime monitor by ID, including its recent checks. - [Create Uptime Monitor](https://docs.getbluejay.ai/api-reference/endpoint/create-uptime-monitor.md): Create an uptime monitor for an agent. Provisions the backing health-check simulation and schedule. - [Update Uptime Monitor](https://docs.getbluejay.ai/api-reference/endpoint/update-uptime-monitor.md): Update an uptime monitor. Partial update: only the fields you pass are changed. - [Delete Uptime Monitor](https://docs.getbluejay.ai/api-reference/endpoint/delete-uptime-monitor.md): Delete an uptime monitor and stop its scheduled checks. - [Get Uptime Series](https://docs.getbluejay.ai/api-reference/endpoint/get-uptime-monitor-series.md): Uptime percentage over time for one monitor — the data behind the uptime chart. - [Resolve Incidents](https://docs.getbluejay.ai/api-reference/endpoint/resolve-uptime-incidents.md): Clear all of a monitor's outstanding incidents by resolving its unresolved DOWN checks. - [Resolve Check](https://docs.getbluejay.ai/api-reference/endpoint/resolve-uptime-check.md): Resolve a single incident (one unresolved DOWN check) without clearing the rest. - [Unresolve Check](https://docs.getbluejay.ai/api-reference/endpoint/unresolve-uptime-check.md): Reopen a resolved incident — the check counts as an open incident again. - [Get Check Transcript](https://docs.getbluejay.ai/api-reference/endpoint/get-uptime-check-transcript.md): The conversation transcript for one check run. - [Create Custom Metric](https://docs.getbluejay.ai/api-reference/endpoint/create-custom-metric.md): Create a new custom metric. - [Create Custom Metrics](https://docs.getbluejay.ai/api-reference/endpoint/create-custom-metrics.md): Create multiple custom metrics synchronously using a single bulk insert. - [Update Custom Metric](https://docs.getbluejay.ai/api-reference/endpoint/update-custom-metric.md): Update a specific custom metric by ID. - [Get Custom Metric](https://docs.getbluejay.ai/api-reference/endpoint/get-custom-metric.md): Get a specific custom metric by ID. - [Get Custom Metrics](https://docs.getbluejay.ai/api-reference/endpoint/get-custom-metrics.md): Get all custom metrics, optionally filtered by agent, with pagination. - [Get Custom Metrics by Agent](https://docs.getbluejay.ai/api-reference/endpoint/get-custom-metrics-by-agent.md): Get all custom metrics for an agent. DEPRECATED: This endpoint is deprecated. - [Delete Custom Metric](https://docs.getbluejay.ai/api-reference/endpoint/delete-custom-metric.md): Delete a specific custom metric by ID. - [Create Agent Version](https://docs.getbluejay.ai/api-reference/endpoint/create-prompt-version.md): Create a new agent version under /agents/{agent_id}/versions. - [Promote Agent Version](https://docs.getbluejay.ai/api-reference/endpoint/promote-prompt.md): Move the production label to the latest agent version, or to the version number you pass. - [Delete Agent Version By Id](https://docs.getbluejay.ai/api-reference/endpoint/delete-prompt-by-id.md) - [Delete Agent Version](https://docs.getbluejay.ai/api-reference/endpoint/delete-prompt-version.md): Delete a specific agent version; cannot delete production; cannot delete only version. If deleting latest, reassign latest to highest remaining version. - [Delete Agent Version By Label](https://docs.getbluejay.ai/api-reference/endpoint/delete-prompt-version-by-label.md): Delete an agent version by label. - [Get Agent Version By Id](https://docs.getbluejay.ai/api-reference/endpoint/get-prompt-by-id.md) - [Get Prompt By Label](https://docs.getbluejay.ai/api-reference/endpoint/get-prompt-by-label.md): DEPRECATED. Old path, still works. Retrieve a version by label. There is no /versions twin. - [Get Agent Version](https://docs.getbluejay.ai/api-reference/endpoint/get-prompt-version.md) - [List Agent Versions](https://docs.getbluejay.ai/api-reference/endpoint/list-prompt-versions.md): List agent versions with optional filters (label, version). - [List Agent Version Labels](https://docs.getbluejay.ai/api-reference/endpoint/list-prompt-version-labels.md) - [Add Agent Version Labels](https://docs.getbluejay.ai/api-reference/endpoint/add-prompt-version-labels.md) - [Remove Agent Version Labels](https://docs.getbluejay.ai/api-reference/endpoint/remove-prompt-version-labels.md) - [List Issues](https://docs.getbluejay.ai/api-reference/endpoint/list-issues.md) - [Get Issue](https://docs.getbluejay.ai/api-reference/endpoint/get-issue.md) - [Update Issue](https://docs.getbluejay.ai/api-reference/endpoint/update-issue.md) - [Create Label](https://docs.getbluejay.ai/api-reference/endpoint/create-label.md): Create a free-standing label for an agent (not attached to any prompt or knowledge base). - [List Labels](https://docs.getbluejay.ai/api-reference/endpoint/list-labels.md): List all free-standing labels for an agent; filter by substring with q. - [Get Label By Id](https://docs.getbluejay.ai/api-reference/endpoint/get-label-by-id.md) - [Update Label](https://docs.getbluejay.ai/api-reference/endpoint/update-label.md): Rename a free-standing label; reserved labels are not allowed as targets. - [Delete Label](https://docs.getbluejay.ai/api-reference/endpoint/delete-label.md): Delete a free-standing label; cannot delete reserved labels; cannot delete if associated. - [Create scenario](https://docs.getbluejay.ai/api-reference/endpoint/create-scenario.md): Create a scenario definition as a React Flow graph. - [List scenarios](https://docs.getbluejay.ai/api-reference/endpoint/list-scenarios.md): List scenarios for your org; each item includes a typed React Flow definition (discriminated nodes and data). - [Get scenario](https://docs.getbluejay.ai/api-reference/endpoint/get-scenario.md): Fetch one scenario by UUID, including the full typed React Flow definition. - [Update scenario](https://docs.getbluejay.ai/api-reference/endpoint/update-scenario.md): Partially update a scenario; replacing definition re-validates the same typed React Flow graph as create. - [Delete scenario](https://docs.getbluejay.ai/api-reference/endpoint/delete-scenario.md): Delete a scenario and its stored typed React Flow graph by UUID. - [Pull Bluejay as Code](https://docs.getbluejay.ai/api-reference/endpoint/pull-bluejay-as-code.md): Export a Bluejay configuration as a JSON payload, rooted at any of four entity types. - [Push Bluejay as Code](https://docs.getbluejay.ai/api-reference/endpoint/push-bluejay-as-code.md): Apply a Bluejay as Code payload to Bluejay. - [Create Schedule](https://docs.getbluejay.ai/api-reference/endpoint/create-schedule.md) - [Update Schedule](https://docs.getbluejay.ai/api-reference/endpoint/update-schedule.md) - [Delete Schedule](https://docs.getbluejay.ai/api-reference/endpoint/delete-schedule.md) - [Create Customer Persona](https://docs.getbluejay.ai/api-reference/endpoint/create-customer-persona.md): Create a new customer persona. - [Update Customer Persona](https://docs.getbluejay.ai/api-reference/endpoint/update-customer-persona.md): Update a specific customer persona by ID. - [Get Customer Persona](https://docs.getbluejay.ai/api-reference/endpoint/get-customer-persona.md): Get a specific customer persona by ID. - [Get Customer Personas by Agent](https://docs.getbluejay.ai/api-reference/endpoint/get-customer-persona-by-agent.md): Get all customer personas for an agent. - [Delete Customer Persona](https://docs.getbluejay.ai/api-reference/endpoint/delete-customer-persona.md): Delete a specific customer persona by ID. - [Create Folder](https://docs.getbluejay.ai/api-reference/endpoint/create-folder.md): Create a new folder for organizing agents. Returns the created folder details. - [Update Folder](https://docs.getbluejay.ai/api-reference/endpoint/update-folder.md): Update a folder's name. Returns the updated folder details. - [Get Folder](https://docs.getbluejay.ai/api-reference/endpoint/get-folder.md): Get a specific folder by ID. Returns the folder details if it exists and belongs to the user's organization. - [Get All Folders](https://docs.getbluejay.ai/api-reference/endpoint/get-all-folders.md): Get all folders for the authenticated user's organization. Returns a list of all folders with their details. - [Delete Folder](https://docs.getbluejay.ai/api-reference/endpoint/delete-folder.md): Delete a folder. - [Get Phone Numbers](https://docs.getbluejay.ai/api-reference/endpoint/phone-numbers.md): Return phone number under an org. - [Translate Transcript](https://docs.getbluejay.ai/api-reference/endpoint/translate-transcript.md): Translates all utterances in a simulation or production conversation transcript to the specified target language using Google Translate API. - [Events Webhook](https://docs.getbluejay.ai/api-reference/webhook/events-webhook.md): Upon an event on the platform, we'll send you the results to the URL you registered within the dashboard. - [Create Knowledge Base](https://docs.getbluejay.ai/api-reference/endpoint/create-knowledge-base.md): Create a knowledge base for your organization - [List Knowledge Bases](https://docs.getbluejay.ai/api-reference/endpoint/list-knowledge-bases.md): List your organization's knowledge bases with document counts - [Get Knowledge Base](https://docs.getbluejay.ai/api-reference/endpoint/get-knowledge-base.md): Fetch a knowledge base with its documents and ingestion status - [Update Knowledge Base](https://docs.getbluejay.ai/api-reference/endpoint/update-knowledge-base.md): Rename or re-describe a knowledge base - [Delete Knowledge Base](https://docs.getbluejay.ai/api-reference/endpoint/delete-knowledge-base.md): Delete a knowledge base and all of its documents - [Attach Agent to Knowledge Base](https://docs.getbluejay.ai/api-reference/endpoint/attach-agent-to-knowledge-base.md): Give an agent access to a knowledge base - [Detach Agent from Knowledge Base](https://docs.getbluejay.ai/api-reference/endpoint/detach-agent-from-knowledge-base.md): Remove an agent's access to a knowledge base - [List SCIM Users](https://docs.getbluejay.ai/api-reference/endpoint/list-scim-users.md): List the people your identity provider has provisioned. Supports `userName eq` and `externalId eq` filters. - [Create SCIM User](https://docs.getbluejay.ai/api-reference/endpoint/create-scim-user.md): Provision a person. They can sign in with SSO right away; no invite email is sent. - [Get SCIM User](https://docs.getbluejay.ai/api-reference/endpoint/get-scim-user.md): Get one provisioned person by their SCIM id. - [Replace SCIM User](https://docs.getbluejay.ai/api-reference/endpoint/replace-scim-user.md): Replace a provisioned person's attributes. Setting `active` to false removes their access. - [Update SCIM User](https://docs.getbluejay.ai/api-reference/endpoint/update-scim-user.md): Update a provisioned person with SCIM PATCH operations, such as deactivating them. - [Delete SCIM User](https://docs.getbluejay.ai/api-reference/endpoint/delete-scim-user.md): Remove a provisioned person and their access to your organization. - [MCP Server](https://docs.getbluejay.ai/mcp/overview.md): Connect AI agents and coding assistants to Bluejay using the Model Context Protocol - [Claude Code & Claude Desktop](https://docs.getbluejay.ai/mcp/claude-code.md): Connect Bluejay MCP server to Claude Code CLI and Claude Desktop - [Cursor & Windsurf](https://docs.getbluejay.ai/mcp/cursor-windsurf.md): Connect Bluejay MCP server to Cursor and Windsurf - [Changelog](https://docs.getbluejay.ai/changelog.md): Updates, changes, and improvements at Bluejay. - [Voice AI Glossary](https://docs.getbluejay.ai/glossary.md): Search and browse core Voice AI & Bluejay terms ## OpenAPI Specs - [openapi](https://api.getbluejay.ai/openapi.json) ## Optional - [Bluejay Events](https://luma.com/calendar/cal-SiZErInrVWBE5Et) - [Join our Slack](https://join.slack.com/t/bluejaycommunity/shared_invite/zt-442xk85k5-Qkbq65wVOxK~1FHU5OadEA) - [Blog](https://getbluejay.ai/blog) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.