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

# Introduction to the Data Quality Page

The Data Quality page is where you monitor the health of the OCPI data flowing between you, ENAPI, and your roaming partners. It shows how many data objects — Locations, Tariffs, Tokens, Sessions, and CDRs — are synced across each connection, so you can spot gaps before they affect roaming operations.

## Why this matters

When data quality breaks, the business breaks with it. Missing tokens mean drivers can't charge. Stale locations mean chargers don't appear in partner apps. Missing or malformed tariffs mean prices can't be displayed — or worse, the wrong price gets charged. CDRs that don't reconcile between partners turn into billing gaps and back-and-forth with support.

The Data Quality page gives your technical team a self-service way to verify sync completeness across every partnership, without waiting for support or querying databases.

## Accessing the page

Navigate to **Technical → Data Quality**.

## Two views

<table><thead><tr><th width="142.69140625">View</th><th>What it shows</th><th>Ask yourself</th></tr></thead><tbody><tr><td><strong>Your Data</strong></td><td>OCPI data your platform has synced to ENAPI</td><td>Does ENAPI have all my data?</td></tr><tr><td><strong>Partner Data</strong></td><td>OCPI data ENAPI has received from your partners</td><td>Do I have all my partners' data?</td></tr></tbody></table>

Each row in the table represents one handshake. Rows expand to show a breakdown by individual OCPI party.

## Your Data

The Your Data tab shows the OCPI objects your systems have synced with ENAPI, organized by platform and party.

<figure><img src="https://303450155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FheBP0sH0U1Rrp1jIot9S%2Fuploads%2FdbNarSWOBnDSy2DvE3ar%2FScreenshot%202026-05-05%20at%2017.39.21.png?alt=media&amp;token=52ed7c1c-f1ed-44df-a920-bddc67f759c7" alt="" width="563"><figcaption><p>Your Data — single-role CPO partner.</p></figcaption></figure>

<figure><img src="https://303450155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FheBP0sH0U1Rrp1jIot9S%2Fuploads%2F8UCo26iQAgQRmFuSOEMB%2FScreenshot%202026-05-05%20at%2017.39.21%20(1).png?alt=media&amp;token=4128eca5-4545-4b85-a345-48061157b45d" alt="" width="563"><figcaption><p>Your Data — dual-role CPO/eMSP partner.</p></figcaption></figure>

### Reading the table

The table groups data by handshake (your OCPI platform connection). Select the toggle on any handshake row to expand it and see the counts per party beneath.

* **Handshake > Party.** Your OCPI platform connection, and the parties connected to it.
* **Locations.** Locations synced — populated for CPOs.
* **Tariffs.** Tariffs synced — populated for CPOs.
* **Tokens.** Tokens synced — populated for eMSPs.
* **Sessions.** Sessions synced.
* **CDRs.** CDRs synced.

A dash (—) means that data type doesn't apply to this role.

Hover over the clock icon next to any count to see when that object type was last updated.

If the counts don't match what you expect, select **Contact Support** at the bottom of the table to flag the discrepancy.

## Partner Data

The Partner Data tab shows the OCPI objects your roaming partners have synced with ENAPI — the data that flows to you through each active connection.

<figure><img src="https://303450155-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FheBP0sH0U1Rrp1jIot9S%2Fuploads%2FkLHonI5luwIDQGQPxDA1%2FScreenshot%202026-05-05%20at%2017.42.55.png?alt=media&amp;token=67c8ce15-9cbe-4ed7-87b6-63f1ee5c54fb" alt="" width="563"><figcaption><p>Partner Data view — partner sync status per platform.</p></figcaption></figure>

Counts on this tab are refreshed daily. The last update time is shown in the top right.

### Reading the table

The table groups data by your handshake, then by partner, then by party. Select the toggle on any partner row to expand it and see counts per party.

* **Handshake > Partner > Party.** Your platform, the roaming partner, and their parties.
* **Locations.** Locations the partner has synced with ENAPI.
* **Tariffs.** Tariffs the partner has synced with ENAPI.
* **Tokens.** Tokens the partner has synced with ENAPI.
* **Sessions.** Sessions the partner has synced with ENAPI.
* **CDRs.** CDRs the partner has synced with ENAPI.

Hover over the clock icon next to any count to see when that object type was last updated for that party.

Compare the counts here against your own internal records. If ENAPI shows more objects than your systems have, data from your partner may not be reaching you correctly.

## When something doesn't match

* **For CPOs.** A missing token means a driver can't authenticate at the charge point — even though a roaming agreement is in place and the eMSP shows the location as available. Spot token sync gaps before they turn into failed sessions and support tickets.
* **For eMSPs.** A missing location means the charger won't appear in the app, even with an active roaming agreement. Verify that all partner locations are synced so drivers see every available charger.
* **For both.** Discrepancies between you and your partners cause missed revenue, failed sessions, billing gaps, and reconciliation problems. Use the Data Quality page to verify sync completeness across every partnership without waiting for support.


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.enapi.com/data-quality/introduction-to-the-data-quality-page.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
