---
title: List exposure SQL models
description: Datadog, the leading service for cloud-scale monitoring.
breadcrumbs: Docs > API Reference > Experiments
---

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

{% callout %}
# Important note for users on the following Datadog sites: app.ddog-gov.com, us2.ddog-gov.com

{% alert level="danger" %}
This product is not supported for your selected [Datadog site](https://docs.datadoghq.com/getting_started/site.md). ({% placeholder "user-datadog-site-name" /%}).
{% /alert %}

{% /callout %}

# List exposure SQL models{% #list-exposure-sql-models %}

{% tab title="v2" %}

| Datadog site      | API endpoint                                                             |
| ----------------- | ------------------------------------------------------------------------ |
| ap1.datadoghq.com | GET https://api.ap1.datadoghq.com/api/v2/experiments/exposure-sql-models |
| ap2.datadoghq.com | GET https://api.ap2.datadoghq.com/api/v2/experiments/exposure-sql-models |
| app.datadoghq.eu  | GET https://api.datadoghq.eu/api/v2/experiments/exposure-sql-models      |
| app.ddog-gov.com  | GET https://api.ddog-gov.com/api/v2/experiments/exposure-sql-models      |
| us2.ddog-gov.com  | GET https://api.us2.ddog-gov.com/api/v2/experiments/exposure-sql-models  |
| uk1.datadoghq.com | GET https://api.uk1.datadoghq.com/api/v2/experiments/exposure-sql-models |
| app.datadoghq.com | GET https://api.datadoghq.com/api/v2/experiments/exposure-sql-models     |
| us3.datadoghq.com | GET https://api.us3.datadoghq.com/api/v2/experiments/exposure-sql-models |
| us5.datadoghq.com | GET https://api.us5.datadoghq.com/api/v2/experiments/exposure-sql-models |

### Overview

List exposure SQL models. Returns a paginated list of the SQL models that experiment exposures are read from for the organization. Models maintained by Datadog are not included: they cannot be modified and cannot be used as an experiment's assignment source. This endpoint requires the `product_analytics_metrics_read` permission.

OAuth apps require the `product_analytics_metrics_read` authorization [scope](https://docs.datadoghq.com/api/latest/scopes.md#experiments) to access this endpoint.



### Arguments

#### Query Strings

| Name             | Type    | Description                                                                                                                                                                                 |
| ---------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| include          | array   | Optional fields to include. Repeat this parameter to request several fields. `counts` adds experiment_count, which costs an extra aggregate query.                                          |
| include_archived | boolean | When true, archived models are included in the result. Defaults to false, so archived models are hidden.                                                                                    |
| page[limit]      | integer | Maximum number of results to return. Defaults to 25 when omitted, and is capped at 50 (larger values are clamped to 50). The response includes meta.page (with total) and pagination links. |
| page[offset]     | integer | Number of results to skip for pagination. Defaults to 0 when omitted.                                                                                                                       |
| search           | string  | Find exposure SQL models whose names contain the search text, regardless of case.                                                                                                           |
| sort             | string  | Sort field: name, created_at, or updated_at. Prefix with `-` for descending (for example, `-created_at`). Defaults to created_at descending.                                                |

### Response

{% tab title="200" %}
OK
{% tab title="Model" %}
Response containing a page of exposure SQL models.

| Parent field  | Field                             | Type      | Description                                                                   |
| ------------- | --------------------------------- | --------- | ----------------------------------------------------------------------------- |
|               | data [*required*]            | [object]  | Exposure SQL models in the current page.                                      |
| data          | attributes                        | object    | Query and column mappings used to read experiment assignment data.            |
| attributes    | archived_at                       | date-time | Time when the exposure SQL model was archived.                                |
| attributes    | created_at                        | date-time | Time when the exposure SQL model was created.                                 |
| attributes    | date_partition_column             | string    | Column used to identify date partitions in the exposure data.                 |
| attributes    | experiment_column                 | string    | SQL result column that contains the experiment key.                           |
| attributes    | experiment_count                  | int64     | Number of experiments associated with the exposure SQL model.                 |
| attributes    | migration_metadata                |           | Metadata associated with migration of this resource.                          |
| attributes    | name                              | string    | Display name of the exposure SQL model.                                       |
| attributes    | properties                        | [object]  | Property columns available for filtering or splitting exposure data.          |
| properties    | column_name                       | string    | SQL result column that contains this property.                                |
| properties    | column_type                       | string    | Data type of the property column.                                             |
| properties    | description                       | string    | Description of the exposure property.                                         |
| properties    | id                                | string    | Identifier of the exposure property.                                          |
| properties    | migration_metadata                |           | Metadata associated with migration of this resource.                          |
| properties    | name                              | string    | Display name of the exposure property.                                        |
| properties    | pipeline_column_suffix            | string    | Suffix used for this property column in the analysis pipeline.                |
| attributes    | sql                               | string    | SQL query that supplies the experiment assignment data.                       |
| attributes    | subject_types                     | [object]  | Mappings between subject types and their identifier columns.                  |
| subject_types | column_name [*required*]     | string    | SQL result column that contains the subject identifier.                       |
| subject_types | subject_type_id [*required*] | string    | Identifier of the subject type mapped to this column.                         |
| attributes    | timestamp_column                  | string    | SQL result column that contains the assignment timestamp.                     |
| attributes    | updated_at                        | date-time | Time when the exposure SQL model was last updated.                            |
| attributes    | variant_column                    | string    | SQL result column that contains the assigned variant.                         |
| data          | id [*required*]              | uuid      | Identifier of the exposure SQL model.                                         |
| data          | type [*required*]            | enum      | Exposure SQL models resource type. Allowed enum values: `exposure-sql-models` |
|               | links                             | object    | Links for navigating a paginated result set.                                  |
| links         | first                             | string    | URL of the first page of results.                                             |
| links         | last                              | string    | URL of the last page of results.                                              |
| links         | next                              | string    | URL of the next page of results.                                              |
| links         | prev                              | string    | URL of the previous page of results.                                          |
| links         | self                              | string    | URL of the current page of results.                                           |
|               | meta                              | object    | Pagination information for a list response.                                   |
| meta          | page                              | object    | Result counts and offsets for a page of results.                              |
| page          | first_offset                      | int64     | Offset of the first page of results.                                          |
| page          | last_offset                       | int64     | Offset of the last page of results.                                           |
| page          | limit                             | int64     | Maximum number of results returned in one page.                               |
| page          | next_offset                       | int64     | Offset of the next page of results.                                           |
| page          | offset                            | int64     | Number of results skipped before this page.                                   |
| page          | prev_offset                       | int64     | Offset of the previous page of results.                                       |
| page          | total                             | int64     | Total number of matching results across all pages.                            |
| page          | type                              | string    | Pagination method used for this result set.                                   |

{% /tab %}

{% tab title="Example" %}

```json
{
  "data": [
    {
      "attributes": {
        "created_at": "2024-01-01T12:00:00Z",
        "experiment_column": "experiment_id",
        "name": "Exposure events",
        "properties": [
          {
            "column_name": "country",
            "column_type": "STRING",
            "id": "550e8400-e29b-41d4-a716-446655440031",
            "name": "country",
            "pipeline_column_suffix": "cty001"
          }
        ],
        "sql": "SELECT user_id, experiment_id, variant, exposed_at, country FROM analytics.exposures",
        "subject_types": [
          {
            "column_name": "user_id",
            "subject_type_id": "550e8400-e29b-41d4-a716-446655440010"
          }
        ],
        "timestamp_column": "exposed_at",
        "updated_at": "2024-01-01T12:00:00Z",
        "variant_column": "variant"
      },
      "id": "550e8400-e29b-41d4-a716-446655440030",
      "type": "exposure-sql-models"
    }
  ]
}
```

{% /tab %}

{% /tab %}

{% tab title="400" %}
Invalid query parameter: bad page[offset]/page[limit], search longer than 1024 bytes, unknown sort field, non-boolean include_archived, or unknown include value.
{% 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" %}
Missing or invalid authentication (dd-api-key + dd-application-key headers, or a valid user session).
{% 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" %}
Authenticated caller lacks the product_analytics_metrics_read permission.
{% 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 %}

### Code Example

##### 
                  \# Use a Personal Access Token or Service Access Token export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"  \# Curl command curl -X GET "https://api.datadoghq.com/api/v2/experiments/exposure-sql-models" \
-H "Accept: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" 
                
{% /tab %}
