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

List metric SQL models

GET https://api.ap1.datadoghq.com/api/v2/experiments/metric-sql-modelshttps://api.ap2.datadoghq.com/api/v2/experiments/metric-sql-modelshttps://api.datadoghq.eu/api/v2/experiments/metric-sql-modelshttps://api.ddog-gov.com/api/v2/experiments/metric-sql-modelshttps://api.us2.ddog-gov.com/api/v2/experiments/metric-sql-modelshttps://api.uk1.datadoghq.com/api/v2/experiments/metric-sql-modelshttps://api.datadoghq.com/api/v2/experiments/metric-sql-modelshttps://api.us3.datadoghq.com/api/v2/experiments/metric-sql-modelshttps://api.us5.datadoghq.com/api/v2/experiments/metric-sql-models

Overview

List metric SQL models. Returns a paginated list of the SQL models that metrics are defined on for the organization. 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 metric_count and experiment_count, which cost an extra aggregate query.

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.

sort

string

Sort field: name, created_at, updated_at, metric_count, or experiment_count. A single field only; a comma-separated list is rejected. Prefix with - for descending (for example, -created_at). Defaults to created_at descending.

Response

OK

List of metric SQL model resources with pagination information.

Expand All

Field

Type

Description

data [required]

[object]

Resources returned in this response.

attributes

object

Details of the metric SQL model.

certified_at

date-time

Time when this resource was certified.

created_at

date-time

Time when this resource was created.

date_partition_column

string

SQL column used to partition the source data by date.

description

string

Text that explains the metric SQL model.

event_count_measure_id

string

Read-only measure ID. Pass it as warehouse_metric_measure.id when the metric operation is count.

experiment_count

int64

Number of experiments that reference this resource.

is_certified

boolean

Whether this resource has been certified.

measures

[object]

Measures available from the SQL model's result columns.

column_name

string

Name of the SQL result column that supplies this measure.

column_type

enum

Data type of a column in the SQL model. Allowed enum values: STRING,INTEGER,FLOAT,BOOLEAN,DATE,TIMESTAMP

description

string

Text that explains the measure.

id

string

ID of the measure.

migration_metadata

Metadata retained for resources imported from another system.

name

string

Display name of the measure.

metric_count

int64

Number of metrics that use this SQL model.

migration_metadata

Metadata retained for resources imported from another system.

name

string

Display name of the metric SQL model.

properties

[object]

Property columns exposed by the SQL model.

column_name

string

Name of the SQL result column that supplies this measure.

column_type

enum

Data type of a column in the SQL model. Allowed enum values: STRING,INTEGER,FLOAT,BOOLEAN,DATE,TIMESTAMP

description

string

Text that explains the measure.

id

string

ID of the measure.

migration_metadata

Metadata retained for resources imported from another system.

name

string

Display name of the measure.

sql

string

SQL query that produces the model's source data.

subject_types

[object]

Subject types mapped to columns in the SQL model.

column_name

string

Name of the SQL result column that identifies subjects of this type.

subject_type_id

string

ID of the subject type used by this configuration.

unique_subject_count_measure_id

string

Read-only measure ID. Pass it as warehouse_metric_measure.id when the metric operation is uniqueSubjects.

timestamp_column

string

SQL column that supplies the event timestamp.

updated_at

date-time

Time when this resource was last updated.

id [required]

uuid

ID of the metric SQL model.

type [required]

enum

Metric SQL models resource type. Allowed enum values: metric-sql-models

default: metric-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",
        "event_count_measure_id": "550e8400-e29b-41d4-a716-446655440024",
        "is_certified": false,
        "measures": [
          {
            "column_name": "revenue",
            "column_type": "FLOAT",
            "id": "550e8400-e29b-41d4-a716-446655440021",
            "name": "revenue"
          }
        ],
        "name": "Order facts",
        "properties": [
          {
            "column_name": "item_type",
            "column_type": "STRING",
            "id": "550e8400-e29b-41d4-a716-446655440023",
            "name": "item_type"
          }
        ],
        "sql": "SELECT user_id, order_id, item_type, revenue, created_at FROM analytics.orders",
        "subject_types": [
          {
            "column_name": "user_id",
            "subject_type_id": "550e8400-e29b-41d4-a716-446655440010",
            "unique_subject_count_measure_id": "550e8400-e29b-41d4-a716-446655440022"
          }
        ],
        "timestamp_column": "created_at",
        "updated_at": "2024-01-01T12:00:00Z"
      },
      "id": "550e8400-e29b-41d4-a716-446655440020",
      "type": "metric-sql-models"
    }
  ]
}

Invalid query parameter: bad page[offset]/page[limit], unknown sort field, 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/metric-sql-models" \ -H "Accept: application/json" \ -H "Authorization: Bearer ${DD_BEARER_TOKEN}"