---
title: Search LLM Observability experimentation entities
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > API Reference > LLM Observability
---

> For the complete documentation index, see [llms.txt](https://docs.datadoghq.com/llms.txt).

# Search LLM Observability experimentation entities{% #search-llm-observability-experimentation-entities %}
Copy pageCopied
{% tab title="v2" %}
**Note**: This endpoint is in preview and is subject to change. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).
| Datadog site      | API endpoint                                                                |
| ----------------- | --------------------------------------------------------------------------- |
| ap1.datadoghq.com | POST https://api.ap1.datadoghq.com/api/v2/llm-obs/v1/experimentation/search |
| ap2.datadoghq.com | POST https://api.ap2.datadoghq.com/api/v2/llm-obs/v1/experimentation/search |
| app.datadoghq.eu  | POST https://api.datadoghq.eu/api/v2/llm-obs/v1/experimentation/search      |
| app.ddog-gov.com  | POST https://api.ddog-gov.com/api/v2/llm-obs/v1/experimentation/search      |
| us2.ddog-gov.com  | POST https://api.us2.ddog-gov.com/api/v2/llm-obs/v1/experimentation/search  |
| uk1.datadoghq.com | POST https://api.uk1.datadoghq.com/api/v2/llm-obs/v1/experimentation/search |
| app.datadoghq.com | POST https://api.datadoghq.com/api/v2/llm-obs/v1/experimentation/search     |
| us3.datadoghq.com | POST https://api.us3.datadoghq.com/api/v2/llm-obs/v1/experimentation/search |
| us5.datadoghq.com | POST https://api.us5.datadoghq.com/api/v2/llm-obs/v1/experimentation/search |

### Overview



Search across LLM Observability experimentation entities — projects, datasets, dataset records, experiments, and experiment runs — using cursor-based pagination.

The `filter.scope` field controls which entity types are returned. At least one valid scope must be provided.

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.



### Request

#### Body Data (required)

Experimentation search payload.

{% tab title="Model" %}

| Parent field    | Field                        | Type     | Description                                                                                                               |
| --------------- | ---------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------- |
|                 | data [*required*]       | object   | Data object for an experimentation search request.                                                                        |
| data            | attributes [*required*] | object   | Attributes for an experimentation search request.                                                                         |
| attributes      | content_preview              | object   | Options to control content preview truncation.                                                                            |
| content_preview | limit                        | int64    | Maximum number of characters to include in content previews.                                                              |
| attributes      | filter [*required*]     | object   | Filter criteria for an experimentation search request.                                                                    |
| filter          | include_deleted              | boolean  | When `true`, include soft-deleted entities alongside active ones.                                                         |
| filter          | is_deleted                   | boolean  | When `true`, return only soft-deleted entities.                                                                           |
| filter          | query                        | string   | Free-text search query.                                                                                                   |
| filter          | scope [*required*]      | [string] | Entity types to search. Valid values are `projects`, `datasets`, `dataset_records`, `experiments`, and `experiment_runs`. |
| filter          | version                      | int64    | Filter dataset records by a specific dataset version.                                                                     |
| attributes      | include                      | object   | Additional data to include in the response.                                                                               |
| include         | user_data                    | boolean  | When `true`, enrich results with author user data (name and email).                                                       |
| attributes      | page                         | object   | Cursor-based pagination parameters.                                                                                       |
| page            | cursor                       | string   | Opaque cursor returned from a previous response to fetch the next page.                                                   |
| page            | limit                        | int64    | Maximum number of results per page.                                                                                       |
| data            | type [*required*]       | enum     | Resource type for experimentation search and analytics operations. Allowed enum values: `experimentation`                 |

{% /tab %}

{% tab title="Example" %}

```json
{
  "data": {
    "attributes": {
      "content_preview": {
        "limit": 500
      },
      "filter": {
        "include_deleted": false,
        "is_deleted": false,
        "query": "my experiment",
        "scope": [
          "experiments"
        ],
        "version": "integer"
      },
      "include": {
        "user_data": false
      },
      "page": {
        "cursor": "string",
        "limit": 100
      }
    },
    "type": "experimentation"
  }
}
```

{% /tab %}

### Response

{% tab title="200" %}
OK — all results returned in a single page.
{% tab title="Model" %}
Response to a cursor-based experimentation search. Returns `200 OK` when all results fit in one page; `206 Partial Content` when a next-page cursor is available.

| Parent field    | Field                             | Type                | Description                                                                                                               |
| --------------- | --------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|                 | data [*required*]            | object              | JSON:API data object for an experimentation search response.                                                              |
| data            | attributes [*required*]      | object              | The matching experimentation entities grouped by type.                                                                    |
| attributes      | dataset_records                   | [object]            | Matching dataset records. Present when `dataset_records` is included in `filter.scope`.                                   |
| dataset_records | created_at [*required*]      | date-time           | Timestamp when the record was created.                                                                                    |
| dataset_records | dataset_id [*required*]      | string              | Identifier of the dataset this record belongs to.                                                                         |
| dataset_records | expected_output [*required*] | object <oneOf> | Represents any valid JSON value.                                                                                          |
| expected_output | Option 1                          | string              | A scalar string value.                                                                                                    |
| expected_output | Option 2                          | double              | A scalar numeric value.                                                                                                   |
| expected_output | Option 3                          | object              | An arbitrary object value with additional properties.                                                                     |
| expected_output | Option 4                          | [ <oneOf>]     | An array of arbitrary values.                                                                                             |
| Option 4        | Option 1                          | string              | A scalar string value.                                                                                                    |
| Option 4        | Option 2                          | double              | A scalar numeric value.                                                                                                   |
| Option 4        | Option 3                          | object              | An arbitrary object value with additional properties.                                                                     |
| Option 4        | Option 4                          | boolean             | A scalar boolean value.                                                                                                   |
| expected_output | Option 5                          | boolean             | A scalar boolean value.                                                                                                   |
| dataset_records | id [*required*]              | string              | Unique identifier of the record.                                                                                          |
| dataset_records | input [*required*]           | object <oneOf> | Represents any valid JSON value.                                                                                          |
| input           | Option 1                          | string              | A scalar string value.                                                                                                    |
| input           | Option 2                          | double              | A scalar numeric value.                                                                                                   |
| input           | Option 3                          | object              | An arbitrary object value with additional properties.                                                                     |
| input           | Option 4                          | [ <oneOf>]     | An array of arbitrary values.                                                                                             |
| Option 4        | Option 1                          | string              | A scalar string value.                                                                                                    |
| Option 4        | Option 2                          | double              | A scalar numeric value.                                                                                                   |
| Option 4        | Option 3                          | object              | An arbitrary object value with additional properties.                                                                     |
| Option 4        | Option 4                          | boolean             | A scalar boolean value.                                                                                                   |
| input           | Option 5                          | boolean             | A scalar boolean value.                                                                                                   |
| dataset_records | metadata [*required*]        | object              | Arbitrary metadata associated with the record.                                                                            |
| dataset_records | updated_at [*required*]      | date-time           | Timestamp when the record was last updated.                                                                               |
| attributes      | datasets                          | [object]            | Matching datasets. Present when `datasets` is included in `filter.scope`.                                                 |
| datasets        | attributes [*required*]      | object              | Attributes of an LLM Observability dataset.                                                                               |
| attributes      | created_at [*required*]      | date-time           | Timestamp when the dataset was created.                                                                                   |
| attributes      | current_version [*required*] | int64               | Current version number of the dataset.                                                                                    |
| attributes      | description [*required*]     | string              | Description of the dataset.                                                                                               |
| attributes      | metadata [*required*]        | object              | Arbitrary metadata associated with the dataset.                                                                           |
| attributes      | name [*required*]            | string              | Name of the dataset.                                                                                                      |
| attributes      | updated_at [*required*]      | date-time           | Timestamp when the dataset was last updated.                                                                              |
| datasets        | id [*required*]              | string              | Unique identifier of the dataset.                                                                                         |
| datasets        | type [*required*]            | enum                | Resource type of an LLM Observability dataset. Allowed enum values: `datasets`                                            |
| attributes      | experiment_runs                   | [object]            | Matching experiment runs. Present when `experiment_runs` is included in `filter.scope`.                                   |
| experiment_runs | aggregate_data                    | object              | Aggregated metric data for this run.                                                                                      |
| experiment_runs | created_at                        | date-time           | Timestamp when the run was created.                                                                                       |
| experiment_runs | experiment_id                     | string              | Identifier of the experiment this run belongs to.                                                                         |
| experiment_runs | id                                | string              | Unique identifier of the experiment run.                                                                                  |
| experiment_runs | run_number                        | int32               | Sequential number of this run within the experiment.                                                                      |
| attributes      | experiments                       | [object]            | Matching experiments. Present when `experiments` is included in `filter.scope`.                                           |
| experiments     | aggregate_data                    | object              | Pre-computed aggregate metrics for this experiment run, including eval score distributions, token costs, and error rates. |
| experiments     | author                            | object              | User data for the author of an experiment. Only present when `include[user_data]` is `true`.                              |
| author          | email                             | string              | Email address of the user.                                                                                                |
| author          | handle                            | string              | Username or handle associated with the user's Datadog account.                                                            |
| author          | icon                              | string              | URL of the user's icon.                                                                                                   |
| author          | id                                | string              | Unique identifier of the user.                                                                                            |
| author          | name                              | string              | Display name of the user.                                                                                                 |
| experiments     | config [*required*]          | object              | Configuration parameters for the experiment.                                                                              |
| experiments     | created_at [*required*]      | date-time           | Timestamp when the experiment was created.                                                                                |
| experiments     | dataset_id [*required*]      | string              | Identifier of the dataset used in this experiment.                                                                        |
| experiments     | dataset_name                      | string              | Name of the dataset used in this experiment. Only present when `include[dataset_names]` is `true`.                        |
| experiments     | dataset_version                   | int64               | Version of the dataset used in this experiment.                                                                           |
| experiments     | deleted_at                        | date-time           | Timestamp when the experiment was soft-deleted, if applicable.                                                            |
| experiments     | description [*required*]     | string              | Description of the experiment.                                                                                            |
| experiments     | error                             | string              | Error message describing why the experiment failed, if applicable.                                                        |
| experiments     | experiment                        | string              | Logical name of the experiment, shared across all runs of the same pipeline.                                              |
| experiments     | metadata [*required*]        | object              | Arbitrary metadata associated with the experiment.                                                                        |
| experiments     | name [*required*]            | string              | Name of the experiment.                                                                                                   |
| experiments     | parent_experiment_id              | string              | Identifier of the parent (baseline) experiment this experiment was run against, if any.                                   |
| experiments     | project_id [*required*]      | string              | Identifier of the project this experiment belongs to.                                                                     |
| experiments     | run_count                         | int32               | Expected number of runs for this experiment.                                                                              |
| experiments     | status                            | enum                | Execution status of an LLM Observability experiment. Allowed enum values: `running,completed,failed,interrupted`          |
| experiments     | updated_at [*required*]      | date-time           | Timestamp when the experiment was last updated.                                                                           |
| attributes      | projects                          | [object]            | Matching projects. Present when `projects` is included in `filter.scope`.                                                 |
| projects        | attributes [*required*]      | object              | Attributes of an LLM Observability project.                                                                               |
| attributes      | created_at [*required*]      | date-time           | Timestamp when the project was created.                                                                                   |
| attributes      | description [*required*]     | string              | Description of the project.                                                                                               |
| attributes      | name [*required*]            | string              | Name of the project.                                                                                                      |
| attributes      | updated_at [*required*]      | date-time           | Timestamp when the project was last updated.                                                                              |
| projects        | id [*required*]              | string              | Unique identifier of the project.                                                                                         |
| projects        | type [*required*]            | enum                | Resource type of an LLM Observability project. Allowed enum values: `projects`                                            |
| data            | id [*required*]              | string              | Server-generated identifier for this search result.                                                                       |
| data            | type [*required*]            | enum                | Resource type for experimentation search and analytics operations. Allowed enum values: `experimentation`                 |
|                 | meta                              | object              | Pagination cursor metadata.                                                                                               |
| meta            | after                             | string              | Cursor for the next page of results.                                                                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "data": {
    "attributes": {
      "dataset_records": [
        {
          "created_at": "2024-01-15T10:30:00Z",
          "dataset_id": "9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d",
          "expected_output": {
            "description": "undefined",
            "type": "undefined"
          },
          "id": "rec-7c3f5a1b-9e2d-4f8a-b1c6-3d7e9f0a2b4c",
          "input": {
            "description": "undefined",
            "type": "undefined"
          },
          "metadata": {},
          "updated_at": "2024-01-15T10:30:00Z"
        }
      ],
      "datasets": [
        {
          "attributes": {
            "created_at": "2024-01-15T10:30:00Z",
            "current_version": 1,
            "description": "",
            "metadata": {},
            "name": "My LLM Dataset",
            "updated_at": "2024-01-15T10:30:00Z"
          },
          "id": "9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d",
          "type": "datasets"
        }
      ],
      "experiment_runs": [
        {
          "aggregate_data": {},
          "created_at": "2024-01-15T10:30:00Z",
          "experiment_id": "3fd6b5e0-8910-4b1c-a7d0-5b84de329012",
          "id": "7a1b2c3d-4e5f-6789-abcd-ef0123456789",
          "run_number": 1
        }
      ],
      "experiments": [
        {
          "aggregate_data": {},
          "author": {
            "email": "jane.doe@example.com",
            "handle": "jane.doe@example.com",
            "icon": "https://example.com/icon.png",
            "id": "00000000-0000-0000-0000-000000000010",
            "name": "Jane Doe"
          },
          "config": {},
          "created_at": "2024-01-15T10:30:00Z",
          "dataset_id": "9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d",
          "dataset_name": "string",
          "dataset_version": "integer",
          "deleted_at": "2019-09-19T10:00:00.000Z",
          "description": "",
          "error": "string",
          "experiment": "my-pipeline",
          "metadata": {},
          "name": "My Experiment v1",
          "parent_experiment_id": "3fd6b5e0-8910-4b1c-a7d0-5b84de329012",
          "project_id": "a33671aa-24fd-4dcd-9b33-a8ec7dde7751",
          "run_count": "integer",
          "status": "completed",
          "updated_at": "2024-01-15T10:30:00Z"
        }
      ],
      "projects": [
        {
          "attributes": {
            "created_at": "2024-01-15T10:30:00Z",
            "description": "",
            "name": "My LLM Project",
            "updated_at": "2024-01-15T10:30:00Z"
          },
          "id": "a33671aa-24fd-4dcd-9b33-a8ec7dde7751",
          "type": "projects"
        }
      ]
    },
    "id": "00000000-0000-0000-0000-000000000001",
    "type": "experimentation"
  },
  "meta": {
    "after": "string"
  }
}
```

{% /tab %}

{% /tab %}

{% tab title="206" %}
Partial Content — more results are available. Use `meta.after` as the next `page.cursor`.
{% tab title="Model" %}
Response to a cursor-based experimentation search. Returns `200 OK` when all results fit in one page; `206 Partial Content` when a next-page cursor is available.

| Parent field    | Field                             | Type                | Description                                                                                                               |
| --------------- | --------------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------- |
|                 | data [*required*]            | object              | JSON:API data object for an experimentation search response.                                                              |
| data            | attributes [*required*]      | object              | The matching experimentation entities grouped by type.                                                                    |
| attributes      | dataset_records                   | [object]            | Matching dataset records. Present when `dataset_records` is included in `filter.scope`.                                   |
| dataset_records | created_at [*required*]      | date-time           | Timestamp when the record was created.                                                                                    |
| dataset_records | dataset_id [*required*]      | string              | Identifier of the dataset this record belongs to.                                                                         |
| dataset_records | expected_output [*required*] | object <oneOf> | Represents any valid JSON value.                                                                                          |
| expected_output | Option 1                          | string              | A scalar string value.                                                                                                    |
| expected_output | Option 2                          | double              | A scalar numeric value.                                                                                                   |
| expected_output | Option 3                          | object              | An arbitrary object value with additional properties.                                                                     |
| expected_output | Option 4                          | [ <oneOf>]     | An array of arbitrary values.                                                                                             |
| Option 4        | Option 1                          | string              | A scalar string value.                                                                                                    |
| Option 4        | Option 2                          | double              | A scalar numeric value.                                                                                                   |
| Option 4        | Option 3                          | object              | An arbitrary object value with additional properties.                                                                     |
| Option 4        | Option 4                          | boolean             | A scalar boolean value.                                                                                                   |
| expected_output | Option 5                          | boolean             | A scalar boolean value.                                                                                                   |
| dataset_records | id [*required*]              | string              | Unique identifier of the record.                                                                                          |
| dataset_records | input [*required*]           | object <oneOf> | Represents any valid JSON value.                                                                                          |
| input           | Option 1                          | string              | A scalar string value.                                                                                                    |
| input           | Option 2                          | double              | A scalar numeric value.                                                                                                   |
| input           | Option 3                          | object              | An arbitrary object value with additional properties.                                                                     |
| input           | Option 4                          | [ <oneOf>]     | An array of arbitrary values.                                                                                             |
| Option 4        | Option 1                          | string              | A scalar string value.                                                                                                    |
| Option 4        | Option 2                          | double              | A scalar numeric value.                                                                                                   |
| Option 4        | Option 3                          | object              | An arbitrary object value with additional properties.                                                                     |
| Option 4        | Option 4                          | boolean             | A scalar boolean value.                                                                                                   |
| input           | Option 5                          | boolean             | A scalar boolean value.                                                                                                   |
| dataset_records | metadata [*required*]        | object              | Arbitrary metadata associated with the record.                                                                            |
| dataset_records | updated_at [*required*]      | date-time           | Timestamp when the record was last updated.                                                                               |
| attributes      | datasets                          | [object]            | Matching datasets. Present when `datasets` is included in `filter.scope`.                                                 |
| datasets        | attributes [*required*]      | object              | Attributes of an LLM Observability dataset.                                                                               |
| attributes      | created_at [*required*]      | date-time           | Timestamp when the dataset was created.                                                                                   |
| attributes      | current_version [*required*] | int64               | Current version number of the dataset.                                                                                    |
| attributes      | description [*required*]     | string              | Description of the dataset.                                                                                               |
| attributes      | metadata [*required*]        | object              | Arbitrary metadata associated with the dataset.                                                                           |
| attributes      | name [*required*]            | string              | Name of the dataset.                                                                                                      |
| attributes      | updated_at [*required*]      | date-time           | Timestamp when the dataset was last updated.                                                                              |
| datasets        | id [*required*]              | string              | Unique identifier of the dataset.                                                                                         |
| datasets        | type [*required*]            | enum                | Resource type of an LLM Observability dataset. Allowed enum values: `datasets`                                            |
| attributes      | experiment_runs                   | [object]            | Matching experiment runs. Present when `experiment_runs` is included in `filter.scope`.                                   |
| experiment_runs | aggregate_data                    | object              | Aggregated metric data for this run.                                                                                      |
| experiment_runs | created_at                        | date-time           | Timestamp when the run was created.                                                                                       |
| experiment_runs | experiment_id                     | string              | Identifier of the experiment this run belongs to.                                                                         |
| experiment_runs | id                                | string              | Unique identifier of the experiment run.                                                                                  |
| experiment_runs | run_number                        | int32               | Sequential number of this run within the experiment.                                                                      |
| attributes      | experiments                       | [object]            | Matching experiments. Present when `experiments` is included in `filter.scope`.                                           |
| experiments     | aggregate_data                    | object              | Pre-computed aggregate metrics for this experiment run, including eval score distributions, token costs, and error rates. |
| experiments     | author                            | object              | User data for the author of an experiment. Only present when `include[user_data]` is `true`.                              |
| author          | email                             | string              | Email address of the user.                                                                                                |
| author          | handle                            | string              | Username or handle associated with the user's Datadog account.                                                            |
| author          | icon                              | string              | URL of the user's icon.                                                                                                   |
| author          | id                                | string              | Unique identifier of the user.                                                                                            |
| author          | name                              | string              | Display name of the user.                                                                                                 |
| experiments     | config [*required*]          | object              | Configuration parameters for the experiment.                                                                              |
| experiments     | created_at [*required*]      | date-time           | Timestamp when the experiment was created.                                                                                |
| experiments     | dataset_id [*required*]      | string              | Identifier of the dataset used in this experiment.                                                                        |
| experiments     | dataset_name                      | string              | Name of the dataset used in this experiment. Only present when `include[dataset_names]` is `true`.                        |
| experiments     | dataset_version                   | int64               | Version of the dataset used in this experiment.                                                                           |
| experiments     | deleted_at                        | date-time           | Timestamp when the experiment was soft-deleted, if applicable.                                                            |
| experiments     | description [*required*]     | string              | Description of the experiment.                                                                                            |
| experiments     | error                             | string              | Error message describing why the experiment failed, if applicable.                                                        |
| experiments     | experiment                        | string              | Logical name of the experiment, shared across all runs of the same pipeline.                                              |
| experiments     | metadata [*required*]        | object              | Arbitrary metadata associated with the experiment.                                                                        |
| experiments     | name [*required*]            | string              | Name of the experiment.                                                                                                   |
| experiments     | parent_experiment_id              | string              | Identifier of the parent (baseline) experiment this experiment was run against, if any.                                   |
| experiments     | project_id [*required*]      | string              | Identifier of the project this experiment belongs to.                                                                     |
| experiments     | run_count                         | int32               | Expected number of runs for this experiment.                                                                              |
| experiments     | status                            | enum                | Execution status of an LLM Observability experiment. Allowed enum values: `running,completed,failed,interrupted`          |
| experiments     | updated_at [*required*]      | date-time           | Timestamp when the experiment was last updated.                                                                           |
| attributes      | projects                          | [object]            | Matching projects. Present when `projects` is included in `filter.scope`.                                                 |
| projects        | attributes [*required*]      | object              | Attributes of an LLM Observability project.                                                                               |
| attributes      | created_at [*required*]      | date-time           | Timestamp when the project was created.                                                                                   |
| attributes      | description [*required*]     | string              | Description of the project.                                                                                               |
| attributes      | name [*required*]            | string              | Name of the project.                                                                                                      |
| attributes      | updated_at [*required*]      | date-time           | Timestamp when the project was last updated.                                                                              |
| projects        | id [*required*]              | string              | Unique identifier of the project.                                                                                         |
| projects        | type [*required*]            | enum                | Resource type of an LLM Observability project. Allowed enum values: `projects`                                            |
| data            | id [*required*]              | string              | Server-generated identifier for this search result.                                                                       |
| data            | type [*required*]            | enum                | Resource type for experimentation search and analytics operations. Allowed enum values: `experimentation`                 |
|                 | meta                              | object              | Pagination cursor metadata.                                                                                               |
| meta            | after                             | string              | Cursor for the next page of results.                                                                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "data": {
    "attributes": {
      "dataset_records": [
        {
          "created_at": "2024-01-15T10:30:00Z",
          "dataset_id": "9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d",
          "expected_output": {
            "description": "undefined",
            "type": "undefined"
          },
          "id": "rec-7c3f5a1b-9e2d-4f8a-b1c6-3d7e9f0a2b4c",
          "input": {
            "description": "undefined",
            "type": "undefined"
          },
          "metadata": {},
          "updated_at": "2024-01-15T10:30:00Z"
        }
      ],
      "datasets": [
        {
          "attributes": {
            "created_at": "2024-01-15T10:30:00Z",
            "current_version": 1,
            "description": "",
            "metadata": {},
            "name": "My LLM Dataset",
            "updated_at": "2024-01-15T10:30:00Z"
          },
          "id": "9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d",
          "type": "datasets"
        }
      ],
      "experiment_runs": [
        {
          "aggregate_data": {},
          "created_at": "2024-01-15T10:30:00Z",
          "experiment_id": "3fd6b5e0-8910-4b1c-a7d0-5b84de329012",
          "id": "7a1b2c3d-4e5f-6789-abcd-ef0123456789",
          "run_number": 1
        }
      ],
      "experiments": [
        {
          "aggregate_data": {},
          "author": {
            "email": "jane.doe@example.com",
            "handle": "jane.doe@example.com",
            "icon": "https://example.com/icon.png",
            "id": "00000000-0000-0000-0000-000000000010",
            "name": "Jane Doe"
          },
          "config": {},
          "created_at": "2024-01-15T10:30:00Z",
          "dataset_id": "9f64e5c7-dc5a-45c8-a17c-1b85f0bec97d",
          "dataset_name": "string",
          "dataset_version": "integer",
          "deleted_at": "2019-09-19T10:00:00.000Z",
          "description": "",
          "error": "string",
          "experiment": "my-pipeline",
          "metadata": {},
          "name": "My Experiment v1",
          "parent_experiment_id": "3fd6b5e0-8910-4b1c-a7d0-5b84de329012",
          "project_id": "a33671aa-24fd-4dcd-9b33-a8ec7dde7751",
          "run_count": "integer",
          "status": "completed",
          "updated_at": "2024-01-15T10:30:00Z"
        }
      ],
      "projects": [
        {
          "attributes": {
            "created_at": "2024-01-15T10:30:00Z",
            "description": "",
            "name": "My LLM Project",
            "updated_at": "2024-01-15T10:30:00Z"
          },
          "id": "a33671aa-24fd-4dcd-9b33-a8ec7dde7751",
          "type": "projects"
        }
      ]
    },
    "id": "00000000-0000-0000-0000-000000000001",
    "type": "experimentation"
  },
  "meta": {
    "after": "string"
  }
}
```

{% /tab %}

{% /tab %}

{% tab title="400" %}
Bad Request
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="401" %}
Unauthorized
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="403" %}
Forbidden
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="429" %}
Too many requests
{% tab title="Model" %}
API error response.

| Field                    | Type     | Description       |
| ------------------------ | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    "Bad Request"
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="500" %}
Internal Server Error
{% tab title="Model" %}
API error response.

| Parent field | Field                    | Type     | Description                                                                     |
| ------------ | ------------------------ | -------- | ------------------------------------------------------------------------------- |
|              | errors [*required*] | [object] | A list of errors.                                                               |
| errors       | detail                   | string   | A human-readable explanation specific to this occurrence of the error.          |
| errors       | meta                     | object   | Non-standard meta-information about the error                                   |
| errors       | source                   | object   | References to the source of the error.                                          |
| source       | header                   | string   | A string indicating the name of a single request header which caused the error. |
| source       | parameter                | string   | A string indicating which URI query parameter caused the error.                 |
| source       | pointer                  | string   | A JSON pointer to the value in the request document that caused the error.      |
| errors       | status                   | string   | Status code of the response.                                                    |
| errors       | title                    | string   | Short human-readable summary of the error.                                      |

{% /tab %}

{% tab title="Example" %}

```json
{
  "errors": [
    {
      "detail": "Missing required attribute in body",
      "meta": {},
      "source": {
        "header": "Authorization",
        "parameter": "limit",
        "pointer": "/data/attributes/title"
      },
      "status": "400",
      "title": "Bad Request"
    }
  ]
}
```

{% /tab %}

{% /tab %}

### Code Example

##### 
                  \## default
# 
 \# Curl command curl -X POST "https://api.datadoghq.com/api/v2/llm-obs/v1/experimentation/search" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "filter": {
        "query": "@project_id:a33671aa-24fd-4dcd-9b33-a8ec7dde7751",
        "scope": [
          "experiments"
        ]
      },
      "page": {
        "limit": 50
      }
    },
    "type": "experimentation"
  }
}
EOF 
                
##### 

```python
"""
Search LLM Observability experimentation entities returns "Partial Content — more results are available. Use
`meta.after` as the next `page.cursor`." response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.llm_observability_api import LLMObservabilityApi
from datadog_api_client.v2.model.llm_obs_experimentation_content_preview import LLMObsExperimentationContentPreview
from datadog_api_client.v2.model.llm_obs_experimentation_cursor_page import LLMObsExperimentationCursorPage
from datadog_api_client.v2.model.llm_obs_experimentation_filter import LLMObsExperimentationFilter
from datadog_api_client.v2.model.llm_obs_experimentation_include import LLMObsExperimentationInclude
from datadog_api_client.v2.model.llm_obs_experimentation_search_data_attributes_request import (
    LLMObsExperimentationSearchDataAttributesRequest,
)
from datadog_api_client.v2.model.llm_obs_experimentation_search_data_request import (
    LLMObsExperimentationSearchDataRequest,
)
from datadog_api_client.v2.model.llm_obs_experimentation_search_request import LLMObsExperimentationSearchRequest
from datadog_api_client.v2.model.llm_obs_experimentation_type import LLMObsExperimentationType

body = LLMObsExperimentationSearchRequest(
    data=LLMObsExperimentationSearchDataRequest(
        attributes=LLMObsExperimentationSearchDataAttributesRequest(
            content_preview=LLMObsExperimentationContentPreview(
                limit=500,
            ),
            filter=LLMObsExperimentationFilter(
                include_deleted=False,
                is_deleted=False,
                query="my experiment",
                scope=[
                    "experiments",
                ],
                version=None,
            ),
            include=LLMObsExperimentationInclude(
                user_data=False,
            ),
            page=LLMObsExperimentationCursorPage(
                limit=100,
            ),
        ),
        type=LLMObsExperimentationType.EXPERIMENTATION,
    ),
)

configuration = Configuration()
configuration.unstable_operations["search_llm_obs_experimentation"] = True
with ApiClient(configuration) as api_client:
    api_instance = LLMObservabilityApi(api_client)
    response = api_instance.search_llm_obs_experimentation(body=body)

    print(response)
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=python) and then save the example to `example.py` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
##### 

```ruby
# Search LLM Observability experimentation entities returns "Partial Content — more results are available. Use
# `meta.after` as the next `page.cursor`." response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.unstable_operations["v2.search_llm_obs_experimentation".to_sym] = true
end
api_instance = DatadogAPIClient::V2::LLMObservabilityAPI.new

body = DatadogAPIClient::V2::LLMObsExperimentationSearchRequest.new({
  data: DatadogAPIClient::V2::LLMObsExperimentationSearchDataRequest.new({
    attributes: DatadogAPIClient::V2::LLMObsExperimentationSearchDataAttributesRequest.new({
      content_preview: DatadogAPIClient::V2::LLMObsExperimentationContentPreview.new({
        limit: 500,
      }),
      filter: DatadogAPIClient::V2::LLMObsExperimentationFilter.new({
        include_deleted: false,
        is_deleted: false,
        query: "my experiment",
        scope: [
          "experiments",
        ],
        version: nil,
      }),
      include: DatadogAPIClient::V2::LLMObsExperimentationInclude.new({
        user_data: false,
      }),
      page: DatadogAPIClient::V2::LLMObsExperimentationCursorPage.new({
        limit: 100,
      }),
    }),
    type: DatadogAPIClient::V2::LLMObsExperimentationType::EXPERIMENTATION,
  }),
})
p api_instance.search_llm_obs_experimentation(body)
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=ruby) and then save the example to `example.rb` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
##### 

```go
// Search LLM Observability experimentation entities returns "Partial Content — more results are available. Use
// `meta.after` as the next `page.cursor`." response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	body := datadogV2.LLMObsExperimentationSearchRequest{
		Data: datadogV2.LLMObsExperimentationSearchDataRequest{
			Attributes: datadogV2.LLMObsExperimentationSearchDataAttributesRequest{
				ContentPreview: &datadogV2.LLMObsExperimentationContentPreview{
					Limit: datadog.PtrInt64(500),
				},
				Filter: datadogV2.LLMObsExperimentationFilter{
					IncludeDeleted: datadog.PtrBool(false),
					IsDeleted:      datadog.PtrBool(false),
					Query:          datadog.PtrString("my experiment"),
					Scope: []string{
						"experiments",
					},
					Version: *datadog.NewNullableInt64(nil),
				},
				Include: &datadogV2.LLMObsExperimentationInclude{
					UserData: datadog.PtrBool(false),
				},
				Page: &datadogV2.LLMObsExperimentationCursorPage{
					Limit: datadog.PtrInt64(100),
				},
			},
			Type: datadogV2.LLMOBSEXPERIMENTATIONTYPE_EXPERIMENTATION,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	configuration.SetUnstableOperationEnabled("v2.SearchLLMObsExperimentation", true)
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewLLMObservabilityApi(apiClient)
	resp, r, err := api.SearchLLMObsExperimentation(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `LLMObservabilityApi.SearchLLMObsExperimentation`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `LLMObservabilityApi.SearchLLMObsExperimentation`:\n%s\n", responseContent)
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=go) and then save the example to `main.go` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
##### 

```java
// Search LLM Observability experimentation entities returns "Partial Content — more results are
// available. Use
// `meta.after` as the next `page.cursor`." response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.LlmObservabilityApi;
import com.datadog.api.client.v2.model.LLMObsExperimentationContentPreview;
import com.datadog.api.client.v2.model.LLMObsExperimentationCursorPage;
import com.datadog.api.client.v2.model.LLMObsExperimentationFilter;
import com.datadog.api.client.v2.model.LLMObsExperimentationInclude;
import com.datadog.api.client.v2.model.LLMObsExperimentationSearchDataAttributesRequest;
import com.datadog.api.client.v2.model.LLMObsExperimentationSearchDataRequest;
import com.datadog.api.client.v2.model.LLMObsExperimentationSearchRequest;
import com.datadog.api.client.v2.model.LLMObsExperimentationSearchResponse;
import com.datadog.api.client.v2.model.LLMObsExperimentationType;
import java.util.Collections;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setUnstableOperationEnabled("v2.searchLLMObsExperimentation", true);
    LlmObservabilityApi apiInstance = new LlmObservabilityApi(defaultClient);

    LLMObsExperimentationSearchRequest body =
        new LLMObsExperimentationSearchRequest()
            .data(
                new LLMObsExperimentationSearchDataRequest()
                    .attributes(
                        new LLMObsExperimentationSearchDataAttributesRequest()
                            .contentPreview(new LLMObsExperimentationContentPreview().limit(500L))
                            .filter(
                                new LLMObsExperimentationFilter()
                                    .includeDeleted(false)
                                    .isDeleted(false)
                                    .query("my experiment")
                                    .scope(Collections.singletonList("experiments"))
                                    .version(null))
                            .include(new LLMObsExperimentationInclude().userData(false))
                            .page(new LLMObsExperimentationCursorPage().limit(100L)))
                    .type(LLMObsExperimentationType.EXPERIMENTATION));

    try {
      LLMObsExperimentationSearchResponse result = apiInstance.searchLLMObsExperimentation(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling LlmObservabilityApi#searchLLMObsExperimentation");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=java) and then save the example to `Example.java` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
##### 

```rust
// Search LLM Observability experimentation entities returns "Partial Content —
// more results are available. Use `meta.after` as the next `page.cursor`."
// response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_llm_observability::LLMObservabilityAPI;
use datadog_api_client::datadogV2::model::LLMObsExperimentationContentPreview;
use datadog_api_client::datadogV2::model::LLMObsExperimentationCursorPage;
use datadog_api_client::datadogV2::model::LLMObsExperimentationFilter;
use datadog_api_client::datadogV2::model::LLMObsExperimentationInclude;
use datadog_api_client::datadogV2::model::LLMObsExperimentationSearchDataAttributesRequest;
use datadog_api_client::datadogV2::model::LLMObsExperimentationSearchDataRequest;
use datadog_api_client::datadogV2::model::LLMObsExperimentationSearchRequest;
use datadog_api_client::datadogV2::model::LLMObsExperimentationType;

#[tokio::main]
async fn main() {
    let body =
        LLMObsExperimentationSearchRequest::new(LLMObsExperimentationSearchDataRequest::new(
            LLMObsExperimentationSearchDataAttributesRequest::new(
                LLMObsExperimentationFilter::new(vec!["experiments".to_string()])
                    .include_deleted(false)
                    .is_deleted(false)
                    .query("my experiment".to_string())
                    .version(None),
            )
            .content_preview(LLMObsExperimentationContentPreview::new().limit(500))
            .include(LLMObsExperimentationInclude::new().user_data(false))
            .page(LLMObsExperimentationCursorPage::new().limit(100)),
            LLMObsExperimentationType::EXPERIMENTATION,
        ));
    let mut configuration = datadog::Configuration::new();
    configuration.set_unstable_operation_enabled("v2.SearchLLMObsExperimentation", true);
    let api = LLMObservabilityAPI::with_config(configuration);
    let resp = api.search_llm_obs_experimentation(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=rust) and then save the example to `src/main.rs` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
##### 

```typescript
/**
 * Search LLM Observability experimentation entities returns "Partial Content — more results are available. Use
 * `meta.after` as the next `page.cursor`." response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
configuration.unstableOperations["v2.searchLLMObsExperimentation"] = true;
const apiInstance = new v2.LLMObservabilityApi(configuration);

const params: v2.LLMObservabilityApiSearchLLMObsExperimentationRequest = {
  body: {
    data: {
      attributes: {
        contentPreview: {
          limit: 500,
        },
        filter: {
          includeDeleted: false,
          isDeleted: false,
          query: "my experiment",
          scope: ["experiments"],
          version: undefined,
        },
        include: {
          userData: false,
        },
        page: {
          limit: 100,
        },
      },
      type: "experimentation",
    },
  },
};

apiInstance
  .searchLLMObsExperimentation(params)
  .then((data: v2.LLMObsExperimentationSearchResponse) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
```

#### Instructions

First [install the library and its dependencies](https://docs.datadoghq.com/api/latest.md?code-lang=typescript) and then save the example to `example.ts` and run following commands:
    DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"
{% /tab %}
