Revenue

Update Lifecycles

REPLACE the whole set of Revenue lifecycle stages.

Not a merge. The posted entries array becomes the config, so a stage left out of it is DELETED along with the document defaults attached to it. Read GET /lifecycle-stages first and send the full list back with your change applied.

An entry with an empty id is treated as NEW and gets a fresh UUID. An entry that keeps its id keeps its stage document defaults - those are merged forward by id, not rebuilt.

put/revenue/lifecycle

Request

  • Base URL: https://be.graph8.com/api/v1
  • URL: https://be.graph8.com/api/v1/revenue/lifecycle
  • Auth: HTTP bearer

Headers

Authorizationstring nullable
X-Target-Org-Idstring nullable

Request body

Response

Successful Response

dataReportPayload required

An OPEN envelope around one report's answer.

The app wraps every one of these reports in {success, data, meta}, where meta carries the cache state, the window and - on the agency reports - failed_org_ids, the orgs that contributed NOTHING to the totals above. That field is the difference between "this client sent no email" and "we could not query this client", so it is forwarded rather than flattened away.

Open on purpose: data is dict | list in the app and its contents grow with the product. A closed model would turn every new metric into a silently dropped one.

Changes

No recorded changes to this operation across all 2 revisions of this API.