---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.3
alternate:
  - https://divkit.tech/docs/en/concepts/divs/2/div-data.md
  - https://divkit.tech/docs/ru/concepts/divs/2/div-data.md
---
> **Documentation Index:** Fetch the complete configuration index at https://divkit.tech/docs/en/llms.txt

# div-data
Root structure.

## Parameters
| Parameters | Description |
| --- | --- |
| `log_id` | <p>**string**</p><p>Required parameter.</p><p>Logging ID.</p> |
| `states` | <p>**array**</p><p>Required parameter.</p><p>A set of visual element states. Each element can have a few states with a different layout. The states are displayed strictly one by one and switched using [action](div-action.md).</p><p>An array must not be empty.</p> |
| `functions` | <p>**array**</p><p>User functions.</p><p>Available platforms: Android, iOS, web.</p> |
| `timers` | <p>**array**</p><p>List of timers.</p> |
| `transition_animation_selector` | <p>**string**</p><p>Parameter is deprecated.</p><p>Events that trigger transition animations.</p><p>Possible values: `none`, `data_change`, `state_change`, `any_change`.</p><p>Default value: `none`.</p><p>Available platforms: Android, iOS.</p> |
| `variable_triggers` | <p>**array**</p><p>Triggers for changing variables.</p> |
| `variables` | <p>**array**</p><p>Declaration of variables that can be used in an element.</p><p>List of possible values:<li>[string_variable](string_variable.md#string_variable)</li><li>[number_variable](number_variable.md#number_variable)</li><li>[integer_variable](integer_variable.md#integer_variable)</li><li>[boolean_variable](boolean_variable.md#boolean_variable)</li><li>[color_variable](color_variable.md#color_variable)</li><li>[url_variable](url_variable.md#url_variable)</li><li>[dict_variable](dict_variable.md#dict_variable)</li><li>[array_variable](array_variable.md#array_variable)</li><li>[property_variable](property_variable.md#property_variable)</li></p> |

### state
| Parameters | Description |
| --- | --- |
| `div` | <p>**object**</p><p>Required parameter.</p><p>Contents.</p><p>The value has the type `div`.</p><p>List of possible values:<li>[div-image](div-image.md#div-image)</li><li>[div-gif-image](div-gif-image.md#div-gif-image)</li><li>[div-text](div-text.md#div-text)</li><li>[div-separator](div-separator.md#div-separator)</li><li>[div-container](div-container.md#div-container)</li><li>[div-grid](div-grid.md#div-grid)</li><li>[div-gallery](div-gallery.md#div-gallery)</li><li>[div-pager](div-pager.md#div-pager)</li><li>[div-tabs](div-tabs.md#div-tabs)</li><li>[div-state](div-state.md#div-state)</li><li>[div-custom](div-custom.md#div-custom)</li><li>[div-indicator](div-indicator.md#div-indicator)</li><li>[div-slider](div-slider.md#div-slider)</li><li>[div-switch](div-switch.md#div-switch)</li><li>[div-input](div-input.md#div-input)</li><li>[div-select](div-select.md#div-select)</li><li>[div-video](div-video.md#div-video)</li></p> |
| `state_id` | <p>**int**</p><p>Required parameter.</p><p>State ID.</p> |

<details>
<summary>JSON</summary>

```json
{
  functions: [
    {
      arguments*: [
        {
          name*: "string",
          type*: "string"
        },
        ...
      ],
      body*: "string",
      name*: "string",
      return_type*: "string"
    },
    ...
  ],
  log_id*: "string",
  states*: [
    {
      div*: div,
      state_id*: "int"
    },
    ...
  ],
  timers: [
    {
      duration: "int",
      end_actions: [
        {
          download_callbacks: {
            on_fail_actions: [ div-action, ... ],
            on_success_actions: [ div-action, ... ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          scope_id: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      id*: "string",
      tick_actions: [
        {
          download_callbacks: {
            on_fail_actions: [ div-action, ... ],
            on_success_actions: [ div-action, ... ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          scope_id: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      tick_interval: "int",
      value_variable: "string"
    },
    ...
  ],
  transition_animation_selector: "string",
  variable_triggers: [
    {
      actions*: [
        {
          download_callbacks: {
            on_fail_actions: [ div-action, ... ],
            on_success_actions: [ div-action, ... ]
          },
          is_enabled: "bool_int",
          log_id*: "string",
          log_url: "string",
          menu_items: [
            {
              action: div-action,
              actions: [ div-action, ... ],
              text*: "string"
            },
            ...
          ],
          payload: "object",
          referer: "string",
          scope_id: "string",
          target: "string",
          typed: div-action-typed,
          url: "string"
        },
        ...
      ],
      condition*: "bool_int",
      mode: "string"
    },
    ...
  ],
  variables: [ div-variable, ... ]
}
```
</details>
