> For the complete documentation index, see [llms.txt](https://rudderlabs.gitbook.io/rudderlabs-1/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rudderlabs.gitbook.io/rudderlabs-1/docs/data-governance/index.md).

# Data Governance

Modern companies generate real-time events across their websites and applications. These events are mainly used by the product and marketing teams to better understand the customers' product interactions. They are captured in a specific format which generally includes the event name, properties, and the associated metadata.

To effectively analyze customer behavior or drive high-value marketing campaigns and personalizations, teams rely on the consistency of the event data formats. Any inconsistency in the events can lower the quality of analytics significantly and requires a lot of time and engineering effort to clean up.

In reality, however, as multiple stakeholders define and implement the event specifications differently, there are always some inconsistencies introduced in the event data. Some of the reasons for these inconsistencies include:

* **Missing fields**
* **Capitalization/Casing errors** - For example, one event sets the product name in the lower case, while another sets it in the upper case.
* **Unit errors** - For example, one event tracks the revenue in pounds, while another tracks it in dollars.

## RudderStack Data Governance API

RudderStack's [**Data Governance API**](https://rudderstack.com/docs/data-governance/rudderstack-data-governance-api/) gives you the ability to access all your events and their metadata programmatically. This includes vital information related to the event schema, event payload versions, data types, and more.

By leveraging the Data Governance API, the data engineering team can narrow down the specific nature and source of any event data inconsistencies. With these insights, they update the instrumentation or leverage [**RudderStack Transformations**](https://rudderstack.com/docs/transformations) to clean the incoming events.

The following video gives you a quick overview of the Data Governance API:

\<YouTube videoId={'fs3Nkzm-NqY'} opts={{playerVars: {start: 0, rel: 0}}} />

## Using the Data Governance API

You can use the Data Governance API to investigate and troubleshoot any event data inconsistencies by following the steps listed below:

1. Get all the event models into RudderStack using [**`schemas/event-models`**](https://rudderstack.com/docs/data-governance/rudderstack-data-governance-api/#schemas-event-models).
2. Identify the event models' source.
3. Count the event models to determine the number for each event type.
4. Identify the differences in the schema versions for a single event model using [**`schemas/event-versions`**](https://rudderstack.com/docs/data-governance/rudderstack-data-governance-api/#schemas-event-versions).

The Data Governance API also lets you gather other useful diagnostics related to both the events as well as the individual event schema versions. You can use this information to find and fix issues in your events.

Once you have identified the inconsistencies, you can implement specific processes and set alerts for your data governance workflows. For example, you can create alerts for notifying any missing keys in your events, or use RudderStack's [**Transformations**](https://www.rudderstack.com/docs/transformations/) feature to validate your event schemas and transform the faulty incoming event payloads.

Refer to this [RudderStack Blog](https://rudderstack.com/blog/rudderstacks-data-governance-api) for step-by-step instructions on using the Data Governance API.

## Contact us

For queries on any of the sections covered in this guide, you can [**contact us**](mailto:%20docs@rudderstack.com) or start a conversation in our [**Slack**](https://rudderstack.com/join-rudderstack-slack-community) community.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rudderlabs.gitbook.io/rudderlabs-1/docs/data-governance/index.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
