---
title: "Customer current MRR state (accountant mirror)"
method: GET
path: "/accountant/companies/{customerId}/metrics/mrr-state"
tags: ["Overview"]
---

# Customer current MRR state (accountant mirror)

`GET /accountant/companies/{customerId}/metrics/mrr-state`

## Request

- Base URL: `https://api.medianfi.com/api/v1`
- URL: `https://api.medianfi.com/api/v1/accountant/companies/{customerId}/metrics/mrr-state`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Accountant mirror of the company current-MRR read. An explicit entityId must be one of the customer's concrete entities; absent, the sole concrete entity is selected. Multiple entities require selection (422 ENTITY_SELECTION_REQUIRED); no concrete entity returns 422 ENTITY_SCOPE_UNAVAILABLE. Returns a persisted current recurring run-rate revision, separate from completed-month MRR and movement history. This read performs no provider requests, refresh, publication or financial writes. enabled is presentation permission, not evidence of freshness. An unavailable or withheld current value is null, never fabricated zero. No historical coverage is inferred. Responses use Cache-Control private, no-store.

## Query parameters

- `entityId` string, uuid

## Response `200`

Current state, freshness metadata and separately unavailable history.

- MrrCurrentStateResponse
  - `success` true, required
  - `data` MrrCurrentStateData, required
    - `contract` 'median.mrr_current_state', required
    - `contractVersion` 1, required
    - `companyId` string, uuid, required
    - `entityId` string, uuid, required
    - `enabled` boolean, required: home_saas_metrics presentation permission; does not establish current-data readiness.
    - `enrolled` boolean, required: An incremental enrollment exists. Suspended enrollment does not authorize a classic-current fallback.
    - `mode` 'incremental' | 'null', nullable, required
    - `state` 'initializing' | 'live' | 'catching_up' | 'stale' | 'unavailable', required
    - `reason` string, nullable, required: Customer-safe readiness reason, or null when no reason is needed. Internal provider identities and payloads are never included.
    - `revision` string, nullable, required: Exact entity publication revision, without floating-point conversion.
    - `readAt` string, date-time, required
    - `current` MrrCurrentBlock, required
      - `asOf` string, date-time, required: UTC publication time of this revision, not a completed-month accounting as-of.
      - `currency` string, required
      - `minorUnitExponent` integer, required
      - `currentMinorUnits` string, required: Exact normalized current recurring run-rate in currency minor units.
      - `projectedMinorUnits` string, required
      - `contractedMinorUnits` string, required
      - `payingSubscriptionCount` integer, required
      - `activeSubscriptionCount` integer, required
      - `activeCustomerCount` integer, required
      - `intervalSplit` MrrCurrentIntervalRow[], required
        - `key` 'monthly' | 'annual' | 'other', required
        - `mrrMinorUnits` string, required
        - `subscriptionCount` integer, required
    - `freshness` MrrCurrentFreshness, required
      - `publishedAt` string, date-time, nullable, required
      - `recoveryCompletedThrough` string, date-time, nullable, required: Oldest completed recovery frontier; null if any source frontier is unknown.
      - `oldestPendingReceivedAt` string, date-time, nullable, required
      - `pendingWorkCount` integer, required
      - `pendingWorkCountIsLowerBound` boolean, required: True when the reader capped the count; the actual backlog is at least this value.
      - `heldWorkCount` integer, required
      - `baselineCompletedAt` string, date-time, nullable, required: Completion time of the baseline provider walk; null when no completed walk is recorded.
      - `lastReconciledAt` string, date-time, nullable, required: Null when no independently recorded reconciliation time is available.
    - `history` object, required
      - `status` 'unavailable', required
      - `reason` 'not_proven', required
      - `completeFrom` unknown, required

## Other responses

- `401`: Authentication required
- `403`: Insufficient permissions or not a company member
- `404`: Current-state service is unavailable, or the selected company/entity does not exist in scope.
- `422`: Request failed validation
- `503`: Legal-entity scope or current-state read authority could not be established.

---

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