# Braintrust ## Docs - [Access control](https://braintrust.dev/docs/admin/access-control.md): Set up permission groups and access controls - [Authentication](https://braintrust.dev/docs/admin/authentication.md) - [Set up alerts](https://braintrust.dev/docs/admin/automations/alerts.md): Configure webhooks and Slack notifications - [Configure data retention](https://braintrust.dev/docs/admin/automations/configure-data-retention.md): Control storage costs and meet compliance obligations by setting per-object retention windows that automatically delete aged data. - [Export to cloud storage](https://braintrust.dev/docs/admin/automations/export-to-cloud-storage.md): Deliver project logs to S3 or GCS in JSONL or Parquet format, with Hive partitioning for efficient downstream querying. - [Automations](https://braintrust.dev/docs/admin/automations/index.md): Automate alerts and data management - [Change your plan](https://braintrust.dev/docs/admin/billing/change-plan.md): Upgrade or downgrade between Starter, Pro, and Enterprise - [Billing FAQ](https://braintrust.dev/docs/admin/billing/faq.md): Common questions about Braintrust pricing, billing, and plans - [Manage billing](https://braintrust.dev/docs/admin/billing/index.md): Change plans, monitor usage, and manage billing - [Monitor usage](https://braintrust.dev/docs/admin/billing/monitor-usage.md): Track usage and set up cost alerts - [Administration](https://braintrust.dev/docs/admin/index.md): Manage organizations, access control, and infrastructure - [Manage organizations](https://braintrust.dev/docs/admin/organizations.md): Configure organization settings and integrations - [Personal settings](https://braintrust.dev/docs/admin/personal-settings.md): Configure your individual user preferences - [Manage projects](https://braintrust.dev/docs/admin/projects.md): Configure project settings and features - [Advanced self-hosting topics](https://braintrust.dev/docs/admin/self-hosting/advanced.md) - [Architecture](https://braintrust.dev/docs/admin/self-hosting/architecture.md) - [Deploy Braintrust](https://braintrust.dev/docs/admin/self-hosting/deploy.md): Deploy a self-hosted Braintrust data plane on AWS, GCP, or Azure - [Self-hosting Braintrust](https://braintrust.dev/docs/admin/self-hosting/index.md) - [Upgrade your deployment](https://braintrust.dev/docs/admin/self-hosting/upgrade/routine.md): Upgrade a self-hosted Braintrust data plane on AWS, GCP, or Azure - [Upgrade to data plane v2.0](https://braintrust.dev/docs/admin/self-hosting/upgrade/v2.md): Upgrade your self-hosted Braintrust deployment to data plane v2.0 - [Service health](https://braintrust.dev/docs/admin/service-health.md): Monitor Braintrust service availability and subscribe to incident notifications - [Create custom views](https://braintrust.dev/docs/annotate/custom-views.md): Help your team understand and act on traces and dataset rows faster. Describe the interface you need in natural language, and Loop generates a customizable React component you can embed anywhere. - [Build datasets](https://braintrust.dev/docs/annotate/datasets.md): Assemble versioned test case collections to power repeatable evaluations. Add cases from production logs, import from files, or create them directly in the UI. - [Export annotated data](https://braintrust.dev/docs/annotate/export.md): Take annotated traces and datasets outside Braintrust to use in external evaluation frameworks, analysis pipelines, reporting, or training workflows. - [Add human feedback](https://braintrust.dev/docs/annotate/human-review.md): Capture structured human judgment on production traces to build ground truth, validate automated scores, and surface edge cases your scorers might miss. - [Annotate and curate data](https://braintrust.dev/docs/annotate/index.md): Transform production logs into high-quality datasets. Add human feedback, labels, and corrections to build test cases that drive systematic improvement. - [Add labels and corrections](https://braintrust.dev/docs/annotate/labels.md): Go beyond numeric scores by tagging traces, adding expected values, and writing corrections. Use these annotations to organize data and build higher-quality datasets. - [Batch update acls](https://braintrust.dev/docs/api-reference/acls/batch-update-acls.md): Batch update acls. This operation is idempotent, so adding acls which already exist will have no effect, and removing acls which do not exist will have no effect. - [Create acl](https://braintrust.dev/docs/api-reference/acls/create-acl.md): Create a new acl. If there is an existing acl with the same contents as the one specified in the request, will return the existing acl unmodified - [Delete acl](https://braintrust.dev/docs/api-reference/acls/delete-acl.md): Delete an acl object by its id - [Delete single acl](https://braintrust.dev/docs/api-reference/acls/delete-single-acl.md): Delete a single acl - [Get acl](https://braintrust.dev/docs/api-reference/acls/get-acl.md): Get an acl object by its id - [List acls](https://braintrust.dev/docs/api-reference/acls/list-acls.md): List out all acls. The acls are sorted by creation date, with the most recently-created acls coming first - [List org acls](https://braintrust.dev/docs/api-reference/acls/list-org-acls.md): List all acls in the org. This query requires the caller to have `read_acls` permission at the organization level - [Create ai_secret](https://braintrust.dev/docs/api-reference/aisecrets/create-ai_secret.md): Create a new ai_secret. If there is an existing ai_secret with the same name as the one specified in the request, will return the existing ai_secret unmodified - [Create or replace ai_secret](https://braintrust.dev/docs/api-reference/aisecrets/create-or-replace-ai_secret.md): Create or replace ai_secret. If there is an existing ai_secret with the same name as the one specified in the request, will replace the existing ai_secret with the provided fields - [Delete ai_secret](https://braintrust.dev/docs/api-reference/aisecrets/delete-ai_secret.md): Delete an ai_secret object by its id - [Delete single ai_secret](https://braintrust.dev/docs/api-reference/aisecrets/delete-single-ai_secret.md): Delete a single ai_secret - [Get ai_secret](https://braintrust.dev/docs/api-reference/aisecrets/get-ai_secret.md): Get an ai_secret object by its id - [List ai_secrets](https://braintrust.dev/docs/api-reference/aisecrets/list-ai_secrets.md): List out all ai_secrets. The ai_secrets are sorted by creation date, with the most recently-created ai_secrets coming first - [Partially update ai_secret](https://braintrust.dev/docs/api-reference/aisecrets/partially-update-ai_secret.md): Partially update an ai_secret object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Create api_key](https://braintrust.dev/docs/api-reference/apikeys/create-api_key.md): Create a new api_key. It is possible to have multiple API keys with the same name. There is no de-duplication - [Delete api_key](https://braintrust.dev/docs/api-reference/apikeys/delete-api_key.md): Delete an api_key object by its id - [Get api_key](https://braintrust.dev/docs/api-reference/apikeys/get-api_key.md): Get an api_key object by its id - [List api_keys](https://braintrust.dev/docs/api-reference/apikeys/list-api_keys.md): List out all api_keys. The api_keys are sorted by creation date, with the most recently-created api_keys coming first - [Enable CORS (`/v1`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1`.md): Enable CORS - [Enable CORS (`/v1/acl/{acl_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1acl-`.md): Enable CORS - [Enable CORS (`/v1/acl`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1acl`.md): Enable CORS - [Enable CORS (`/v1/acl/acl/batch_update`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1aclaclbatch_update`.md): Enable CORS - [Enable CORS (`/v1/acl/list_org`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1acllist_org`.md): Enable CORS - [Enable CORS (`/v1/ai_secret/{ai_secret_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1ai_secret-`.md): Enable CORS - [Enable CORS (`/v1/ai_secret`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1ai_secret`.md): Enable CORS - [Enable CORS (`/v1/api_key/{api_key_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1api_key-`.md): Enable CORS - [Enable CORS (`/v1/api_key`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1api_key`.md): Enable CORS - [Enable CORS (`/v1/dataset/{dataset_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1dataset-`.md): Enable CORS - [Enable CORS (`/v1/dataset/{dataset_id}/feedback`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1dataset-feedback`.md): Enable CORS - [Enable CORS (`/v1/dataset/{dataset_id}/fetch`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1dataset-fetch`.md): Enable CORS - [Enable CORS (`/v1/dataset/{dataset_id}/insert`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1dataset-insert`.md): Enable CORS - [Enable CORS (`/v1/dataset/{dataset_id}/summarize`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1dataset-summarize`.md): Enable CORS - [Enable CORS (`/v1/dataset_snapshot/{dataset_snapshot_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1dataset_snapshot-`.md): Enable CORS - [Enable CORS (`/v1/dataset_snapshot`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1dataset_snapshot`.md): Enable CORS - [Enable CORS (`/v1/dataset`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1dataset`.md): Enable CORS - [Enable CORS (`/v1/env_var/{env_var_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1env_var-`.md): Enable CORS - [Enable CORS (`/v1/env_var`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1env_var`.md): Enable CORS - [Enable CORS (`/v1/experiment/{experiment_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1experiment-`.md): Enable CORS - [Enable CORS (`/v1/experiment/{experiment_id}/feedback`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1experiment-feedback`.md): Enable CORS - [Enable CORS (`/v1/experiment/{experiment_id}/fetch`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1experiment-fetch`.md): Enable CORS - [Enable CORS (`/v1/experiment/{experiment_id}/insert`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1experiment-insert`.md): Enable CORS - [Enable CORS (`/v1/experiment/{experiment_id}/summarize`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1experiment-summarize`.md): Enable CORS - [Enable CORS (`/v1/experiment`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1experiment`.md): Enable CORS - [Enable CORS (`/v1/function/{function_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1function-`.md): Enable CORS - [Enable CORS (`/v1/function/{function_id}/invoke`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1function-invoke`.md): Enable CORS - [Enable CORS (`/v1/function`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1function`.md): Enable CORS - [Enable CORS (`/v1/group/{group_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1group-`.md): Enable CORS - [Enable CORS (`/v1/group`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1group`.md): Enable CORS - [Enable CORS (`/v1/insert`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1insert`.md): Enable CORS - [Enable CORS (`/v1/mcp_server/{mcp_server_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1mcp_server-`.md): Enable CORS - [Enable CORS (`/v1/mcp_server`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1mcp_server`.md): Enable CORS - [Enable CORS (`/v1/organization/{organization_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1organization-`.md): Enable CORS - [Enable CORS (`/v1/organization`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1organization`.md): Enable CORS - [Enable CORS (`/v1/organization/members`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1organizationmembers`.md): Enable CORS - [Enable CORS (`/v1/project/{project_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1project-`.md): Enable CORS - [Enable CORS (`/v1/project_automation/{project_automation_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1project_automation-`.md): Enable CORS - [Enable CORS (`/v1/project_automation`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1project_automation`.md): Enable CORS - [Enable CORS (`/v1/project_logs/{project_id}/feedback`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1project_logs-feedback`.md): Enable CORS - [Enable CORS (`/v1/project_logs/{project_id}/fetch`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1project_logs-fetch`.md): Enable CORS - [Enable CORS (`/v1/project_logs/{project_id}/insert`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1project_logs-insert`.md): Enable CORS - [Enable CORS (`/v1/project_score/{project_score_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1project_score-`.md): Enable CORS - [Enable CORS (`/v1/project_score`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1project_score`.md): Enable CORS - [Enable CORS (`/v1/project_tag/{project_tag_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1project_tag-`.md): Enable CORS - [Enable CORS (`/v1/project_tag`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1project_tag`.md): Enable CORS - [Enable CORS (`/v1/project`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1project`.md): Enable CORS - [Enable CORS (`/v1/prompt/{prompt_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1prompt-`.md): Enable CORS - [Enable CORS (`/v1/prompt`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1prompt`.md): Enable CORS - [Enable CORS (`/v1/proxy/{path+}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1proxy-`.md): Enable CORS - [Enable CORS (`/v1/proxy/auto`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1proxyauto`.md): Enable CORS - [Enable CORS (`/v1/proxy/chat/completions`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1proxychatcompletions`.md): Enable CORS - [Enable CORS (`/v1/proxy/completions`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1proxycompletions`.md): Enable CORS - [Enable CORS (`/v1/proxy/credentials`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1proxycredentials`.md): Enable CORS - [Enable CORS (`/v1/proxy/embeddings`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1proxyembeddings`.md): Enable CORS - [Enable CORS (`/v1/role/{role_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1role-`.md): Enable CORS - [Enable CORS (`/v1/role`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1role`.md): Enable CORS - [Enable CORS (`/v1/service_token/{service_token_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1service_token-`.md): Enable CORS - [Enable CORS (`/v1/service_token`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1service_token`.md): Enable CORS - [Enable CORS (`/v1/span_iframe/{span_iframe_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1span_iframe-`.md): Enable CORS - [Enable CORS (`/v1/span_iframe`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1span_iframe`.md): Enable CORS - [Enable CORS (`/v1/user/{user_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1user-`.md): Enable CORS - [Enable CORS (`/v1/user`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1user`.md): Enable CORS - [Enable CORS (`/v1/view/{view_id}`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1view-`.md): Enable CORS - [Enable CORS (`/v1/view`)](https://braintrust.dev/docs/api-reference/cors/enable-cors-`v1view`.md): Enable CORS - [Cross-object insert](https://braintrust.dev/docs/api-reference/crossobject/cross-object-insert.md): Insert events and feedback across object types - [Create dataset](https://braintrust.dev/docs/api-reference/datasets/create-dataset.md): Create a new dataset. If there is an existing dataset in the project with the same name as the one specified in the request, will return the existing dataset unmodified - [Delete dataset](https://braintrust.dev/docs/api-reference/datasets/delete-dataset.md): Delete a dataset object by its id - [Feedback for dataset events](https://braintrust.dev/docs/api-reference/datasets/feedback-for-dataset-events.md): Log feedback for a set of dataset events - [Fetch dataset (GET form)](https://braintrust.dev/docs/api-reference/datasets/fetch-dataset-get-form.md): Fetch the events in a dataset. Equivalent to the POST form of the same path, but with the parameters in the URL query rather than in the request body. For more complex queries, use the `POST /btql` endpoint. - [Fetch dataset (POST form)](https://braintrust.dev/docs/api-reference/datasets/fetch-dataset-post-form.md): Fetch the events in a dataset. Equivalent to the GET form of the same path, but with the parameters in the request body rather than in the URL query. For more complex queries, use the `POST /btql` endpoint. - [Get dataset](https://braintrust.dev/docs/api-reference/datasets/get-dataset.md): Get a dataset object by its id - [Insert dataset events](https://braintrust.dev/docs/api-reference/datasets/insert-dataset-events.md): Insert a set of events into the dataset - [List datasets](https://braintrust.dev/docs/api-reference/datasets/list-datasets.md): List out all datasets. The datasets are sorted by creation date, with the most recently-created datasets coming first - [Partially update dataset](https://braintrust.dev/docs/api-reference/datasets/partially-update-dataset.md): Partially update a dataset object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Summarize dataset](https://braintrust.dev/docs/api-reference/datasets/summarize-dataset.md): Summarize dataset - [Create dataset_snapshot](https://braintrust.dev/docs/api-reference/datasetsnapshots/create-dataset_snapshot.md): Create a new dataset_snapshot. If there is an existing dataset_snapshot with the same name as the one specified in the request, will return the existing dataset_snapshot unmodified - [Create or replace dataset_snapshot](https://braintrust.dev/docs/api-reference/datasetsnapshots/create-or-replace-dataset_snapshot.md): Create or replace dataset_snapshot. If there is an existing dataset_snapshot with the same name as the one specified in the request, will replace the existing dataset_snapshot with the provided fields - [Delete dataset_snapshot](https://braintrust.dev/docs/api-reference/datasetsnapshots/delete-dataset_snapshot.md): Delete a dataset_snapshot object by its id - [Get dataset_snapshot](https://braintrust.dev/docs/api-reference/datasetsnapshots/get-dataset_snapshot.md): Get a dataset_snapshot object by its id - [List dataset_snapshots](https://braintrust.dev/docs/api-reference/datasetsnapshots/list-dataset_snapshots.md): List out all dataset_snapshots. The dataset_snapshots are sorted by creation date, with the most recently-created dataset_snapshots coming first - [Partially update dataset_snapshot](https://braintrust.dev/docs/api-reference/datasetsnapshots/partially-update-dataset_snapshot.md): Partially update a dataset_snapshot object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Create environment](https://braintrust.dev/docs/api-reference/environments/create-environment.md): Create a new environment - [Delete environment](https://braintrust.dev/docs/api-reference/environments/delete-environment.md) - [Get environment](https://braintrust.dev/docs/api-reference/environments/get-environment.md) - [List environments](https://braintrust.dev/docs/api-reference/environments/list-environments.md): List out all environments. The environments are sorted by creation date, with the most recently-created environments first. - [Partially update environment](https://braintrust.dev/docs/api-reference/environments/partially-update-environment.md) - [Create env_var](https://braintrust.dev/docs/api-reference/envvars/create-env_var.md): Create a new env_var. If there is an existing env_var with the same name as the one specified in the request, will return the existing env_var unmodified - [Create or replace env_var](https://braintrust.dev/docs/api-reference/envvars/create-or-replace-env_var.md): Create or replace env_var. If there is an existing env_var with the same name as the one specified in the request, will replace the existing env_var with the provided fields - [Delete env_var](https://braintrust.dev/docs/api-reference/envvars/delete-env_var.md): Delete an env_var object by its id - [Get env_var](https://braintrust.dev/docs/api-reference/envvars/get-env_var.md): Get an env_var object by its id - [List env_vars](https://braintrust.dev/docs/api-reference/envvars/list-env_vars.md): List out all env_vars. The env_vars are sorted by creation date, with the most recently-created env_vars coming first - [Partially update env_var](https://braintrust.dev/docs/api-reference/envvars/partially-update-env_var.md): Partially update an env_var object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Launch an eval](https://braintrust.dev/docs/api-reference/evals/launch-an-eval.md): Launch an evaluation. This is the API-equivalent of the `Eval` function that is built into the Braintrust SDK. In the Eval API, you provide pointers to a dataset, task function, and scoring functions. The API will then run the evaluation, create an experiment, and return the results along with a lin… - [Create experiment](https://braintrust.dev/docs/api-reference/experiments/create-experiment.md): Create a new experiment. If there is an existing experiment in the project with the same name as the one specified in the request, will return the existing experiment unmodified - [Delete experiment](https://braintrust.dev/docs/api-reference/experiments/delete-experiment.md): Delete an experiment object by its id - [Feedback for experiment events](https://braintrust.dev/docs/api-reference/experiments/feedback-for-experiment-events.md): Log feedback for a set of experiment events - [Fetch experiment (GET form)](https://braintrust.dev/docs/api-reference/experiments/fetch-experiment-get-form.md): Fetch the events in an experiment. Equivalent to the POST form of the same path, but with the parameters in the URL query rather than in the request body. For more complex queries, use the `POST /btql` endpoint. - [Fetch experiment (POST form)](https://braintrust.dev/docs/api-reference/experiments/fetch-experiment-post-form.md): Fetch the events in an experiment. Equivalent to the GET form of the same path, but with the parameters in the request body rather than in the URL query. For more complex queries, use the `POST /btql` endpoint. - [Get experiment](https://braintrust.dev/docs/api-reference/experiments/get-experiment.md): Get an experiment object by its id - [Insert experiment events](https://braintrust.dev/docs/api-reference/experiments/insert-experiment-events.md): Insert a set of events into the experiment - [List experiments](https://braintrust.dev/docs/api-reference/experiments/list-experiments.md): List out all experiments. The experiments are sorted by creation date, with the most recently-created experiments coming first - [Partially update experiment](https://braintrust.dev/docs/api-reference/experiments/partially-update-experiment.md): Partially update an experiment object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Summarize experiment](https://braintrust.dev/docs/api-reference/experiments/summarize-experiment.md): Summarize experiment - [Create function](https://braintrust.dev/docs/api-reference/functions/create-function.md): Create a new function. If there is an existing function in the project with the same slug as the one specified in the request, will return the existing function unmodified - [Create or replace function](https://braintrust.dev/docs/api-reference/functions/create-or-replace-function.md): Create or replace function. If there is an existing function in the project with the same slug as the one specified in the request, will replace the existing function with the provided fields - [Delete function](https://braintrust.dev/docs/api-reference/functions/delete-function.md): Delete a function object by its id - [Get function](https://braintrust.dev/docs/api-reference/functions/get-function.md): Get a function object by its id - [Invoke function](https://braintrust.dev/docs/api-reference/functions/invoke-function.md): Invoke a function. - [List functions](https://braintrust.dev/docs/api-reference/functions/list-functions.md): List out all functions. The functions are sorted by creation date, with the most recently-created functions coming first - [Partially update function](https://braintrust.dev/docs/api-reference/functions/partially-update-function.md): Partially update a function object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Create group](https://braintrust.dev/docs/api-reference/groups/create-group.md): Create a new group. If there is an existing group with the same name as the one specified in the request, will return the existing group unmodified - [Create or replace group](https://braintrust.dev/docs/api-reference/groups/create-or-replace-group.md): Create or replace group. If there is an existing group with the same name as the one specified in the request, will replace the existing group with the provided fields - [Delete group](https://braintrust.dev/docs/api-reference/groups/delete-group.md): Delete a group object by its id - [Get group](https://braintrust.dev/docs/api-reference/groups/get-group.md): Get a group object by its id - [List groups](https://braintrust.dev/docs/api-reference/groups/list-groups.md): List out all groups. The groups are sorted by creation date, with the most recently-created groups coming first - [Partially update group](https://braintrust.dev/docs/api-reference/groups/partially-update-group.md): Partially update a group object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [API Reference](https://braintrust.dev/docs/api-reference/index.md): Complete API reference for the Braintrust API - [Feedback for project logs events](https://braintrust.dev/docs/api-reference/logs/feedback-for-project-logs-events.md): Log feedback for a set of project logs events - [Fetch project logs (GET form)](https://braintrust.dev/docs/api-reference/logs/fetch-project-logs-get-form.md): Fetch the events in a project logs. Equivalent to the POST form of the same path, but with the parameters in the URL query rather than in the request body. For more complex queries, use the `POST /btql` endpoint. - [Fetch project logs (POST form)](https://braintrust.dev/docs/api-reference/logs/fetch-project-logs-post-form.md): Fetch the events in a project logs. Equivalent to the GET form of the same path, but with the parameters in the request body rather than in the URL query. For more complex queries, use the `POST /btql` endpoint. - [Insert project logs events](https://braintrust.dev/docs/api-reference/logs/insert-project-logs-events.md): Insert a set of events into the project logs - [Create mcp_server](https://braintrust.dev/docs/api-reference/mcpservers/create-mcp_server.md): Create a new mcp_server. If there is an existing mcp_server with the same name as the one specified in the request, will return the existing mcp_server unmodified - [Create or replace mcp_server](https://braintrust.dev/docs/api-reference/mcpservers/create-or-replace-mcp_server.md): Create or replace mcp_server. If there is an existing mcp_server with the same name as the one specified in the request, will replace the existing mcp_server with the provided fields - [Delete mcp_server](https://braintrust.dev/docs/api-reference/mcpservers/delete-mcp_server.md): Delete a mcp_server object by its id - [Get mcp_server](https://braintrust.dev/docs/api-reference/mcpservers/get-mcp_server.md): Get a mcp_server object by its id - [List mcp_servers](https://braintrust.dev/docs/api-reference/mcpservers/list-mcp_servers.md): List out all mcp_servers. The mcp_servers are sorted by creation date, with the most recently-created mcp_servers coming first - [Partially update mcp_server](https://braintrust.dev/docs/api-reference/mcpservers/partially-update-mcp_server.md): Partially update a mcp_server object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Get organization](https://braintrust.dev/docs/api-reference/organizations/get-organization.md): Get an organization object by its id - [List organizations](https://braintrust.dev/docs/api-reference/organizations/list-organizations.md): List out all organizations. The organizations are sorted by creation date, with the most recently-created organizations coming first - [Modify organization membership](https://braintrust.dev/docs/api-reference/organizations/modify-organization-membership.md): Modify organization membership - [Partially update organization](https://braintrust.dev/docs/api-reference/organizations/partially-update-organization.md): Partially update an organization object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Hello world endpoint](https://braintrust.dev/docs/api-reference/other/hello-world-endpoint.md): Default endpoint. Simply replies with 'Hello, World!'. Authorization is not required - [Create or replace project_automation](https://braintrust.dev/docs/api-reference/projectautomations/create-or-replace-project_automation.md): Create or replace project_automation. If there is an existing project_automation with the same name as the one specified in the request, will replace the existing project_automation with the provided fields - [Create project_automation](https://braintrust.dev/docs/api-reference/projectautomations/create-project_automation.md): Create a new project_automation. If there is an existing project_automation with the same name as the one specified in the request, will return the existing project_automation unmodified - [Delete project_automation](https://braintrust.dev/docs/api-reference/projectautomations/delete-project_automation.md): Delete a project_automation object by its id - [Get project_automation](https://braintrust.dev/docs/api-reference/projectautomations/get-project_automation.md): Get a project_automation object by its id - [List project_automations](https://braintrust.dev/docs/api-reference/projectautomations/list-project_automations.md): List out all project_automations. The project_automations are sorted by creation date, with the most recently-created project_automations coming first - [Partially update project_automation](https://braintrust.dev/docs/api-reference/projectautomations/partially-update-project_automation.md): Partially update a project_automation object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Create project](https://braintrust.dev/docs/api-reference/projects/create-project.md): Create a new project. If there is an existing project with the same name as the one specified in the request, will return the existing project unmodified - [Delete project](https://braintrust.dev/docs/api-reference/projects/delete-project.md): Delete a project object by its id - [Get project](https://braintrust.dev/docs/api-reference/projects/get-project.md): Get a project object by its id - [List projects](https://braintrust.dev/docs/api-reference/projects/list-projects.md): List out all projects. The projects are sorted by creation date, with the most recently-created projects coming first - [Partially update project](https://braintrust.dev/docs/api-reference/projects/partially-update-project.md): Partially update a project object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Create or replace project_score](https://braintrust.dev/docs/api-reference/projectscores/create-or-replace-project_score.md): Create or replace project_score. If there is an existing project_score in the project with the same name as the one specified in the request, will replace the existing project_score with the provided fields - [Create project_score](https://braintrust.dev/docs/api-reference/projectscores/create-project_score.md): Create a new project_score. If there is an existing project_score in the project with the same name as the one specified in the request, will return the existing project_score unmodified - [Delete project_score](https://braintrust.dev/docs/api-reference/projectscores/delete-project_score.md): Delete a project_score object by its id - [Get project_score](https://braintrust.dev/docs/api-reference/projectscores/get-project_score.md): Get a project_score object by its id - [List project_scores](https://braintrust.dev/docs/api-reference/projectscores/list-project_scores.md): List out all project_scores. The project_scores are sorted by creation date, with the most recently-created project_scores coming first - [Partially update project_score](https://braintrust.dev/docs/api-reference/projectscores/partially-update-project_score.md): Partially update a project_score object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Create or replace project_tag](https://braintrust.dev/docs/api-reference/projecttags/create-or-replace-project_tag.md): Create or replace project_tag. If there is an existing project_tag in the project with the same name as the one specified in the request, will replace the existing project_tag with the provided fields - [Create project_tag](https://braintrust.dev/docs/api-reference/projecttags/create-project_tag.md): Create a new project_tag. If there is an existing project_tag in the project with the same name as the one specified in the request, will return the existing project_tag unmodified - [Delete project_tag](https://braintrust.dev/docs/api-reference/projecttags/delete-project_tag.md): Delete a project_tag object by its id - [Get project_tag](https://braintrust.dev/docs/api-reference/projecttags/get-project_tag.md): Get a project_tag object by its id - [List project_tags](https://braintrust.dev/docs/api-reference/projecttags/list-project_tags.md): List out all project_tags. The project_tags are sorted by creation date, with the most recently-created project_tags coming first - [Partially update project_tag](https://braintrust.dev/docs/api-reference/projecttags/partially-update-project_tag.md): Partially update a project_tag object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Create or replace prompt](https://braintrust.dev/docs/api-reference/prompts/create-or-replace-prompt.md): Create or replace prompt. If there is an existing prompt in the project with the same slug as the one specified in the request, will replace the existing prompt with the provided fields - [Create prompt](https://braintrust.dev/docs/api-reference/prompts/create-prompt.md): Create a new prompt. If there is an existing prompt in the project with the same slug as the one specified in the request, will return the existing prompt unmodified - [Delete prompt](https://braintrust.dev/docs/api-reference/prompts/delete-prompt.md): Delete a prompt object by its id - [Get prompt](https://braintrust.dev/docs/api-reference/prompts/get-prompt.md): Get a prompt object by its id - [List prompts](https://braintrust.dev/docs/api-reference/prompts/list-prompts.md): List out all prompts. The prompts are sorted by creation date, with the most recently-created prompts coming first - [Partially update prompt](https://braintrust.dev/docs/api-reference/prompts/partially-update-prompt.md): Partially update a prompt object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Create temporary credential](https://braintrust.dev/docs/api-reference/proxy/create-temporary-credential.md): Create a temporary credential which can access the proxy for a limited time. The temporary credential will be allowed to make requests on behalf of the Braintrust API key (or model provider API key) provided in the `Authorization` header. See [docs](/docs/deploy/ai-proxy#create-temporary-credentials… - [Proxy a model to chat/completions or completions automatically](https://braintrust.dev/docs/api-reference/proxy/proxy-a-model-to-chatcompletions-or-completions-automatically.md): Proxy a request to either chat/completions or completions automatically based on the model. Will cache if temperature=0 or seed is set. - [Proxy any OpenAI request (fallback)](https://braintrust.dev/docs/api-reference/proxy/proxy-any-openai-request-fallback.md): Any requests which do not match the above paths will be proxied directly to the OpenAI API. - [Proxy chat/completions](https://braintrust.dev/docs/api-reference/proxy/proxy-chatcompletions.md): Proxy a chat/completions request to the specified model, converting its format as needed. Will cache if temperature=0 or seed is set. - [Proxy completions](https://braintrust.dev/docs/api-reference/proxy/proxy-completions.md): Proxy a completions request to the specified model, converting its format as needed. Will cache if temperature=0 or seed is set. - [Proxy embeddings](https://braintrust.dev/docs/api-reference/proxy/proxy-embeddings.md): Proxy an embeddings request to the specified model, converting its format as needed. Will cache automatically. - [Create or replace role](https://braintrust.dev/docs/api-reference/roles/create-or-replace-role.md): Create or replace role. If there is an existing role with the same name as the one specified in the request, will replace the existing role with the provided fields - [Create role](https://braintrust.dev/docs/api-reference/roles/create-role.md): Create a new role. If there is an existing role with the same name as the one specified in the request, will return the existing role unmodified - [Delete role](https://braintrust.dev/docs/api-reference/roles/delete-role.md): Delete a role object by its id - [Get role](https://braintrust.dev/docs/api-reference/roles/get-role.md): Get a role object by its id - [List roles](https://braintrust.dev/docs/api-reference/roles/list-roles.md): List out all roles. The roles are sorted by creation date, with the most recently-created roles coming first - [Partially update role](https://braintrust.dev/docs/api-reference/roles/partially-update-role.md): Partially update a role object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Create or replace service_token](https://braintrust.dev/docs/api-reference/servicetokens/create-or-replace-service_token.md): Create or replace service_token. If there is an existing service_token with the same name as the one specified in the request, will replace the existing service_token with the provided fields - [Create service_token](https://braintrust.dev/docs/api-reference/servicetokens/create-service_token.md): Create a new service_token. It is possible to have multiple API keys with the same name. There is no de-duplication - [Delete service_token](https://braintrust.dev/docs/api-reference/servicetokens/delete-service_token.md): Delete a service_token object by its id - [Delete single service_token](https://braintrust.dev/docs/api-reference/servicetokens/delete-single-service_token.md): Delete a single service_token - [Get service_token](https://braintrust.dev/docs/api-reference/servicetokens/get-service_token.md): Get a service_token object by its id - [List service_tokens](https://braintrust.dev/docs/api-reference/servicetokens/list-service_tokens.md): List out all service_tokens. The service_tokens are sorted by creation date, with the most recently-created service_tokens coming first - [Create or replace span_iframe](https://braintrust.dev/docs/api-reference/spaniframes/create-or-replace-span_iframe.md): Create or replace span_iframe. If there is an existing span_iframe with the same name as the one specified in the request, will replace the existing span_iframe with the provided fields - [Create span_iframe](https://braintrust.dev/docs/api-reference/spaniframes/create-span_iframe.md): Create a new span_iframe. If there is an existing span_iframe with the same name as the one specified in the request, will return the existing span_iframe unmodified - [Delete span_iframe](https://braintrust.dev/docs/api-reference/spaniframes/delete-span_iframe.md): Delete a span_iframe object by its id - [Get span_iframe](https://braintrust.dev/docs/api-reference/spaniframes/get-span_iframe.md): Get a span_iframe object by its id - [List span_iframes](https://braintrust.dev/docs/api-reference/spaniframes/list-span_iframes.md): List out all span_iframes. The span_iframes are sorted by creation date, with the most recently-created span_iframes coming first - [Partially update span_iframe](https://braintrust.dev/docs/api-reference/spaniframes/partially-update-span_iframe.md): Partially update a span_iframe object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Get user](https://braintrust.dev/docs/api-reference/users/get-user.md): Get a user object by its id - [List users](https://braintrust.dev/docs/api-reference/users/list-users.md): List out all users. The users are sorted by creation date, with the most recently-created users coming first - [Create or replace view](https://braintrust.dev/docs/api-reference/views/create-or-replace-view.md): Create or replace view. If there is an existing view with the same name as the one specified in the request, will replace the existing view with the provided fields - [Create view](https://braintrust.dev/docs/api-reference/views/create-view.md): Create a new view. If there is an existing view with the same name as the one specified in the request, will return the existing view unmodified - [Delete view](https://braintrust.dev/docs/api-reference/views/delete-view.md): Delete a view object by its id - [Get view](https://braintrust.dev/docs/api-reference/views/get-view.md): Get a view object by its id - [List views](https://braintrust.dev/docs/api-reference/views/list-views.md): List out all views. The views are sorted by creation date, with the most recently-created views coming first - [Partially update view](https://braintrust.dev/docs/api-reference/views/partially-update-view.md): Partially update a view object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null. - [Evaluating agents](https://braintrust.dev/docs/best-practices/agents.md) - [Product manager workflows](https://braintrust.dev/docs/best-practices/pm-workflows.md) - [Writing scorers](https://braintrust.dev/docs/best-practices/scorers.md) - [Product updates](https://braintrust.dev/docs/changelog.md): New updates and product improvements - [C# SDK changelog](https://braintrust.dev/docs/changelog/csharp-sdk.md) - [Go SDK changelog](https://braintrust.dev/docs/changelog/go-sdk.md) - [Java SDK changelog](https://braintrust.dev/docs/changelog/java-sdk.md) - [Python SDK changelog](https://braintrust.dev/docs/changelog/python-sdk.md) - [Ruby SDK changelog](https://braintrust.dev/docs/changelog/ruby-sdk.md) - [TypeScript SDK changelog](https://braintrust.dev/docs/changelog/typescript-sdk.md) - [Cookbook](https://braintrust.dev/docs/cookbook/index.md) - [AI Search Bar](https://braintrust.dev/docs/cookbook/recipes/AISearch.md) - [An agent that runs OpenAPI commands](https://braintrust.dev/docs/cookbook/recipes/APIAgent-Py.md) - [Building reliable AI agents](https://braintrust.dev/docs/cookbook/recipes/AgentWhileLoop.md) - [Observability for Strands Agents on Amazon Bedrock](https://braintrust.dev/docs/cookbook/recipes/AmazonBedrockStrands.md) - [How Zapier uses assertions to evaluate tool usage in chatbots](https://braintrust.dev/docs/cookbook/recipes/Assertions.md) - [Classifying news articles](https://braintrust.dev/docs/cookbook/recipes/ClassifyingNewsArticles.md) - [Coda's Help Desk with and without RAG](https://braintrust.dev/docs/cookbook/recipes/CodaHelpDesk.md) - [Evaluating voice AI agents with Evalion](https://braintrust.dev/docs/cookbook/recipes/EvalionVoiceAgentEval.md) - [Evaluating a chat assistant](https://braintrust.dev/docs/cookbook/recipes/EvaluatingChatAssistant.md) - [Improving Github issue titles using their contents](https://braintrust.dev/docs/cookbook/recipes/Github-Issues.md) - [Generating beautiful HTML components](https://braintrust.dev/docs/cookbook/recipes/HTMLGenerator.md) - [Tool calls in LLaMa 3.1](https://braintrust.dev/docs/cookbook/recipes/LLaMa-3_1-Tools.md) - [Using Loop in AI product development](https://braintrust.dev/docs/cookbook/recipes/Loop.md) - [Evaluating and iterating on AI apps with Lovable](https://braintrust.dev/docs/cookbook/recipes/Lovable.md) - [Comparing evals across multiple AI models](https://braintrust.dev/docs/cookbook/recipes/ModelComparison.md) - [Using OpenTelemetry for LLM observability](https://braintrust.dev/docs/cookbook/recipes/OTEL-logging.md) - [Using PDF attachments in playgrounds](https://braintrust.dev/docs/cookbook/recipes/PDFPlayground.md) - [Evaluating the precision and recall of an emotion classifier](https://braintrust.dev/docs/cookbook/recipes/PrecisionRecall.md) - [Evaluating a prompt chaining agent](https://braintrust.dev/docs/cookbook/recipes/PromptChaining.md) - [Detecting Prompt Injections](https://braintrust.dev/docs/cookbook/recipes/PromptInjectionDetector.md) - [Prompt versioning and deployment](https://braintrust.dev/docs/cookbook/recipes/PromptVersioning.md) - [Benchmarking inference providers](https://braintrust.dev/docs/cookbook/recipes/ProviderBenchmark.md) - [Evaluating audio with the OpenAI Realtime API](https://braintrust.dev/docs/cookbook/recipes/Realtime.md) - [Evaluating multimodal receipt extraction](https://braintrust.dev/docs/cookbook/recipes/ReceiptExtraction.md) - [Generating release notes and hill-climbing to improve them](https://braintrust.dev/docs/cookbook/recipes/ReleaseNotes.md) - [Evaluating SimpleQA](https://braintrust.dev/docs/cookbook/recipes/SimpleQA.md) - [Optimizing Ragas to evaluate a RAG pipeline](https://braintrust.dev/docs/cookbook/recipes/SimpleRagas.md) - [Classifying spam using structured outputs](https://braintrust.dev/docs/cookbook/recipes/SpamClassifier.md) - [Building a deep research agent with Temporal](https://braintrust.dev/docs/cookbook/recipes/TemporalDeepResearch.md) - [Text-to-SQL](https://braintrust.dev/docs/cookbook/recipes/Text2SQL.md) - [LLM Eval For Text2SQL](https://braintrust.dev/docs/cookbook/recipes/Text2SQL-Data.md) - [Using Python functions to extract text from images](https://braintrust.dev/docs/cookbook/recipes/ToolOCR.md) - [Using functions to build a RAG agent](https://braintrust.dev/docs/cookbook/recipes/ToolRAG.md) - [Unreleased AI: A full stack Next.js app for generating changelogs](https://braintrust.dev/docs/cookbook/recipes/UnreleasedAI.md) - [Tracing Vercel AI SDK applications](https://braintrust.dev/docs/cookbook/recipes/VercelAISDKTracing.md) - [Evaluating video QA](https://braintrust.dev/docs/cookbook/recipes/VideoQA.md) - [Evaluating video QA with Twelve Labs](https://braintrust.dev/docs/cookbook/recipes/VideoQATwelveLabs.md) - [Evaluating a voice agent](https://braintrust.dev/docs/cookbook/recipes/VoiceAgent.md) - [Evaluating a web agent](https://braintrust.dev/docs/cookbook/recipes/WebAgent.md) - [Self-hosting releases](https://braintrust.dev/docs/data-plane-changelog.md): Release notes and infrastructure requirements for self-hosted Braintrust deployments - [Use the proxy (deprecated)](https://braintrust.dev/docs/deploy/ai-proxy.md): Call any AI provider through a unified interface (deprecated, use the gateway instead) - [Manage environments](https://braintrust.dev/docs/deploy/environments.md): Separate dev, staging, and production configurations - [Deploy functions](https://braintrust.dev/docs/deploy/functions.md): Deploy tools, scorers, and workflows to production - [Use the Braintrust gateway](https://braintrust.dev/docs/deploy/gateway.md): Route requests to any AI provider through a unified LLM API - [Deploy](https://braintrust.dev/docs/deploy/index.md): Ship your AI applications to production with confidence - [Monitor deployments](https://braintrust.dev/docs/deploy/monitor.md): Track production performance and errors - [Deploy prompts](https://braintrust.dev/docs/deploy/prompts.md): Ship and version prompts in production - [Stream responses](https://braintrust.dev/docs/deploy/streaming.md): Return incremental responses from prompts and functions - [Supported models](https://braintrust.dev/docs/deploy/supported-models.md): Models available through the Braintrust gateway - [Autoevals](https://braintrust.dev/docs/evaluate/autoevals.md): Use pre-built, battle-tested scorers for common evaluation tasks like factuality checking, semantic similarity, and format validation. - [Evaluation best practices](https://braintrust.dev/docs/evaluate/best-practices.md): Build evaluations that produce reliable, actionable signals. Learn how to structure datasets, write effective scorers, and avoid common pitfalls. - [Compare experiments](https://braintrust.dev/docs/evaluate/compare-experiments.md): Identify which test cases improved or regressed between runs. Set a baseline experiment to align test cases and compare score deltas side by side. - [Custom code scorers](https://braintrust.dev/docs/evaluate/custom-code.md): Write evaluation logic in TypeScript, Python, or Ruby with full control over scoring algorithms, business rules, and pattern matching. - [Evaluate systematically](https://braintrust.dev/docs/evaluate/index.md): Measure AI application quality, detect regressions before they reach production, and build confidence that your system is improving over time. - [Interpret evaluation results](https://braintrust.dev/docs/evaluate/interpret-results.md): Diagnose where your AI system is underperforming and understand why. Drill into traces, score distributions, and individual test cases to find actionable improvement opportunities. - [LLM-as-a-judge scorers](https://braintrust.dev/docs/evaluate/llm-as-a-judge.md): Use language models to evaluate AI outputs based on natural language criteria like tone, helpfulness, or creativity. - [Iterate in playgrounds](https://braintrust.dev/docs/evaluate/playgrounds.md): Prototype prompts, swap models, and test scorers interactively. Validate ideas quickly in the browser before committing to a full evaluation experiment. - [Evaluate reasoning models](https://braintrust.dev/docs/evaluate/reasoning.md): Configure thinking budgets, capture intermediate reasoning traces, and score final outputs for models like OpenAI o4, Claude, and Gemini that think before responding. - [Remote evals and sandboxes](https://braintrust.dev/docs/evaluate/remote-evals.md): Connect custom agent code to a playground, run it in a sandbox, and test complex agents interactively without modifying your deployed code. - [Create experiments](https://braintrust.dev/docs/evaluate/run-evaluations.md): Run evaluations in code, the UI, or CI/CD and capture results as immutable experiment snapshots you can compare over time and share with your team. - [Score production traces](https://braintrust.dev/docs/evaluate/score-online.md): Get continuous quality monitoring on every production request. Evaluations run asynchronously in the background without adding latency to your application. - [Create evaluation parameters](https://braintrust.dev/docs/evaluate/write-parameters.md): Store configurable settings as versioned parameters and reference them across experiments, prompts, and environments without hardcoding values in your code. - [Create prompts](https://braintrust.dev/docs/evaluate/write-prompts.md): Version and deploy prompts independently of your code. Test changes in the playground and roll out to specific environments without redeploying your application. - [Measure output quality with scorers](https://braintrust.dev/docs/evaluate/write-scorers.md): Build scorers to measure AI output quality in experiments and production. Choose from autoevals, LLM-as-judge, and custom code scorer types. - [Evaluation quickstart](https://braintrust.dev/docs/evaluation-quickstart.md): Systematically measure AI quality. Compare approaches, catch regressions before deployment, and validate improvements with data instead of intuition. - [Get started with Braintrust](https://braintrust.dev/docs/index.md) - [Advanced tracing patterns](https://braintrust.dev/docs/instrument/advanced-tracing.md): Implement distributed tracing across services, mask sensitive data, customize span rendering, and tune performance for high-throughput AI applications. - [Log attachments](https://braintrust.dev/docs/instrument/attachments.md): Attach images, audio, PDFs, and other binary files to traces and experiments to review multimodal inputs and outputs in context. - [Instrument your application](https://braintrust.dev/docs/instrument/index.md): Add tracing to your AI application to capture LLM calls, application logic, and user feedback — the foundation for observability and evaluation. - [Trace application logic](https://braintrust.dev/docs/instrument/trace-application-logic.md): Trace retrieval steps, tool calls, preprocessing, and business logic in spans to get full end-to-end visibility into your AI application's behavior. - [Trace LLM calls](https://braintrust.dev/docs/instrument/trace-llm-calls.md): Enable auto-instrumentation once and every call to a supported AI provider is logged — inputs, outputs, latency, token usage, and costs. - [Capture user feedback](https://braintrust.dev/docs/instrument/user-feedback.md): Attach ratings, corrections, and comments from users to traces to measure real-world quality and power feedback-driven evaluations. - [AgentScope](https://braintrust.dev/docs/integrations/agent-frameworks/agentscope.md) - [Autogen](https://braintrust.dev/docs/integrations/agent-frameworks/autogen.md) - [Claude Agent SDK](https://braintrust.dev/docs/integrations/agent-frameworks/claude-agent-sdk.md) - [CrewAI](https://braintrust.dev/docs/integrations/agent-frameworks/crew-ai.md) - [Google ADK (Agent Development Kit)](https://braintrust.dev/docs/integrations/agent-frameworks/google.md): Trace Google ADK agents in Braintrust to debug prompts, tool calls, and multi-step reasoning - [LangGraph](https://braintrust.dev/docs/integrations/agent-frameworks/langgraph.md) - [LiveKit Agents](https://braintrust.dev/docs/integrations/agent-frameworks/livekit-agents.md) - [Mastra](https://braintrust.dev/docs/integrations/agent-frameworks/mastra.md) - [OpenAI Agents SDK](https://braintrust.dev/docs/integrations/agent-frameworks/openai-agents-sdk.md): Trace OpenAI Agents SDK with Braintrust - [OpenRouter Agent](https://braintrust.dev/docs/integrations/agent-frameworks/openrouter-agent.md): Trace OpenRouter Agent calls with Braintrust - [Pydantic AI](https://braintrust.dev/docs/integrations/agent-frameworks/pydantic-ai.md) - [Strands Agent SDK](https://braintrust.dev/docs/integrations/agent-frameworks/strands-agent.md) - [Anthropic](https://braintrust.dev/docs/integrations/ai-providers/anthropic.md): Anthropic model provider configuration and integration guide - [Azure AI Foundry](https://braintrust.dev/docs/integrations/ai-providers/azure.md): Use Azure AI Foundry with Braintrust to access OpenAI models and the full Azure model catalog - [Baseten](https://braintrust.dev/docs/integrations/ai-providers/baseten.md): Baseten model provider configuration and integration guide - [AWS Bedrock](https://braintrust.dev/docs/integrations/ai-providers/bedrock.md): Trace AWS Bedrock SDK calls and use Bedrock models in Braintrust - [Cerebras](https://braintrust.dev/docs/integrations/ai-providers/cerebras.md): Cerebras model provider configuration and integration guide - [Cohere](https://braintrust.dev/docs/integrations/ai-providers/cohere.md): Trace Cohere SDK calls in Braintrust to debug prompts, evaluate models, and monitor production usage - [Custom providers](https://braintrust.dev/docs/integrations/ai-providers/custom.md): Set up custom AI providers with Braintrust for evaluation and tracing - [Databricks](https://braintrust.dev/docs/integrations/ai-providers/databricks.md): Configure Databricks Model Serving to access foundation models - [Fireworks](https://braintrust.dev/docs/integrations/ai-providers/fireworks.md): Fireworks AI model provider configuration and integration guide - [Gemini](https://braintrust.dev/docs/integrations/ai-providers/gemini.md): Google Gemini model provider configuration and integration guide - [Google Vertex AI](https://braintrust.dev/docs/integrations/ai-providers/google.md): Configure Google Cloud Vertex AI in Braintrust to access Google and partner models - [Groq](https://braintrust.dev/docs/integrations/ai-providers/groq.md): Groq model provider configuration and integration guide - [Hugging Face](https://braintrust.dev/docs/integrations/ai-providers/huggingface.md): Trace Hugging Face Inference SDK calls in Braintrust to debug prompts, evaluate models, and monitor production usage - [AI providers](https://braintrust.dev/docs/integrations/ai-providers/index.md): AI provider configuration - [Lepton](https://braintrust.dev/docs/integrations/ai-providers/lepton.md): Lepton AI model provider configuration and integration guide - [Mistral](https://braintrust.dev/docs/integrations/ai-providers/mistral.md): Trace Mistral with Braintrust - [OpenAI](https://braintrust.dev/docs/integrations/ai-providers/openai.md): OpenAI model provider configuration and integration guide - [OpenRouter](https://braintrust.dev/docs/integrations/ai-providers/openrouter.md): Trace OpenRouter SDK calls with Braintrust - [Perplexity](https://braintrust.dev/docs/integrations/ai-providers/perplexity.md): Perplexity AI model provider configuration and integration guide - [Replicate](https://braintrust.dev/docs/integrations/ai-providers/replicate.md): Replicate model provider configuration and integration guide - [Together](https://braintrust.dev/docs/integrations/ai-providers/together.md): Together AI model provider configuration and integration guide - [xAI](https://braintrust.dev/docs/integrations/ai-providers/xai.md): xAI model provider configuration and integration guide - [Claude Code](https://braintrust.dev/docs/integrations/developer-tools/claude-code.md) - [Claude Desktop](https://braintrust.dev/docs/integrations/developer-tools/claude-desktop.md) - [Codex](https://braintrust.dev/docs/integrations/developer-tools/codex.md) - [Cursor](https://braintrust.dev/docs/integrations/developer-tools/cursor.md) - [Braintrust MCP](https://braintrust.dev/docs/integrations/developer-tools/mcp.md): Access Braintrust from AI coding tools - [OpenCode](https://braintrust.dev/docs/integrations/developer-tools/opencode.md) - [pi](https://braintrust.dev/docs/integrations/developer-tools/pi.md) - [VS Code](https://braintrust.dev/docs/integrations/developer-tools/vscode.md) - [Windsurf](https://braintrust.dev/docs/integrations/developer-tools/windsurf.md) - [Integrations](https://braintrust.dev/docs/integrations/index.md): Connect Braintrust with your AI providers and frameworks - [Agno](https://braintrust.dev/docs/integrations/sdk-integrations/agno.md) - [Apollo GraphQL](https://braintrust.dev/docs/integrations/sdk-integrations/apollo-graphql.md) - [Cloudflare](https://braintrust.dev/docs/integrations/sdk-integrations/cloudflare.md): Trace AI requests through Cloudflare AI Gateway with Braintrust - [CloudWeGo Eino](https://braintrust.dev/docs/integrations/sdk-integrations/cloudwego-eino.md): Trace CloudWeGo Eino LLM applications with Braintrust - [DSPy](https://braintrust.dev/docs/integrations/sdk-integrations/dspy.md): Trace DSPy with Braintrust - [Firebase Genkit](https://braintrust.dev/docs/integrations/sdk-integrations/firebase-genkit.md): Trace Firebase Genkit calls in Braintrust to debug prompts, evaluate models, and monitor production usage - [SDK integrations](https://braintrust.dev/docs/integrations/sdk-integrations/index.md): Integrate with existing frameworks - [Instructor](https://braintrust.dev/docs/integrations/sdk-integrations/instructor.md) - [LangChain](https://braintrust.dev/docs/integrations/sdk-integrations/langchain.md): Trace LangChain applications in Braintrust to debug prompts, evaluate models, and monitor production usage - [LangSmith](https://braintrust.dev/docs/integrations/sdk-integrations/langsmith.md): Integrate LangSmith tracing and evaluations with Braintrust - [LiteLLM](https://braintrust.dev/docs/integrations/sdk-integrations/litellm.md) - [LlamaIndex](https://braintrust.dev/docs/integrations/sdk-integrations/llamaindex.md) - [Node.js test runner](https://braintrust.dev/docs/integrations/sdk-integrations/node-test-runner.md) - [OpenTelemetry (OTel)](https://braintrust.dev/docs/integrations/sdk-integrations/opentelemetry.md) - [Pytest](https://braintrust.dev/docs/integrations/sdk-integrations/pytest.md) - [RubyLLM](https://braintrust.dev/docs/integrations/sdk-integrations/ruby-llm.md) - [Temporal](https://braintrust.dev/docs/integrations/sdk-integrations/temporal.md): Trace Temporal workflows and activities with Braintrust - [TraceLoop](https://braintrust.dev/docs/integrations/sdk-integrations/traceloop.md) - [TrueFoundry](https://braintrust.dev/docs/integrations/sdk-integrations/truefoundry.md): Export LLM traces from TrueFoundry AI Gateway to Braintrust - [Vercel](https://braintrust.dev/docs/integrations/sdk-integrations/vercel.md) - [Vitest](https://braintrust.dev/docs/integrations/sdk-integrations/vitest.md) - [500 error when iterating over a dataset](https://braintrust.dev/docs/kb/500-error-when-iterating-over-a-dataset.md) - [Access UI parameters in remote eval tasks](https://braintrust.dev/docs/kb/access-ui-parameters-in-remote-eval-tasks.md) - [Accessing log attachments in Python scorers](https://braintrust.dev/docs/kb/accessing-log-attachments-in-python-scorers.md) - [Add custom measures to monitoring charts](https://braintrust.dev/docs/kb/add-custom-measures-to-monitoring-charts.md) - [Add tags to scorers using API instead of SDK](https://braintrust.dev/docs/kb/add-tags-to-scorers-using-api-instead-of-sdk.md) - [Add to dataset captures root span only](https://braintrust.dev/docs/kb/add-to-dataset-captures-root-span-only.md) - [AI Proxy audio compression with x-bt-compress-audio](https://braintrust.dev/docs/kb/ai-proxy-audio-compression-with-x.md) - [Alert aggregation not supported for error rates](https://braintrust.dev/docs/kb/alert-aggregation-not-supported-for-error-rates.md) - [API rate limits during backfill operations](https://braintrust.dev/docs/kb/api-rate-limits-during-backfill-operations.md) - [API URL configuration conflicts in self-hosted deployments](https://braintrust.dev/docs/kb/api-url-configuration-conflicts-in-self.md) - [Apply log retention policies across all projects via API](https://braintrust.dev/docs/kb/apply-log-retention-policies-across-all-projects-via-api.md) - [Attaching debuggers to Braintrust eval CLI](https://braintrust.dev/docs/kb/attaching-debuggers-to-braintrust-eval-cli.md) - [AWS Bedrock IAM permissions for Braintrust integration](https://braintrust.dev/docs/kb/aws-bedrock-iam-permissions-for-braintrust-integration.md) - [Bedrock authorization errors with regional access](https://braintrust.dev/docs/kb/bedrock-authorization-errors-with-regional-access.md) - [Bedrock model variations for on-demand throughput](https://braintrust.dev/docs/kb/bedrock-model-variations-for-on-demand-throughput.md) - [Blank comparison rows due to mismatched inputs](https://braintrust.dev/docs/kb/blank-comparison-rows-due-to-mismatched-inputs.md) - [Blank iframe requires console log inspection](https://braintrust.dev/docs/kb/blank-iframe-requires-console-log-inspection.md) - [How multi-reviewer scoring works in human review](https://braintrust.dev/docs/kb/blind-multi-reviewer-scoring-not-supported-in-ui.md) - [Brainstore OOM errors and retry-induced rate limits](https://braintrust.dev/docs/kb/brainstore-oom-errors-and-retry-induced-rate-limits.md) - [BTQL Filter Not Applied to All Results: Understanding traces vs spans in project_logs Queries](https://braintrust.dev/docs/kb/btql-filter-not-applied-to-all-results-understanding-traces-vs-spans-in-project-logs-queries.md) - [BTQL POST endpoint payload and response schema](https://braintrust.dev/docs/kb/btql-post-endpoint-payload-and-response-schema.md) - [BTQL rate limits on free and pro plans](https://braintrust.dev/docs/kb/btql-rate-limits-on-free-and-pro-plans.md) - [BTQL summary queries fail with signBlob permission error](https://braintrust.dev/docs/kb/btql-summary-queries-fail-with-signblob-permission-error.md) - [Chart not visible after creation on monitoring page](https://braintrust.dev/docs/kb/chart-not-visible-after-creation-on-monitoring-page.md) - [Check data plane version in self-hosted deployments](https://braintrust.dev/docs/kb/check-data-plane-version-in-self.md) - [Claude Desktop MCP OAuth Failures](https://braintrust.dev/docs/kb/claude-desktop-mcp-oauth-failures.md) - [Claude Desktop MCP streaming connection failures](https://braintrust.dev/docs/kb/claude-desktop-mcp-streaming-connection-failures.md) - [CloudFront 403 errors during evaluator invocation](https://braintrust.dev/docs/kb/cloudfront-403-errors-during-evaluator-invocation.md) - [Code scorer fails with pagination key error](https://braintrust.dev/docs/kb/code-scorer-fails-with-pagination-key-error.md) - [Code scorer function must be named handler](https://braintrust.dev/docs/kb/code-scorer-function-must-be-named-handler.md) - [Config guides](https://braintrust.dev/docs/kb/config-guides.md): Set up features, configure integrations, and enable capabilities - [Configure custom model costs for estimation](https://braintrust.dev/docs/kb/configure-custom-model-costs-for-estimation.md) - [Configure dataset schemas via API](https://braintrust.dev/docs/kb/configure-dataset-schemas-via-api.md) - [Configure default groups for Google SSO users](https://braintrust.dev/docs/kb/configure-default-groups-for-google-sso-users.md) - [Configure human review visibility in dataset views](https://braintrust.dev/docs/kb/configure-human-review-visibility-in-dataset-views.md) - [Configure MCP server with self-hosted data plane](https://braintrust.dev/docs/kb/configure-mcp-server-with-self-hosted-data-plane.md) - [Configure root span filter for online scoring](https://braintrust.dev/docs/kb/configure-root-span-filter-for-online-scoring.md) - [Configure scorer pass threshold via API](https://braintrust.dev/docs/kb/configure-scorer-pass-threshold-via-api.md) - [Controlling Concurrency to Prevent Resource Exhaustion](https://braintrust.dev/docs/kb/controlling-concurrency-to-prevent-resource-exhaustion.md) - [COUNT(DISTINCT) in GROUP BY returns row count](https://braintrust.dev/docs/kb/count-distinct-in-group-by-returns-row-count.md) - [Create monitoring dashboards with organization permissions](https://braintrust.dev/docs/kb/create-monitoring-dashboards-with-organization-permissions.md) - [Creating permalinks to log events via API](https://braintrust.dev/docs/kb/creating-permalinks-to-log-events-via-api.md) - [Creating prompts with encoded custom provider model names](https://braintrust.dev/docs/kb/creating-prompts-with-custom-provider-model-names.md) - [Custom view code cannot use package imports](https://braintrust.dev/docs/kb/custom-view-code-cannot-use-package-imports.md) - [Customizing experiment names in the SDK](https://braintrust.dev/docs/kb/customizing-experiment-names-in-the-sdk.md) - [Customizing Monitoring Views: Removing Charts and Managing View Layouts](https://braintrust.dev/docs/kb/customizing-monitoring-views-removing-charts-and-managing-view-layouts.md) - [Dashboard logs missing due to span name schema error](https://braintrust.dev/docs/kb/dashboard-logs-missing-due-to-span.md) - [Dataset format for system and user prompts](https://braintrust.dev/docs/kb/dataset-format-for-system-and-user-prompts.md) - [Rows not attached to a dataset or experiment](https://braintrust.dev/docs/kb/dataset-not-linked-to-experiment-when-using-evalasync-with-parent.md) - [Dataset search limited to 1000 records](https://braintrust.dev/docs/kb/dataset-search-limited-to-1000-records.md) - [Debug hanging eval processes with external dependencies](https://braintrust.dev/docs/kb/debug-hanging-eval-processes-with-external.md) - [Defining response schema in prompts.create()](https://braintrust.dev/docs/kb/defining-response-schema-in-promptscreate.md) - [Detecting Remote Eval and CLI Execution Context: SDK Hooks and Environment Variables](https://braintrust.dev/docs/kb/detecting-remote-eval-and-cli-execution-context-sdk-hooks-and-environment-variables.md) - [Duplicate a prompt in Braintrust](https://braintrust.dev/docs/kb/duplicate-a-prompt-in-braintrust.md) - [Edit Topics automation sampling rate after setup](https://braintrust.dev/docs/kb/edit-topics-automation-sampling-rate-after-setup.md) - [EMFILE Error (Too Many Open Files) During Evaluations: Controlling Concurrency to Prevent Resource Exhaustion](https://braintrust.dev/docs/kb/emfile-error-too-many-open-files-during-evaluations-controlling-concurrency-to-prevent-resource-exhaustion.md) - [Emit traces to multiple projects simultaneously](https://braintrust.dev/docs/kb/emit-traces-to-multiple-projects-simultaneously.md) - [Empty traces with flush race conditions](https://braintrust.dev/docs/kb/empty-traces-with-flush-race-conditions.md) - [Eval timeout errors for initial scorers](https://braintrust.dev/docs/kb/eval-timeout-errors-for-initial-scorers.md) - [Experiment Fetch Limited to 1000 Events - Export All](https://braintrust.dev/docs/kb/experiment-fetch-limited-to-1000-events.md) - [Export all experiment events using BTQL pagination](https://braintrust.dev/docs/kb/export-all-experiment-events-using-btql-pagination.md) - [Export missing child spans](https://braintrust.dev/docs/kb/export-missing-child-spans.md) - [Failed to fetch full trace in data plane](https://braintrust.dev/docs/kb/failed-to-fetch-full-trace-in-data-plane.md) - [Fetching human review comments via API and BTQL](https://braintrust.dev/docs/kb/fetching-human-review-comments-via-api-and-btql.md) - [File attachment support across models](https://braintrust.dev/docs/kb/file-attachment-support-across-models.md) - [Filter logs by tags and scores with ANY_SPAN](https://braintrust.dev/docs/kb/filter-logs-by-tags-and-scores-with-any_span.md) - [Model cost missing when using third-party SDKs](https://braintrust.dev/docs/kb/fireworks-cost-missing-when-using-vercel-ai-sdk.md) - [Flagging logs and users for review via API](https://braintrust.dev/docs/kb/flagging-logs-and-users-for-review-via-api.md) - [Flagging users for review via API](https://braintrust.dev/docs/kb/flagging-users-for-review-via-api.md) - [GCP checksum mismatch errors after data plane upgrade to v1.1.32](https://braintrust.dev/docs/kb/gcp-checksum-mismatch-after-data-plane-upgrade.md) - [GCS Brainstore rate limit errors and retries](https://braintrust.dev/docs/kb/gcs-brainstore-rate-limit-errors-and-retries.md) - [Generate stable experiment permalinks](https://braintrust.dev/docs/kb/generate-stable-experiment-permalinks.md) - [Grouping logs by field in UI requires SQL sandbox](https://braintrust.dev/docs/kb/grouping-logs-by-field-in-ui-requires-sql-sandbox.md) - [How to configure OpenAI for EU organizations](https://braintrust.dev/docs/kb/how-to-configure-openai-for-eu-organizations-1776438526526.md) - [How to duplicate views across projects](https://braintrust.dev/docs/kb/how-to-duplicate-views-across-projects.md) - [How to Find and Use Self-Hosted Data Plane API Endpoints](https://braintrust.dev/docs/kb/how-to-find-and-use-self-hosted-data-plane-api-endpoints.md) - [How to Save Custom Instructions for Loop Using Project](https://braintrust.dev/docs/kb/how-to-save-custom-instructions-for.md) - [HTTP 421 errors with self-hosted data planes](https://braintrust.dev/docs/kb/http-421-errors-with-self-hosted-data-planes.md) - [Human review output format: string vs JSON](https://braintrust.dev/docs/kb/human-review-output-format-string-vs-json.md) - [Human review visibility in experiment row view](https://braintrust.dev/docs/kb/human-review-visibility-in-experiment-row-view.md) - [Human review with multiple scores in expected field](https://braintrust.dev/docs/kb/human-review-with-multiple-scores-in.md) - [Knowledge Base](https://braintrust.dev/docs/kb/index.md): Troubleshooting guides, configuration instructions, and system documentation - [Internal Server Error: No Secrets Match ORG_NAME in](https://braintrust.dev/docs/kb/internal-server-error-no-secrets-match.md) - [Java SDK proxy configuration with authentication](https://braintrust.dev/docs/kb/java-sdk-proxy-configuration-with-authentication.md) - [Kubernetes Readiness Probe Hangs on /status Endpoint](https://braintrust.dev/docs/kb/kubernetes-readiness-probe-hangs-on-status.md) - [Large experiment downloads timeout in UI](https://braintrust.dev/docs/kb/large-experiment-downloads-timeout-in-ui.md) - [Log filtering with large user ID sets](https://braintrust.dev/docs/kb/log-filtering-with-large-user-id-sets.md) - [Log token metrics to @traced spans manually](https://braintrust.dev/docs/kb/log-token-metrics-to-traced-spans-manually.md) - [Log user feedback selectively with init_logger](https://braintrust.dev/docs/kb/log-user-feedback-selectively-with-init-logger.md) - [Logger and experiment span parent type mismatch error](https://braintrust.dev/docs/kb/logger-and-experiment-span-parent-type-mismatch-error.md) - [Logs not opening due to checksum instability](https://braintrust.dev/docs/kb/logs-not-opening-due-to-checksum-instability.md) - [Logs stopped after Brainstore platform update](https://braintrust.dev/docs/kb/logs-stopped-after-brainstore-platform-update.md) - [Loop models require Anthropic API key, not just Bedrock](https://braintrust.dev/docs/kb/loop-models-require-anthropic-api-key-not-just-bedrock.md) - [Loop security model and user permissions](https://braintrust.dev/docs/kb/loop-security-model-and-user-permissions.md) - [Managing Prompt Updates in Production: Environment Tags](https://braintrust.dev/docs/kb/managing-prompt-updates-in-production-environment.md) - [Managing your organization's support requests](https://braintrust.dev/docs/kb/managing-your-organizations-support-requests.md) - [Metadata filtering in custom views shows partial data](https://braintrust.dev/docs/kb/metadata-filtering-in-custom-views-shows.md) - [Missing classification values from automated scorer](https://braintrust.dev/docs/kb/missing-classification-values-from-automated-scorer.md) - [Missing scorers in automation rules editor](https://braintrust.dev/docs/kb/missing-scorers-in-automation-rules-editor.md) - [Navigate and filter metadata arrays by index](https://braintrust.dev/docs/kb/navigate-and-filter-metadata-arrays-by-index.md) - [Nested LLM call counting discrepancy](https://braintrust.dev/docs/kb/nested-llm-call-counting-discrepancy.md) - [No export-only permission in Braintrust ACL model](https://braintrust.dev/docs/kb/no-export-only-permission-in-braintrust-acl-model.md) - [Online scorer deduplication with concurrent feedback](https://braintrust.dev/docs/kb/online-scorer-deduplication-with-concurrent-feedback.md) - [Online Scorers Not Finding Production Traces: Time-Based Filter Issues and Query Best Practices](https://braintrust.dev/docs/kb/online-scorers-not-finding-production-traces-time-based-filter-issues-and-query-best-practices.md) - [Online Scoring Results Not Visible in UI: Understanding Async Scoring and Alert Timing](https://braintrust.dev/docs/kb/online-scoring-results-not-visible-in-ui-understanding-async-scoring-and-alert-timing.md) - [Online scoring rule failing after SDK update](https://braintrust.dev/docs/kb/online-scoring-rule-failing-after-sdk-update.md) - [Open trace URLs in a specific view mode](https://braintrust.dev/docs/kb/open-trace-urls-in-a-specific-view-mode.md) - [Optimize large trace logging with attachments](https://braintrust.dev/docs/kb/optimize-large-trace-logging-with-attachments.md) - [Org-wide API key auditing is UI-only](https://braintrust.dev/docs/kb/org-wide-api-key-auditing-is-ui-only.md) - [Override custom providers at project level](https://braintrust.dev/docs/kb/override-custom-providers-at-project-level.md) - [Project-level permission groups do not grant cross-project scorer access](https://braintrust.dev/docs/kb/permission-group-not-working-project-level.md) - [Playground timeout with long-running model requests](https://braintrust.dev/docs/kb/playground-timeout-with-long-running-model.md) - [Populate project names in list prompts API](https://braintrust.dev/docs/kb/populate-project-names-in-list-prompts-api.md) - [Process & systems](https://braintrust.dev/docs/kb/process-systems.md): Understand system behavior and technical architecture - [Project Disappeared or Inaccessible: Data Recovery and](https://braintrust.dev/docs/kb/project-disappeared-or-inaccessible-data-recovery.md) - [Project permission levels and user access control](https://braintrust.dev/docs/kb/project-permission-levels-and-user-access-control.md) - [Project-scoped access with service tokens](https://braintrust.dev/docs/kb/project-scoped-access-with-service-tokens.md) - [Promoting Prompts Across Environments via API: Complete Workflow for Dev, Staging, and Production](https://braintrust.dev/docs/kb/promoting-prompts-across-environments-via-api-complete-workflow-for-dev-staging-and-production.md) - [Prompt diff feature has 4096 character limit](https://braintrust.dev/docs/kb/prompt-diff-feature-has-4096-character-limit.md) - [Prompt shows None in experiment view](https://braintrust.dev/docs/kb/prompt-shows-none-in-experiment-view.md) - [How prompt version IDs work in Braintrust SDKs](https://braintrust.dev/docs/kb/prompt-version-returns-decimal-id-not-ui-hex-string.md) - [PydanticAI integration counts wrapper spans as LLM calls](https://braintrust.dev/docs/kb/pydanticai-integration-counts-wrapper-spans-as.md) - [Python SDK Docker containerization setup](https://braintrust.dev/docs/kb/python-sdk-docker-containerization-setup.md) - [Query multiple projects for combined metrics](https://braintrust.dev/docs/kb/query-multiple-projects-for-combined-metrics.md) - [Query scorer span token costs with SQL](https://braintrust.dev/docs/kb/query-scorer-span-token-costs-with-sql.md) - [Query timeout requires timestamp filter](https://braintrust.dev/docs/kb/query-timeout-requires-timestamp-filter.md) - [Rate limit error during dataset iteration](https://braintrust.dev/docs/kb/rate-limit-error-during-dataset-iteration.md) - [Re-running scorers without re-running tasks](https://braintrust.dev/docs/kb/re-running-scorers-without-re-running-tasks.md) - [Recovering deleted experiment rows with versioned BTQL queries](https://braintrust.dev/docs/kb/recovering-deleted-experiment-rows.md) - [Removing charts from the default "All Data" view](https://braintrust.dev/docs/kb/removing-charts-from-the-default-all-data-view.md) - [Restrict AI provider access using project permissions](https://braintrust.dev/docs/kb/restrict-ai-provider-access-using-project.md) - [Restrict user access to specific projects only](https://braintrust.dev/docs/kb/restrict-user-access-to-specific-projects-only.md) - [Review specific rows in Logs and Experiments](https://braintrust.dev/docs/kb/review-button-ignores-selected-rows-in-logs.md) - [Route requests to specific AI providers](https://braintrust.dev/docs/kb/route-requests-to-specific-ai-providers.md) - [Running Evaluations Per Git Commit: SHA-Based Experiment](https://braintrust.dev/docs/kb/running-evaluations-per-git-commit-sha.md) - [Scorer overwriting human review data with identical names](https://braintrust.dev/docs/kb/scorer-overwriting-human-review-data-with.md) - [Scorer template variable reference](https://braintrust.dev/docs/kb/scorer-template-variable-reference-1777485051181.md) - [Scores added via API not displaying in UI](https://braintrust.dev/docs/kb/scores-added-via-api-not-displaying-in-ui.md) - [SDK rate limits during dataset iteration](https://braintrust.dev/docs/kb/sdk-rate-limits-during-dataset-iteration.md) - [Search Timeout on Log Queries: CAST Operations in Custom](https://braintrust.dev/docs/kb/search-timeout-on-log-queries-cast.md) - [Securing remote eval endpoints: authentication and](https://braintrust.dev/docs/kb/securing-remote-eval-endpoints-authentication-and.md) - [Setting up SSO integration in Braintrust](https://braintrust.dev/docs/kb/setting-up-sso-integration-in-braintrust-1777472841602.md) - [Slack alert permissions in project settings](https://braintrust.dev/docs/kb/slack-alert-permissions-in-project-settings.md) - [Span Name Filtering Not Working on Monitoring Page:](https://braintrust.dev/docs/kb/span-name-filtering-not-working-on.md) - [SQL queries timeout when missing timestamp filter](https://braintrust.dev/docs/kb/sql-queries-timeout-when-missing-timestamp-filter.md) - [Stitch multi-turn chat into one trace with wrapAISDK](https://braintrust.dev/docs/kb/stitch-multi-turn-chat-into-one-trace-with-wrapaisdk.md) - [Tag filter dropdown missing tags from logged data](https://braintrust.dev/docs/kb/tag-filter-dropdown-missing-tags-from-logged-data.md) - [Temperature parameter error in prompt editor](https://braintrust.dev/docs/kb/temperature-parameter-error-in-prompt-editor.md) - [Temperature parameter included in GPT-5 prompts from SDK](https://braintrust.dev/docs/kb/temperature-parameter-included-in-gpt-5.md) - [Temperature parameter not supported in GPT-5 models](https://braintrust.dev/docs/kb/temperature-parameter-not-supported-in-gpt.md) - [Thread view span extraction and filtering](https://braintrust.dev/docs/kb/thread-view-span-extraction-and-filtering.md) - [Topics automation idle timeout and trace update behavior](https://braintrust.dev/docs/kb/topics-automation-idle-timeout-and-trace-update-behavior.md) - [Trace gaps when exported span context is not persisted across restarts](https://braintrust.dev/docs/kb/trace-gaps-when-parent-span-export-is-not-persisted-across-restarts.md) - [Tracing OpenAI Realtime API with WebSockets](https://braintrust.dev/docs/kb/tracing-openai-realtime-api-with-websockets.md) - [Transient JSONL.GZ files in S3 export bucket](https://braintrust.dev/docs/kb/transient-jsonl-gz-files-in-s3-export-bucket.md) - [Trial quota limits and monthly reset cycle](https://braintrust.dev/docs/kb/trial-quota-limits-and-monthly-reset-cycle.md) - [Troubleshooting 500 errors in self-hosted data planes](https://braintrust.dev/docs/kb/troubleshooting-500-errors-in-self-hosted.md) - [Troubleshooting guides](https://braintrust.dev/docs/kb/troubleshooting-guides.md): Resolve errors, debug issues, and fix common problems - [Troubleshooting Organization Changes in Self-Hosted Data](https://braintrust.dev/docs/kb/troubleshooting-organization-changes-in-self-hosted.md) - [Troubleshooting Traces Stuck in Progress](https://braintrust.dev/docs/kb/troubleshooting-traces-stuck-in-progress.md) - [TypeScript SDK Eval Process Hangs After Completion: Debugging Open Handles and Resource Leaks](https://braintrust.dev/docs/kb/typescript-sdk-eval-process-hangs-after-completion-debugging-open-handles-and-resource-leaks.md) - [UI experiment timeout configuration for self-hosted k8s](https://braintrust.dev/docs/kb/ui-experiment-timeout-configuration-for-self-hosted-k8s.md) - [Understanding Brainstore query optimization warning logs](https://braintrust.dev/docs/kb/understanding-brainstore-query-optimization-warning-logs.md) - [Understanding BTQL SQL linter warnings](https://braintrust.dev/docs/kb/understanding-btql-sql-linter-warnings-1776885156256.md) - [Understanding Experiment Score Aggregation: Simple vs](https://braintrust.dev/docs/kb/understanding-experiment-score-aggregation-simple-vs.md) - [Understanding traces vs spans in SQL & BTQL queries](https://braintrust.dev/docs/kb/understanding-traces-vs-spans-in-sql-btql-queries.md) - [Understanding Update Project ACLs](https://braintrust.dev/docs/kb/understanding-update-project-acls.md) - [Update AWS Bedrock credentials using API](https://braintrust.dev/docs/kb/update-aws-bedrock-credentials-using-api.md) - [Use project IDs to prevent duplicate projects after rename](https://braintrust.dev/docs/kb/use-project-ids-to-prevent-duplicate-projects-after-rename.md) - [User Engagement Tracking](https://braintrust.dev/docs/kb/user-engagement-tracking.md) - [Using OpenAI Responses API with Braintrust SDKs](https://braintrust.dev/docs/kb/using-openai-responses-api-with-braintrust-sdks.md) - [wrapAISDK interleaved traces with concurrent calls](https://braintrust.dev/docs/kb/wrapaisdk-interleaved-traces-with-concurrent-calls.md) - [Loop agent](https://braintrust.dev/docs/loop.md): Use natural language to analyze logs, optimize prompts, build datasets, and more - [Monitor with dashboards](https://braintrust.dev/docs/observe/dashboards.md): Build custom dashboards to track request counts, latency, costs, scores, and other metrics across your logs and experiments over time. - [Deep search](https://braintrust.dev/docs/observe/deep-search.md): Find traces based on meaning rather than keywords. Deep search uses AI to surface relevant results even when traces don't contain your exact search terms. - [Examine traces](https://braintrust.dev/docs/observe/examine-traces.md): Open any trace to inspect its spans, inputs, outputs, and timing. Explore trace views, translate content, navigate origins, and share results. - [Filter and search logs](https://braintrust.dev/docs/observe/filter.md): Narrow down to exactly the traces you need using metadata filters, SQL queries, or the API. Pull out specific production data for debugging, analysis, or dataset creation. - [Observe your application](https://braintrust.dev/docs/observe/index.md): Turn every production request into a searchable trace. Filter, analyze, and drill into real-time data to identify issues and gather signal for improving your AI system. - [Discover insights with Topics](https://braintrust.dev/docs/observe/topics.md): Automatically classify patterns across your logs. Understand what users are asking, track how topics shift over time, and spot emerging issues. - [View your logs](https://braintrust.dev/docs/observe/view-logs.md): Browse and inspect production traces, create custom columns to surface relevant data, and organize logs with tags for faster triage and analysis. - [Plans and limits](https://braintrust.dev/docs/plans-and-limits.md): Choose the right Braintrust plan for your needs - [Autoevals Python API](https://braintrust.dev/docs/reference/autoevals/python/0.0.130/python.md): Python API reference for Autoevals v0.0.130 - [Autoevals Python API](https://braintrust.dev/docs/reference/autoevals/python/0.0.131/python.md): Python API reference for Autoevals v0.0.131 - [Autoevals Python API](https://braintrust.dev/docs/reference/autoevals/python/0.1.0/python.md): Python API reference for Autoevals v0.1.0 - [Autoevals TypeScript API](https://braintrust.dev/docs/reference/autoevals/typescript/0.0.131/typescript.md): TypeScript API reference for Autoevals v0.0.131 - [Autoevals TypeScript API](https://braintrust.dev/docs/reference/autoevals/typescript/0.0.132/typescript.md): TypeScript API reference for Autoevals v0.0.132 - [bt eval](https://braintrust.dev/docs/reference/cli/eval.md): Run JavaScript and Python evaluation files against Braintrust - [bt functions](https://braintrust.dev/docs/reference/cli/functions.md): Upload and download function definitions to and from Braintrust - [CLI overview](https://braintrust.dev/docs/reference/cli/overview.md): All bt commands, global flags, and environment variables - [CLI quickstart](https://braintrust.dev/docs/reference/cli/quickstart.md): Install the Braintrust CLI and start running evals, querying logs, and syncing data from your terminal - [bt setup](https://braintrust.dev/docs/reference/cli/setup.md): Configure coding agents and MCP for Braintrust - [bt sql](https://braintrust.dev/docs/reference/cli/sql.md): Run SQL queries against Braintrust from your terminal - [bt sync](https://braintrust.dev/docs/reference/cli/sync.md): Sync Braintrust logs, experiments, and datasets to and from local NDJSON files - [bt topics](https://braintrust.dev/docs/reference/cli/topics.md): Manage Topics automations and real-time message streams in Braintrust - [bt view](https://braintrust.dev/docs/reference/cli/view.md): Browse logs, traces, and spans in an interactive terminal UI - [Glossary](https://braintrust.dev/docs/reference/glossary.md) - [Reference](https://braintrust.dev/docs/reference/index.md): Technical reference for Braintrust SDKs, APIs, and SQL syntax - [Google ADK Integration](https://braintrust.dev/docs/reference/integrations/adk-py/0.2.4/adk-py.md): Braintrust integration for Google ADK v0.2.4 (deprecated) - [Google ADK Integration](https://braintrust.dev/docs/reference/integrations/adk-py/0.3.1/adk-py.md): Braintrust integration for Google ADK v0.3.1 (deprecated) - [Google ADK Integration](https://braintrust.dev/docs/reference/integrations/adk-py/0.4.0/adk-py.md): Braintrust integration for Google ADK v0.4.0 (deprecated) - [LangChain JS Integration](https://braintrust.dev/docs/reference/integrations/langchain-js/0.2.3/langchain-js.md): LangChain JS Integration v0.2.3 - [LangChain Python Integration](https://braintrust.dev/docs/reference/integrations/langchain-py/0.1.5/langchain-py.md): Braintrust integration for LangChain Python v0.1.5 (deprecated) - [LangChain Python Integration](https://braintrust.dev/docs/reference/integrations/langchain-py/0.2.0/langchain-py.md): Braintrust integration for LangChain Python v0.2.0 (deprecated) - [LangChain Python Integration](https://braintrust.dev/docs/reference/integrations/langchain-py/0.2.1/langchain-py.md): Braintrust integration for LangChain Python v0.2.1 (deprecated) - [OpenAI Agents JS Integration](https://braintrust.dev/docs/reference/integrations/openai-agents-js/0.1.5/openai-agents-js.md): OpenAI Agents JS Integration v0.1.5 - [OpenTelemetry JS Integration](https://braintrust.dev/docs/reference/integrations/otel-js/0.2.0/otel-js.md): OpenTelemetry JS Integration v0.2.0 - [Share via URL](https://braintrust.dev/docs/reference/object-links.md) - [C# SDK](https://braintrust.dev/docs/reference/sdks/csharp.md) - [Go SDK](https://braintrust.dev/docs/reference/sdks/go.md) - [Migrate from v0.3.x to v0.4.x](https://braintrust.dev/docs/reference/sdks/go/migrations/v0-3-to-v0-4.md): Guide for migrating from Go SDK v0.3.x to v0.4.x - [Java SDK](https://braintrust.dev/docs/reference/sdks/java.md) - [Kotlin SDK](https://braintrust.dev/docs/reference/sdks/kotlin.md) - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.10.0/python.md): Python API reference for Braintrust SDK v0.10.0 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.11.0/python.md): Python API reference for Braintrust SDK v0.11.0 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.12.1/python.md): Python API reference for Braintrust SDK v0.12.1 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.13.0/python.md): Python API reference for Braintrust SDK v0.13.0 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.14.0/python.md): Python API reference for Braintrust SDK v0.14.0 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.15.0/python.md): Python API reference for Braintrust SDK v0.15.0 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.16.0/python.md): Python API reference for Braintrust SDK v0.16.0 - [Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.3.15/python.md): Python API reference for Braintrust SDK v0.3.15 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.4.3/python.md): Python API reference for Braintrust SDK v0.4.3 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.5.6/python.md): Python API reference for Braintrust SDK v0.5.6 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.6.0/python.md): Python API reference for Braintrust SDK v0.6.0 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.7.0/python.md): Python API reference for Braintrust SDK v0.7.0 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.8.0/python.md): Python API reference for Braintrust SDK v0.8.0 - [Braintrust Python SDK](https://braintrust.dev/docs/reference/sdks/python/0.9.0/python.md): Python API reference for Braintrust SDK v0.9.0 - [Ruby SDK](https://braintrust.dev/docs/reference/sdks/ruby.md) - [TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/1.1.1/typescript.md): TypeScript API reference for Braintrust SDK v1.1.1 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/2.0.2/typescript.md): TypeScript API reference for Braintrust SDK v2.0.2 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/2.1.0/typescript.md): TypeScript API reference for Braintrust SDK v2.1.0 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/2.2.2/typescript.md): TypeScript API reference for Braintrust SDK v2.2.2 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/3.0.0/typescript.md): TypeScript API reference for Braintrust SDK v3.0.0 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/3.1.0/typescript.md): TypeScript API reference for Braintrust SDK v3.1.0 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/3.2.0/typescript.md): TypeScript API reference for Braintrust SDK v3.2.0 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/3.3.0/typescript.md): TypeScript API reference for Braintrust SDK v3.3.0 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/3.4.0/typescript.md): TypeScript API reference for Braintrust SDK v3.4.0 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/3.5.0/typescript.md): TypeScript API reference for Braintrust SDK v3.5.0 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/3.6.0/typescript.md): TypeScript API reference for Braintrust SDK v3.6.0 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/3.7.0/typescript.md): TypeScript API reference for Braintrust SDK v3.7.0 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/3.7.1/typescript.md): TypeScript API reference for Braintrust SDK v3.7.1 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/3.8.0/typescript.md): TypeScript API reference for Braintrust SDK v3.8.0 - [Braintrust TypeScript SDK](https://braintrust.dev/docs/reference/sdks/typescript/3.9.0/typescript.md): TypeScript API reference for Braintrust SDK v3.9.0 - [Migrate from v0.x to v1.x](https://braintrust.dev/docs/reference/sdks/typescript/migrations/v0-to-v1.md): Guide for migrating from TypeScript SDK v0.x to v1.x - [Migrate from v1.x to v2.x](https://braintrust.dev/docs/reference/sdks/typescript/migrations/v1-to-v2.md): Guide for migrating from TypeScript SDK v1.x to v2.x - [Migrate from v2.x to v3.x](https://braintrust.dev/docs/reference/sdks/typescript/migrations/v2-to-v3.md): Guide for migrating from TypeScript SDK v2.x to v3.x - [SQL queries](https://braintrust.dev/docs/reference/sql.md) - [Security](https://braintrust.dev/docs/security.md) - [Tracing quickstart](https://braintrust.dev/docs/tracing-quickstart.md): Capture and inspect your AI app's execution - [Braintrust workflow](https://braintrust.dev/docs/workflow.md): Understand how to trace, evaluate, and improve AI applications with Braintrust ## OpenAPI Specs - [openapi](https://braintrust.dev/docs/openapi.yaml)