Experiments

Update exposure SQL model

Replace an exposure SQL model. This is a full replacement and is destructive: any subject type or property not present in the body is deleted, and properties are matched on name, column_name and column_type together, so changing one of those replaces the property rather than editing it. Send the complete set you want to keep. Anything removed is listed under meta.removed_subject_type_ids and meta.removed_property_names in the response. The warehouse connection is not settable and is left as stored.

put/api/v2/experiments/exposure-sql-models/{exposure_sql_model_id}

Request

Path parameters

exposure_sql_model_idstring uuid required

The UUID of the exposure SQL model.

Example:550e8400-e29b-41d4-a716-446655440000

Query parameters

includestring[]

Optional fields to include. Repeat this parameter to request several fields. counts adds experiment_count to the updated model.

Request body

Example request

{
  "data": {
    "attributes": {
      "date_partition_column": null,
      "experiment_column": "experiment_id",
      "name": "Exposure events",
      "properties": [
        {
          "column_name": "country",
          "column_type": "STRING",
          "description": null,
          "name": "country"
        }
      ],
      "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",
      "variant_column": "variant"
    },
    "type": "exposure-sql-models"
  }
}

Response

OK

Example response

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

Changes

Changes to this operation have not been checked yet.