> ## Documentation Index
> Fetch the complete documentation index at: https://launchdarkly.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Warehouse Data Export schema reference

<View title="Developer" />

<View title="Federal docs">
  <Danger>
    **This integration is not available in federal environments**

    To learn more, read <a href="/docs/home/infrastructure/federal">LaunchDarkly in federal environments</a>.
  </Danger>
</View>

<View title="EU docs" />

This topic explains the different event kinds for warehouse Data Export destinations. The schemas for warehouse Data Export destinations are formatted differently than the LaunchDarkly [streaming Data Export integrations](/docs/integrations/data-export/schema-reference).

## Evaluation events

The `evaluation_events` table includes details for each individual feature flag evaluation. The schema fans out flag evaluations with multi-contexts into separate rows, one for each context kind. Evaluations that occurred as an experiment exposure include an `experiment_iteration_id`.

<table>
  <thead>
    <tr>
      <th>Column name</th>
      <th>Type</th>
      <th>Example</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>event\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`671a6cc51ac07d3f1be70ab2`</td>
      <td>The ID of the event.</td>
    </tr>

    <tr>
      <td>flag\_key</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`flag-key`</td>
      <td>The key of the feature flag requested.</td>
    </tr>

    <tr>
      <td>context\_key</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`example-user-key`</td>
      <td>The key of the context that the flag was evaluated for.</td>
    </tr>

    <tr>
      <td>context\_kind</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`user`</td>
      <td>The kind of the context that the flag was evaluated for.</td>
    </tr>

    <tr>
      <td>context\_attributes</td>

      <td>
        JSON (BigQuery)<br />
        string (Databricks)<br />
        super (Redshift)<br />
        variant (Snowflake)
      </td>

      <td>`{ "attribute_name": "attribute_value" }`</td>
      <td>The attributes of the context that the flag was evaluated for.</td>
    </tr>

    <tr>
      <td>variation\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`e4959af7-0481-4878-b9c3-a3075c1cf685`</td>
      <td>The ID of the variation of the flag requested.</td>
    </tr>

    <tr>
      <td>variation\_value</td>

      <td>
        JSON (BigQuery)<br />
        string (Databricks)<br />
        super (Redshift)<br />
        variant (Snowflake)
      </td>

      <td>`false`</td>
      <td>The value of the variation that the flag served.</td>
    </tr>

    <tr>
      <td>reason\_kind (optional)</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`FALLTHROUGH`</td>
      <td>The reason a context instance receives a given flag variation. Included only if the flag being evaluated was in an experiment and the target was part of the experiment allocation, or if you called a variation detail method.</td>
    </tr>

    <tr>
      <td>reason\_detail (optional)</td>

      <td>
        JSON (BigQuery)<br />
        string (Databricks)<br />
        super (Redshift)<br />
        variant (Snowflake)
      </td>

      <td>`{ "in_experiment": true }`</td>
      <td>Other attributes detailing the reason for the flag variation.</td>
    </tr>

    <tr>
      <td>experiment\_iteration\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`14e2dff3-cbf9-4ffc-b99e-88c83555f4c6`</td>
      <td>The ID of an associated experiment iteration. Included only if the flag was evaluated as an experiment exposure.</td>
    </tr>

    <tr>
      <td>received\_time</td>

      <td>
        timestamp (BigQuery, Databricks, Snowflake)<br />
        timestamptz (Redshift)
      </td>

      <td>`2024-10-22T17:00:00Z`</td>
      <td>The time (UTC) the evaluation event was received in second precision.</td>
    </tr>

    <tr>
      <td>created\_time</td>

      <td>
        timestamp (BigQuery, Databricks, Snowflake)<br />
        timestamptz (Redshift)
      </td>

      <td>`2024-10-22T17:00:00.000Z`</td>
      <td>The time (UTC) the evaluation event was created in millisecond precision.</td>
    </tr>

    <tr>
      <td>environment\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`671874fe99197c658ae2cbd2`</td>
      <td>The client-side ID for the LaunchDarkly environment.</td>
    </tr>

    <tr>
      <td>export\_key (primary key)</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`ceec8d94-2a31-4981-9a20-1fb7f5cb44e3`</td>
      <td>This key is generated by hashing the combined event\_id, context\_kind, and context\_key.</td>
    </tr>
  </tbody>
</table>

## Metric events

The `metric_events` table includes custom metric events, which the SDK produces when the client application calls the SDK's [track method](/docs/sdk/features/events). The schema fans out metric events with multi-contexts into separate rows, one for each context kind.

<table>
  <thead>
    <tr>
      <th>Column name</th>
      <th>Type</th>
      <th>Example</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>event\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`671a6cd294bbf76b5dfdd870`</td>
      <td>The ID of the event.</td>
    </tr>

    <tr>
      <td>kind</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`custom`</td>
      <td>The kind of the event. Only custom metric events are available.</td>
    </tr>

    <tr>
      <td>context\_kind</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`user`</td>
      <td>The kind of the context for the metric event.</td>
    </tr>

    <tr>
      <td>context\_key</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`example-user-key`</td>
      <td>The key of the context for the metric event.</td>
    </tr>

    <tr>
      <td>context\_attributes</td>

      <td>
        JSON (BigQuery)<br />
        string (Databricks)<br />
        super (Redshift)<br />
        variant (Snowflake)
      </td>

      <td>`{ "attribute_name": "attribute_value" }`</td>
      <td>The attributes of the context for the metric event.</td>
    </tr>

    <tr>
      <td>event\_key</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`order-placed`</td>
      <td>The event key.</td>
    </tr>

    <tr>
      <td>event\_value (optional)</td>

      <td>
        float (BigQuery, Databricks, Snowflake)<br />
        double precision (Redshift)
      </td>

      <td>`3.1`</td>
      <td>The event value.</td>
    </tr>

    <tr>
      <td>data (optional)</td>

      <td>
        JSON (BigQuery)<br />
        string (Databricks)<br />
        super (Redshift)<br />
        variant (Snowflake)
      </td>

      <td>`{ "some-key": "customer-provided-data" }`</td>
      <td>Custom data attached to the event.</td>
    </tr>

    <tr>
      <td>received\_time</td>

      <td>
        timestamp (BigQuery, Databricks, Snowflake)<br />
        timestamptz (Redshift)
      </td>

      <td>`2024-10-22T17:00:00Z`</td>
      <td>The time (UTC) the metric event was received in second precision.</td>
    </tr>

    <tr>
      <td>created\_time</td>

      <td>
        timestamp (BigQuery, Databricks, Snowflake)<br />
        timestamptz (Redshift)
      </td>

      <td>`2024-10-22T17:00:00.000Z`</td>
      <td>The time (UTC) the metric event was created in millisecond precision.</td>
    </tr>

    <tr>
      <td>environment\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`671874fe99197c658ae2cbd2`</td>
      <td>The client-side ID for the LaunchDarkly environment.</td>
    </tr>

    <tr>
      <td>export\_key (primary key)</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`16aa074e-d311-4bd8-90cc-2ea5f7924a8f`</td>
      <td>This key is generated by hashing the combined event\_id, context\_kind, and context\_key.</td>
    </tr>
  </tbody>
</table>

## Experiment iterations

The `experiment_iterations` table includes metadata about the experiment iterations created for your LaunchDarkly environment.

<table>
  <thead>
    <tr>
      <th>Column name</th>
      <th>Type</th>
      <th>Example</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>iteration\_id (primary key)</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`14e2dff3-cbf9-4ffc-b99e-88c83555f4c6`</td>
      <td>The ID of the experiment iteration.</td>
    </tr>

    <tr>
      <td>iteration\_number</td>
      <td>number</td>
      <td>`1`</td>
      <td>The experiment iteration number.</td>
    </tr>

    <tr>
      <td>experiment\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`4f045bb9-d853-4cfe-af06-299f96480119`</td>
      <td>The ID of the experiment.</td>
    </tr>

    <tr>
      <td>experiment\_name</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`My sales volume experiment`</td>
      <td>The name of the experiment.</td>
    </tr>

    <tr>
      <td>randomization\_unit</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`user`</td>
      <td>The context kind chosen as the randomization unit for the experiment.</td>
    </tr>

    <tr>
      <td>started\_at</td>

      <td>
        timestamp (BigQuery, Databricks, Snowflake)<br />
        timestamptz (Redshift)
      </td>

      <td>`2024-10-22T15:00:00Z`</td>
      <td>The start time (UTC) of the experiment.</td>
    </tr>

    <tr>
      <td>ended\_at (optional)</td>

      <td>
        timestamp (BigQuery, Databricks, Snowflake)<br />
        timestamptz (Redshift)
      </td>

      <td>`null`</td>
      <td>The end time (UTC) of the experiment.</td>
    </tr>

    <tr>
      <td>updated\_at</td>

      <td>
        timestamp (BigQuery, Databricks, Snowflake)<br />
        timestamptz (Redshift)
      </td>

      <td>`2024-10-22T15:00:00Z`</td>
      <td>The time (UTC) that this iteration or experiment was last updated.</td>
    </tr>

    <tr>
      <td>environment\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`671874fe99197c658ae2cbd2`</td>
      <td>The client-side ID for the LaunchDarkly environment.</td>
    </tr>
  </tbody>
</table>

## Experiment arm parameters

The `experiment_arm_parameters` table includes metadata about the experiment arms you created for your experiments, including the flag variations configured for them.

<table>
  <thead>
    <tr>
      <th>Column name</th>
      <th>Type</th>
      <th>Example</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>arm\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`62c977b6-6b1d-4559-9326-7b2be677c30e`</td>
      <td>The ID of the experiment arm.</td>
    </tr>

    <tr>
      <td>arm\_name</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`control`</td>
      <td>The name of the experiment arm.</td>
    </tr>

    <tr>
      <td>experiment\_iteration\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`14e2dff3-cbf9-4ffc-b99e-88c83555f4c6`</td>
      <td>The ID of the experiment iteration.</td>
    </tr>

    <tr>
      <td>flag\_variation\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`e4959af7-0481-4878-b9c3-a3075c1cf685`</td>
      <td>The ID of the flag variation configured for the experiment arm.</td>
    </tr>

    <tr>
      <td>flag\_variation\_value</td>

      <td>
        JSON (BigQuery)<br />
        string (Databricks)<br />
        super (Redshift)<br />
        variant (Snowflake)
      </td>

      <td>`false`</td>
      <td>The value of the flag variation.</td>
    </tr>

    <tr>
      <td>is\_arm\_baseline</td>
      <td>boolean</td>
      <td>`true`</td>
      <td>Whether the experiment arm is the baseline.</td>
    </tr>

    <tr>
      <td>updated\_at</td>

      <td>
        timestamp (BigQuery, Databricks, Snowflake)<br />
        timestamptz (Redshift)
      </td>

      <td>`2024-10-22T15:00:00Z`</td>
      <td>The time (UTC) that this experiment arm was last updated.</td>
    </tr>

    <tr>
      <td>environment\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`671874fe99197c658ae2cbd2`</td>
      <td>The client-side ID for the LaunchDarkly environment.</td>
    </tr>

    <tr>
      <td>export\_key (primary key)</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`d1628066-49c7-45a9-ad7f-03339fc76245`</td>
      <td>This key is generated by hashing the combined arm\_id and flag\_variation\_id.</td>
    </tr>
  </tbody>
</table>

## Flag variations

The `flag_variations` table includes metadata about your feature flags and their flag variations. Fields on this table are mutable, and the exported table will be updated to reflect their most up-to-date states. At this time, cloned flags and their variations are missing from the exported data.

<table>
  <thead>
    <tr>
      <th>Column name</th>
      <th>Type</th>
      <th>Example</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>variation\_id (primary key)</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`e4959af7-0481-4878-b9c3-a3075c1cf685`</td>
      <td>The ID of the flag variation.</td>
    </tr>

    <tr>
      <td>variation\_name (optional)</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`control`</td>
      <td>The name of the flag variation.</td>
    </tr>

    <tr>
      <td>variation\_value</td>

      <td>
        JSON (BigQuery)<br />
        string (Databricks)<br />
        super (Redshift)<br />
        variant (Snowflake)
      </td>

      <td>`false`</td>
      <td>The value of the flag variation.</td>
    </tr>

    <tr>
      <td>flag\_key</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`flag-key-123bc`</td>
      <td>The key of the feature flag.</td>
    </tr>

    <tr>
      <td>flag\_name</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`My boolean flag`</td>
      <td>The name of the feature flag.</td>
    </tr>

    <tr>
      <td>updated\_at</td>

      <td>
        timestamp (BigQuery, Databricks, Snowflake)<br />
        timestamptz (Redshift)
      </td>

      <td>`2024-10-22T14:00:00Z`</td>
      <td>The time (UTC) the flag or variation was last updated.</td>
    </tr>

    <tr>
      <td>environment\_id</td>

      <td>
        string (BigQuery, Databricks)<br />
        varchar (Redshift, Snowflake)
      </td>

      <td>`671874fe99197c658ae2cbd2`</td>
      <td>The client-side ID for the LaunchDarkly environment.</td>
    </tr>
  </tbody>
</table>

## LaunchDarkly internal tables

Tables prefixed with `ld_internal_` are for LaunchDarkly internal use only, and are subject to change without warning.
