Documentation
GET /api/revenue
Confirmed revenue, per store and per currency.
| Request | GET /api/revenue |
|---|---|
| Authentication | Session cookie required |
| Handler | backend/server.py |
What it does
The confirmed payment ledger. Currencies are kept separate and no exchange rate is applied; amounts are in the provider's minor units, which do not always mean two decimals. Revenue is not profit, and the commerce assistant restates that whenever it reads this endpoint. Before an account exists the response says exactly that rather than showing zero, because there is nowhere to credit revenue to yet.
Authentication
Session cookie required. Send the ff_session cookie. Without one the engine treats the caller as a new visitor with no holds and no claims, and returns a new cookie to use from then on.
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
ff_session | cookie | string | Optional | The session identifier. Omit it on the first call and store the value the response sets; every later call must send the same one or the engine treats the caller as a new visitor with no holds and no claims. |
Request
The cookie jar carries the session between calls. Angle-bracketed values are the parameter types from the table above.
curl -s -b cookies.txt -c cookies.txt \
"https://flowfinds.ai/api/revenue"const res = await fetch("https://flowfinds.ai/api/revenue", {
method: "GET",
credentials: "include",
});
const data = await res.json();import requests
s = requests.Session()
r = s.get("https://flowfinds.ai/api/revenue")
data = r.json()Recorded example
curl -s -b cookies.txt -c cookies.txt \
"$FLOWFINDS_ORIGIN/api/revenue"Responses
200 — An account exists.
| Field | Type | Description |
|---|---|---|
status | string | `measured`. |
account | string | The account the ledger belongs to. |
stores | array | Rows of `store_id`, `currency`, `revenue_minor`, `sales` and `last_sale_at`. |
ledger | array | The confirmed entries. |
pending | array | Checkouts not yet confirmed. |
200 — No account has been saved.
| Field | Type | Description |
|---|---|---|
status | string | `no_account_yet`. |
stores | array | Empty. |
total_minor | integer | 0. |
currency | string | `USD`. |
ledger | array | Empty. |
pending | array | Empty. |
explanation | string | 'Save your account first — revenue is credited to an account, so there is nowhere to put it yet.' |
Errors
This endpoint has no failure path of its own. An uncaught exception anywhere in the engine is still returned as structured JSON by the shared guard.
Related
GET /api/tracking— This founder's orders, and nobody else's.GET /api/satisfaction— The satisfaction sample.GET /api/helpdesk— The support desk: tickets, replies and the agent's state.POST /api/helpdesk— Act on a support ticket.POST /api/support— Ask the support agent a question.GET /api/todos— The operator's task list.POST /api/todos— Add, complete or delete a task.
Back to the API reference index, or read the cookbook for recipes that compose this endpoint with others.