# Waffle Status as JSON

Although WaffleJS returns the status of all flags, switches, and samples, it does so by exposing a Javascript object, rather than returning the data in a directly consumable format.

In cases where a directly consumable format is preferable, Waffle also exposes this data as JSON via the `waffle_status` view.

## Using the view

Using the `waffle_status` view requires adding Waffle to your URL configuration. For example, in your `ROOT_URLCONF`:

    urlpatterns = patterns('',
        (r'^', include('waffle.urls')),
    )

This adds a route called `waffle_status`, which will return the current status of each flag, switch, and sample as JSON, with the following structure:

    {
        "flags": {
            "flag_active": {
                "is_active": true,
                "last_modified": "2020-01-01T12:00:00.000"
            },
            "flag_inactive": {
                "is_active": false,
                "last_modified": "2020-01-01T12:00:00.000"
            }
        },
        "switches": {
            "switch_active": {
                "is_active": true,
                "last_modified": "2020-01-01T12:00:00.000"
            },
            "switch_inactive": {
                "is_active": false,
                "last_modified": "2020-01-01T12:00:00.000"
            }
        },
        "samples": {
            "sample_active": {
                "is_active": true,
                "last_modified": "2020-01-01T12:00:00.000"
            },
            "sample_inactive": {
                "is_active": false,
                "last_modified": "2020-01-01T12:00:00.000"
            }
        }
    }