Skip to main content

experiments

Creates, updates, deletes, gets or lists an experiments resource.

Overview

Nameexperiments
TypeResource
Iddatadog.llm_observability.experiments

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
idstringUnique identifier of the experiment. (example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012)
attributesobjectAttributes of an Agent Observability experiment.
typestringResource type of an Agent Observability experiment. (experiments) (example: experiments)

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
list_llmobs_experimentsselectfilter[project_id], filter[dataset_id], filter[id], filter[name], filter[experiment], filter[metadata], filter[parent_experiment_id], filter[is_deleted], include[user_data], include[dataset_names], page[cursor], page[limit]List all Agent Observability experiments sorted by creation date, newest first.
create_llmobs_experimentinsertdataCreate a new Agent Observability experiment.
update_llmobs_experimentupdateexperiment_id, dataPartially update an existing Agent Observability experiment.
aggregate_llmobs_experimentationexecdataExecute an analytics aggregation over Agent Observability experimentation data.<br />Use this endpoint to compute metrics (for example average eval scores) grouped by fields such as span_id or experiment_id.<br /><br />At least one compute definition and one index must be provided.
search_llmobs_experimentationexecdataSearch across Agent Observability experimentation entities — projects, datasets, dataset records, experiments, and experiment runs — using cursor-based pagination.<br /><br />The filter.scope field controls which entity types are returned. At least one valid scope must be provided.<br /><br />Returns 200 OK when all results fit in a single page. Returns 206 Partial Content with a cursor in meta.after when additional pages are available.
simple_search_llmobs_experimentationexecdataSearch across Agent Observability experimentation entities using offset-based (page-number) pagination.<br />Use this endpoint when you need total page count or want to navigate to a specific page number.<br /><br />The filter.scope field controls which entity types are returned. At least one valid scope must be provided.
delete_llmobs_experimentsexecdataDelete one or more Agent Observability experiments.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
experiment_idstringThe ID of the Agent Observability experiment. (example: 3fd6b5e0-8910-4b1c-a7d0-5b84de329012)
sitestringThe Datadog site (region) for your organization, for example datadoghq.com, us3.datadoghq.com, us5.datadoghq.com, ap1.datadoghq.com, ap2.datadoghq.com, datadoghq.eu, ddog-gov.com. Resolved from the DD_SITE environment variable when set. Optional: defaults to datadoghq.com, or the value of the DD_SITE environment variable when set; a WHERE value overrides both.
filter[dataset_id]stringFilter experiments by dataset ID.
filter[experiment]stringFilter by logical experiment name. This is the name field set when creating an experiment through POST /experiments. Returns all experiment runs that share the same name, enabling cross-commit and cross-branch comparisons.
filter[id]stringFilter experiments by experiment ID. Can be specified multiple times.
filter[is_deleted]booleanWhen true, return only soft-deleted experiments. Defaults to false.
filter[metadata]stringFilter by JSONB metadata containment. Provide a JSON object string where experiments whose metadata contains all specified key-value pairs are returned. For example: &#123;"commit":"abc123","branch":"main"&#125;.
filter[name]stringFilter experiments by their exact run name.
filter[parent_experiment_id]stringFilter experiments by the ID of their parent (baseline) experiment. Returns all experiments that were run against the given baseline. Can be specified multiple times.
filter[project_id]stringFilter experiments by project ID. Required if filter&#91;dataset_id&#93; is not provided.
include[dataset_names]booleanWhen true, enrich each experiment with its dataset name in the dataset_name field.
include[user_data]booleanWhen true, enrich each experiment with its author's user data in the author field.
page[cursor]stringUse the pagination cursor returned in meta.after to retrieve the next page of results.
page[limit]integer (int64)Maximum number of results to return per page. Values above 5000 are clamped to 5000. Defaults to 5000.

SELECT examples

List all Agent Observability experiments sorted by creation date, newest first.

SELECT
id,
attributes,
type
FROM datadog.llm_observability.experiments
WHERE filter[project_id] = '{{ filter[project_id] }}'
AND filter[dataset_id] = '{{ filter[dataset_id] }}'
AND filter[id] = '{{ filter[id] }}'
AND filter[name] = '{{ filter[name] }}'
AND filter[experiment] = '{{ filter[experiment] }}'
AND filter[metadata] = '{{ filter[metadata] }}'
AND filter[parent_experiment_id] = '{{ filter[parent_experiment_id] }}'
AND filter[is_deleted] = '{{ filter[is_deleted] }}'
AND include[user_data] = '{{ include[user_data] }}'
AND include[dataset_names] = '{{ include[dataset_names] }}'
AND page[cursor] = '{{ page[cursor] }}'
AND page[limit] = '{{ page[limit] }}'
;

INSERT examples

Create a new Agent Observability experiment.

INSERT INTO datadog.llm_observability.experiments (
data
)
SELECT
'{{ data }}' /* required */
RETURNING
data
;

UPDATE examples

Partially update an existing Agent Observability experiment.

UPDATE datadog.llm_observability.experiments
SET
data = '{{ data }}'
WHERE
experiment_id = '{{ experiment_id }}' --required
AND data = '{{ data }}' --required
RETURNING
data;

Lifecycle Methods

EXEC variables use wire (API) names.

Execute an analytics aggregation over Agent Observability experimentation data.<br />Use this endpoint to compute metrics (for example average eval scores) grouped by fields such as span_id or experiment_id.<br /><br />At least one compute definition and one index must be provided.

EXEC datadog.llm_observability.experiments.aggregate_llmobs_experimentation
@@json=
'{
"data": "{{ data }}"
}'
;