This product is not supported for your selected Datadog site. ().

List exposure SQL models

GET https://api.ap1.datadoghq.com/api/v2/experiments/exposure-sql-modelshttps://api.ap2.datadoghq.com/api/v2/experiments/exposure-sql-modelshttps://api.datadoghq.eu/api/v2/experiments/exposure-sql-modelshttps://api.ddog-gov.com/api/v2/experiments/exposure-sql-modelshttps://api.us2.ddog-gov.com/api/v2/experiments/exposure-sql-modelshttps://api.uk1.datadoghq.com/api/v2/experiments/exposure-sql-modelshttps://api.datadoghq.com/api/v2/experiments/exposure-sql-modelshttps://api.us3.datadoghq.com/api/v2/experiments/exposure-sql-modelshttps://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 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

OK

Response containing a page of exposure SQL models.

Expand All

Field

Type

Description

data [required]

[object]

Exposure SQL models in the current page.

attributes

object

Query and column mappings used to read experiment assignment data.

archived_at

date-time

Time when the exposure SQL model was archived.

created_at

date-time

Time when the exposure SQL model was created.

date_partition_column

string

Column used to identify date partitions in the exposure data.

experiment_column

string

SQL result column that contains the experiment key.

experiment_count

int64

Number of experiments associated with the exposure SQL model.

migration_metadata

Metadata associated with migration of this resource.

name

string

Display name of the exposure SQL model.

properties

[object]

Property columns available for filtering or splitting exposure data.

column_name

string

SQL result column that contains this property.

column_type

string

Data type of the property column.

description

string

Description of the exposure property.

id

string

Identifier of the exposure property.

migration_metadata

Metadata associated with migration of this resource.

name

string

Display name of the exposure property.

pipeline_column_suffix

string

Suffix used for this property column in the analysis pipeline.

sql

string

SQL query that supplies the experiment assignment data.

subject_types

[object]

Mappings between subject types and their identifier columns.

column_name [required]

string

SQL result column that contains the subject identifier.

subject_type_id [required]

string

Identifier of the subject type mapped to this column.

timestamp_column

string

SQL result column that contains the assignment timestamp.

updated_at

date-time

Time when the exposure SQL model was last updated.

variant_column

string

SQL result column that contains the assigned variant.

id [required]

uuid

Identifier of the exposure SQL model.

type [required]

enum

Exposure SQL models resource type. Allowed enum values: exposure-sql-models

default: exposure-sql-models

links

object

Links for navigating a paginated result set.

first

string

URL of the first page of results.

last

string

URL of the last page of results.

next

string

URL of the next page of results.

prev

string

URL of the previous page of results.

self

string

URL of the current page of results.

meta

object

Pagination information for a list response.

page

object

Result counts and offsets for a page of results.

first_offset

int64

Offset of the first page of results.

last_offset

int64

Offset of the last page of results.

limit

int64

Maximum number of results returned in one page.

next_offset

int64

Offset of the next page of results.

offset

int64

Number of results skipped before this page.

prev_offset

int64

Offset of the previous page of results.

total

int64

Total number of matching results across all pages.

type

string

Pagination method used for this result set.

{
  "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"
    }
  ]
}

Invalid query parameter: bad page[offset]/page[limit], search longer than 1024 bytes, unknown sort field, non-boolean include_archived, or unknown include value.

API error response.

Expand All

Field

Type

Description

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

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

Missing or invalid authentication (dd-api-key + dd-application-key headers, or a valid user session).

API error response.

Expand All

Field

Type

Description

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

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

Authenticated caller lacks the product_analytics_metrics_read permission.

API error response.

Expand All

Field

Type

Description

errors [required]

[object]

A list of errors.

detail

string

A human-readable explanation specific to this occurrence of the error.

meta

object

Non-standard meta-information about the error

source

object

References to the source of the error.

header

string

A string indicating the name of a single request header which caused the error.

parameter

string

A string indicating which URI query parameter caused the error.

pointer

string

A JSON pointer to the value in the request document that caused the error.

status

string

Status code of the response.

title

string

Short human-readable summary of the error.

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

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

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

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.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.uk1.datadoghq.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/experiments/exposure-sql-models" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${DD_BEARER_TOKEN}"