---
title: Migrate Indexed Logs and RUM in the Hourly Usage and Summary Usage APIs
description: >-
  Migration guide for the October 1, 2024 changes to hourly and summary usage
  APIs, covering new RUM keys and deprecated indexed logs groupings.
breadcrumbs: >-
  Docs > Account Management > Account Management Guides > Migrate Indexed Logs
  and RUM in the Hourly Usage and Summary Usage APIs
---

# Migrate Indexed Logs and RUM in the Hourly Usage and Summary Usage APIs

## Overview{% #overview %}

On October 1, 2024, two API endpoints will change:

- [Get hourly usage by product family](https://docs.datadoghq.com/api/latest/usage-metering.md#get-hourly-usage-by-product-family)
- [Get usage across your account](https://docs.datadoghq.com/api/latest/usage-metering.md#get-usage-across-your-account)

The RUM and Indexed Logs products are affected. See the following section for each API endpoint you use and review the updates to determine what changes to make to your automation.

## Get hourly usage by product family{% #get-hourly-usage-by-product-family %}

The October 1, 2024 change to the [Get hourly usage by product family](https://docs.datadoghq.com/api/latest/usage-metering.md#get-hourly-usage-by-product-family) endpoint deprecates legacy keys and provides more granular information about your RUM usage.

### RUM{% #rum %}

The following legacy keys will be deprecated:

- `rum_browser_sessions` product family:
  - `replay_session_count`
  - `session_count`
- `rum_mobile_sessions` product family:
  - `session_count`
  - `session_count_android`
  - `session_count_flutter`
  - `session_count_ios`
  - `session_count_reactnative`
  - `session_count_roku`
- `rum` product_family:
  - `browser_rum_units`
  - `mobile_rum_units`
  - `rum_units`

The following new keys will be added:

- `rum_replay_session_count`
- `rum_lite_session_count`
- `rum_browser_legacy_session_count`
- `rum_browser_replay_session_count`
- `rum_browser_lite_session_count`
- `rum_mobile_legacy_session_count_android`
- `rum_mobile_legacy_session_count_flutter`
- `rum_mobile_legacy_session_count_ios`
- `rum_mobile_legacy_session_count_reactnative`
- `rum_mobile_legacy_session_count_roku`
- `rum_mobile_lite_session_count_android`
- `rum_mobile_lite_session_count_flutter`
- `rum_mobile_lite_session_count_ios`
- `rum_mobile_lite_session_count_reactnative`
- `rum_mobile_lite_session_count_roku`

RUM usage in the **Get hourly usage by product family** endpoint will be shown under one `rum` product family with three keys representing SKUs that your RUM usage might be billed on:

- `rum`
- `rum_replay`
- `rum_lite`

Legacy product families and usage types will be deprecated and displayed as `null` in the **Get hourly usage by product family** endpoint.

#### Current response structure{% #current-response-structure %}

A current example of a response for the [Get hourly usage by product family](https://docs.datadoghq.com/api/latest/usage-metering.md#get-hourly-usage-by-product-family) endpoint follows:

```json
 {
  "data": [
     {
      "id": "abcd",
      "type": "usage_timeseries",
      "attributes": {
        "product_family": "rum",
        "org_name": "Test Org",
        "public_id": "abcd",
        "region": "us",
        "timestamp": "2024-04-01T00:00:00+00:00",
        "measurements": [
          {
            "usage_type": "browser_rum_units",
            "value": 100
          },
          {
            "usage_type": "mobile_rum_units",
            "value": null
          }
        ]
      }
    },
  ]
  {
    "id": "abcd",
    "type": "usage_timeseries",
    "attributes": {
      "product_family": "rum_browser_sessions",
      "org_name": "Test Org",
      "public_id": "abcd",
      "region": "us",
      "timestamp": "2024-04-01T00:00:00+00:00",
      "measurements": [
        {
          "usage_type": "replay_session_count",
          "value": 100
        },
        {
          "usage_type": "session_count",
          "value": 100
        }
      ]
    }
  },
  {
    "id": "abcd",
    "type": "usage_timeseries",
    "attributes": {
      "product_family": "rum_mobile_sessions",
      "org_name": "Test Org",
      "public_id": "abcd",
      "region": "us",
      "timestamp": "2024-04-01T00:00:00+00:00",
      "measurements": [
        {
          "usage_type": "session_count",
          "value": 0
        },
        {
          "usage_type": "session_count_android",
          "value": 100
        },
        {
          "usage_type": "session_count_flutter",
          "value": 0
        },
        {
          "usage_type": "session_count_ios",
          "value": 0
        },
        {
          "usage_type": "session_count_reactnative",
          "value": 0
        },
        {
          "usage_type": "session_count_roku",
          "value": 0
        }
      ]
    }
  }
}
```



#### Upcoming response structure{% #upcoming-response-structure %}

After October 1, 2024, the [Get hourly usage by product family](https://docs.datadoghq.com/api/latest/usage-metering.md#get-hourly-usage-by-product-family) endpoint will have the following example structure:

```json
{
   "data":[
      {
         "id":"abcd",
         "type":"usage_timeseries",
         "attributes":{
// One existing product family (rum) ; rum_browser_sessions and rum_mobile_sessions product families are deprecated below
            "product_family":"rum",
            "org_name":"Test Org",
            "public_id":"abcd",
            "region":"us",
            "timestamp":"2024-10-01T00:00:00+00:00",
            "measurements":[
// Three new keys representing SKUs that your RUM usage may be billed on
               {
                  "usage_type":"rum_total_session_count",
// SKU that your usage may be billed on. Null if the SKU is not active for your org
                  "usage":null
               },
               {
                  "usage_type":"rum_replay_session_count",
// SKU that your usage may be billed on. Null if the SKU is not active for your org
                  "usage":50
               },
               {
                  "usage_type":"rum_lite_session_count",
// SKU that your usage may be billed on. Null if the SKU is not active for your org
                  "usage":50
               },
// 13 possible usage types representing granular RUM usage data
               {
                  "usage_type":"browser_legacy_session_count",
                  "usage":0
               },
               {
                  "usage_type":"browser_lite_session_count",
                  "usage":50
               },
               {
                  "usage_type":"browser_replay_session_count",
                  "usage":50
               },
               {
                  "usage_type":"mobile_legacy_session_count_android",
                  "usage":0
               },
               {
                  "usage_type":"mobile_legacy_session_count_flutter",
                  "usage":0
               },
               {
                  "usage_type":"mobile_legacy_session_count_ios",
                  "usage":0
               },
               {
                  "usage_type":"mobile_legacy_session_count_reactnative",
                  "usage":0
               },
               {
                  "usage_type":"mobile_legacy_session_count_roku",
                  "usage":0
               },
               {
                  "usage_type":"mobile_lite_session_count_android",
                  "usage":0
               },
               {
                  "usage_type":"mobile_lite_session_count_flutter",
                  "usage":0
               },
               {
                  "usage_type":"mobile_lite_session_count_ios",
                  "usage":0
               },
               {
                  "usage_type":"mobile_lite_session_count_reactnative",
                  "usage":0
               },
               {
                  "usage_type":"mobile_lite_session_count_roku",
                  "usage":0
               },
// Legacy usage types are nulled out
               {
                  "usage_type":"browser_rum_units",
                  "value":null
               },
               {
                  "usage_type":"mobile_rum_units",
                  "value":null
               },
               {
                  "usage_type":"rum_units",
                  "value":null
               }
            ]
         }
      }
   ]
}









// One active existing product family (rum); rum_browser_sessions and rum_mobile_sessions product families are legacy product families and are represented as null
{
   "data":[
      {
         "id":"abcd",
         "type":"usage_timeseries",
         "attributes":{
            "product_family":"rum_browser_sessions",
            "org_name":"Test Org",
            "public_id":"abcd",
            "region":"us",
            "timestamp":"2024-10-01T00:00:00+00:00",
            "measurements":[
               {
                  "usage_type":"replay_session_count",
                  "value":null
               },
               {
                  "usage_type":"session_count",
                  "value":null
               }
            ]
         }
      },
      {
         "id":"abcd",
         "type":"usage_timeseries",
         "attributes":{
            "product_family":"rum_mobile_sessions",
            "org_name":"Test Org",
            "public_id":"abcd",
            "region":"us",
            "timestamp":"2024-10-01T00:00:00+00:00",
            "measurements":[
               {
                  "usage_type":"session_count",
                  "value":null
               },
               {
                  "usage_type":"session_count_android",
                  "value":null
               },
               {
                  "usage_type":"session_count_flutter",
                  "value":null
               },
               {
                  "usage_type":"session_count_ios",
                  "value":null
               },
               {
                  "usage_type":"session_count_reactnative",
                  "value":null
               },
               {
                  "usage_type":"session_count_roku",
                  "value":null
               }
            ]
         }
      }
   ]
}
```

## Get usage across your account{% #get-usage-across-your-account %}

The October 1, 2024 change to the [Get usage across your account](https://docs.datadoghq.com/api/latest/usage-metering.md#get-usage-across-your-account) endpoint deprecates legacy keys and provides more granular information about your RUM and indexed logs usage.

### RUM{% #rum-1 %}

The following keys will be deprecated:

- `rum_units_agg_sum`
- `browser_rum_units_agg_sum`
- `mobile_rum_units_agg_sum`
- `browser_rum_lite_session_count_agg_sum`
- `browser_replay_session_count_agg_sum`
- `browser_legacy_session_count_agg_sum`
- `mobile_rum_lite_session_count_agg_sum`
- `rum_browser_and_mobile_session_count_agg_sum`
- `browser_rum_legacy_and_lite_session_count_agg_sum`
- `rum_total_session_count_agg_sum`
- `rum_session_count_agg_sum`
- `mobile_rum_session_count_agg_sum`
- `mobile_rum_session_count_ios_agg_sum`
- `mobile_rum_session_count_android_agg_sum`
- `mobile_rum_session_count_reactnative_agg_sum`
- `mobile_rum_session_count_flutter_agg_sum`
- `mobile_rum_session_count_roku_agg_sum`
- `rum_indexed_events_count_agg_sum`

The following new keys describe RUM usage:

- `rum_replay_session_count_agg_sum`
- `rum_lite_session_count_agg_sum`
- `rum_browser_legacy_session_count_agg_sum`
- `rum_browser_replay_session_count_agg_sum`
- `rum_browser_lite_session_count_agg_sum`
- `rum_mobile_legacy_session_count_android_agg_sum`
- `rum_mobile_legacy_session_count_flutter_agg_sum`
- `rum_mobile_legacy_session_count_ios_agg_sum`
- `rum_mobile_legacy_session_count_reactnative_agg_sum`
- `rum_mobile_legacy_session_count_roku_agg_sum`
- `rum_mobile_lite_session_count_android_agg_sum`
- `rum_mobile_lite_session_count_flutter_agg_sum`
- `rum_mobile_lite_session_count_ios_agg_sum`
- `rum_mobile_lite_session_count_reactnative_agg_sum`
- `rum_mobile_lite_session_count_roku_agg_sum`

RUM usage in the **Get usage across your account** endpoint will include three keys representing SKUs that your RUM usage might be billed on:

- `rum`
- `rum_replay`
- `rum_lite`

The SKUs that are not active for your org will be null. The 13 usage types will provide granular usage summaries under the RUM SKU.

#### Current response structure{% #current-response-structure-1 %}

A current example of a response for the [Get usage across your account](https://docs.datadoghq.com/api/latest/usage-metering.md#get-usage-across-your-account) endpoint follows:

```json
{
  "usage": {
    "rum_session_count_agg_sum": 7441533,
    "mobile_rum_session_count_flutter_agg_sum": 0,
    "mobile_rum_session_count_ios_agg_sum": 0,
    "rum_total_session_count_agg_sum": 7618504,
    "rum_browser_and_mobile_session_count_agg_sum": 7441533,
    "mobile_rum_session_count_android_agg_sum": 0,
    "mobile_rum_session_count_reactnative_agg_sum": 0,
    "mobile_rum_session_count_roku_agg_sum": 0,
     },
    { ... // Summary usage by sub-organization }
}
```



#### Upcoming response structure{% #upcoming-response-structure-1 %}

After October 1, 2024, the [Get usage across your account](https://docs.datadoghq.com/api/latest/usage-metering.md#get-usage-across-your-account) endpoint will have the following example structure:

```json
{
   "start_date":"2024-10",
   "end_date":"2024-10",
   "last_updated":"2024-10-01T00",
// Three keys representing SKUs that your RUM usage may be billed on 
   "rum_total_session_count_agg_sum":null,
   "rum_replay_session_count_agg_sum":50,
   "rum_lite_session_count_agg_sum":null,

// RUM usage types representing granular RUM usage data
   "rum_browser_legacy_session_count_agg_sum":0,
   "rum_browser_lite_session_count_agg_sum":183911,
   "rum_browser_replay_session_count_agg_sum":5576,
   "rum_mobile_legacy_session_count_android_agg_sum":0,
   "rum_mobile_legacy_session_count_flutter_agg_sum":0,
   "rum_mobile_legacy_session_count_ios_agg_sum":0,
   "rum_mobile_legacy_session_count_reactnative_agg_sum":0,
   "rum_mobile_legacy_session_count_roku_agg_sum":0,
   "rum_mobile_lite_session_count_android_agg_sum":0,
   "rum_mobile_lite_session_count_flutter_agg_sum":0,
   "rum_mobile_lite_session_count_ios_agg_sum":0,
   "rum_mobile_lite_session_count_reactnative_agg_sum":0,
   "rum_mobile_lite_session_count_roku_agg_sum":0,
   
// Legacy usage keys are nulled
   "rum_session_count_agg_sum": null,
   "mobile_rum_session_count_flutter_agg_sum": null,
   "mobile_rum_session_count_ios_agg_sum": null,
   "rum_browser_and_mobile_session_count_agg_sum": null,
   "mobile_rum_session_count_android_agg_sum": null,
   "mobile_rum_session_count_reactnative_agg_sum": null,
   "mobile_rum_session_count_roku_agg_sum": null

"usage":[
      {
         "date":"2024-10",
         "orgs":[
            {
               "name":"Sub-Org 1",
               "id":"cd996121d",
               "public_id":"cd996121d",
               "uuid":"28d17f18-00cc-11ea-a77b-97323eff26a7",
               "region":"us"
               ... // Summary usage by sub-organization
            }
         ]
      }
   ]
}
```

### Indexed Logs{% #indexed-logs %}

Keys that represent total usage across all retentions will be deprecated and displayed as `null`. These keys are:

- `indexed_events_count_sum`
- `live_indexed_events_agg_sum`
- `rehydrated_indexed_events_agg_sum`

You can continue to calculate the usage across all retention periods by summing the individual retention keys.

#### Current response structure{% #current-response-structure-2 %}

A current example of a response for the [Get usage across your account](https://docs.datadoghq.com/api/latest/usage-metering.md#get-usage-across-your-account) endpoint follows:

```json
{
  "usage": {
    "rehydrated_indexed_events_agg_sum": 150,
    "live_indexed_events_agg_sum": 150,
    "logs_indexed_logs_usage_agg_sum_15_day": 100,
    "logs_indexed_logs_usage_agg_sum_3_day": 100,
    "logs_indexed_logs_usage_agg_sum_30_day": 100
  },
  "orgs": [
    {
      "name": "Sub-Org 1",
      "public_id": "abcd",
      "uuid": "abcd",
      "region": "eu",
      "usage": {
        "indexed_events_count_sum": 200,
        "live_indexed_events_sum": 100,
        "rehydrated_indexed_events_sum": 100,
        "logs_indexed_logs_usage_sum_15_day": 100,
        "logs_indexed_logs_usage_sum_30_day": 100
      }
    },
  ]
{ … // Summary usage by sub-organization }
}
```



#### Upcoming response structure{% #upcoming-response-structure-2 %}

After October 1, 2024, the [Get usage across your account](https://docs.datadoghq.com/api/latest/usage-metering.md#get-usage-across-your-account) endpoint will have the following example structure:

```json
{
   "start_date":"2024-10",
   "end_date":"2024-10",
   "last_updated":"2024-10-01T00",
   // Deprecated intermediate groupings are nulled
   "indexed_events_count_agg_sum": null,
   "live_indexed_events_agg_sum": null,
   "rehydrated_indexed_events_agg_sum": null,
   "usage":[
      {
         "date":"2024-10",
         "orgs":[
            {
               "name":"Sub-Org 1",
               "id":"abcd",
               "public_id":"abcd",
               "uuid":"abcd",
               "region":"us",
   // Deprecated intermediate groupings are nulled
               "indexed_events_count_sum": null,
               "live_indexed_events_sum": null,
               "rehydrated_indexed_events_sum": null,
               "logs_indexed_logs_usage_sum_15_day": 100,
               "logs_indexed_logs_usage_sum_30_day": 100
            },
            {
               "name":"Sub-Org 2",
               "id":"abcd",
               "public_id":"abcd",
               "uuid":"abcd",
               "region":"us",
   // Deprecated intermediate groupings are nulled
               "indexed_events_count_sum": null,
               "live_indexed_events_sum": null,
               "rehydrated_indexed_events_sum": null,
               "logs_indexed_logs_usage_sum_15_day": 100,
               "logs_indexed_logs_usage_sum_30_day": 100
            },
         ]
      }
   ]
}
```
