---
title: "Get Revenue"
method: GET
path: "/companies/{company_id}/stripe/revenue"
tags: ["stripe"]
---

# Get Revenue

`GET /companies/{company_id}/stripe/revenue`

## Request

- Base URL: `https://api.nanocorp.so` (the document declares no server; this is the origin it was published from)
- URL: `https://api.nanocorp.so/companies/{company_id}/stripe/revenue`
- Auth: HTTP bearer

Get revenue summary for a company.

## Path parameters

- `company_id` string, uuid, required

## Response `200`

Successful Response

- StripeRevenueResponse: All-time sales plus the recurring figures the Money tab renders (D22). The four subscription fields are REQUIRED on purpose: mypy then catches a surface that forgets them instead of seeding the frontend cache with a silent zero.
  - `total_cents` integer, required
  - `payment_count` integer, required
  - `total_dollars` number, required
  - `mrr_cents` integer, required
  - `mrr_currency` string, nullable, required
  - `plan_count` integer, required
  - `past_due_count` integer, required

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-17** `fdb61f8c4234`: 4 info
  - added the required property `mrr_cents` to the response with the `200` status
  - added the required property `mrr_currency` to the response with the `200` status
  - added the required property `past_due_count` to the response with the `200` status
  - added the required property `plan_count` to the response with the `200` status

[Operation history](https://skmtc.dev/nanocorp/apis/nanocorp-api/changes/companies/:company_id/stripe/revenue/get.md)

---

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