---
title: "Summarize expected-vs-actual billing mismatches"
method: GET
path: "/admin/billing/mismatches/summary"
tags: ["Billing"]
---

# Summarize expected-vs-actual billing mismatches

`GET /admin/billing/mismatches/summary`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/admin/billing/mismatches/summary`
- Auth: API key in header `x-api-key`

Admin-only endpoint that summarizes mismatch flags into auto-repairable and manual-review groups for the requested updated-at window. Without an explicit time range, the summary defaults to the last 30 days.

## Query parameters

- `from` string
- `to` string
- `plan` 'Free' | 'Starter' | 'Growth' | 'Pro' | 'Business' | 'Enterprise' | 'Admin'
- `mismatch_flag` string
- `repair_status` 'pending' | 'running' | 'succeeded' | 'failed' | 'skipped'
- `exclude_test_accounts` boolean

## Headers

- `x-api-key` string, required

## Response `200`

Billing mismatch summary

- BillingStripeMismatchSummaryResponseDoc
  - `code` integer
  - `data` BillingStripeMismatchSummaryDoc
    - `auto_repairable` BillingStripeMismatchSummaryItemDoc[]
      - `actual_total_cents` integer
      - `delta_total_cents` integer
      - `expected_total_cents` integer
      - `invoice_count` integer
      - `mismatch_flag` string
    - `manual_review` BillingStripeMismatchSummaryItemDoc[]
      - `actual_total_cents` integer
      - `delta_total_cents` integer
      - `expected_total_cents` integer
      - `invoice_count` integer
      - `mismatch_flag` string
  - `msg` string

## Other responses

- `400`: Invalid query parameters
- `401`: Authentication required
- `403`: Admin plan required
- `500`: Internal server error

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
