Creator pillar · v0.14.0
revenue-stream RevenueStream
A typed monetisation bucket.
$id · https://corpospec.com/schemas/v0.14.0/revenue-stream.schema.json
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| currency | IsoCurrency | yes | Reporting currency for `monthly_amounts`. |
| id | PathRef | yes | CorpoSpec PathRef (e.g. `creator/revenue-streams/youtube-ads`). |
| kind | RevenueStreamKind | yes | Monetisation kind enumerated for the creator-business cohort. Each variant covers the conceptual bucket regardless of host platform — `ad` covers YouTube AdSense, Twitch ad revenue, Substack ads, and any future ad surface. The platform attribution lives on the parent channel (`RevenueStream.channel`) and on the per-row provenance, not in the kind. |
| name | string | yes | |
| channel | PathRef? | — | Optional channel reference for platform-derived streams (`ad`, `membership`). |
| digital_product | PathRef? | — | Optional digital-product reference for product / course revenue. |
| monthly_amounts | MonthlyAmount[] | — | Monthly revenue history. Entries are creator-authored or synced from a host-platform monetary integration where one is available. Empty for newly-declared streams. |
| sponsorship | PathRef? | — | Optional sponsorship reference for sponsorship revenue. |
Definitions
Shared types referenced within this schema.
IsoCurrency
ISO 4217 currency code.
pattern: ^[A-Z]{3}$
IsoDate
ISO 8601 date (YYYY-MM-DD).
type: string
MonetaryAmount
A monetary value with currency.
type: object
MonthlyAmount
Monthly amount entry on a revenue-stream history.
type: object
PathRef
Path-based cross-reference relative to .corpospec/ root.
Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
pattern: ^[a-z0-9_-]+(/[a-z0-9_.-]+)+$
RevenueStreamKind
Monetisation kind enumerated for the creator-business cohort. Each
variant covers the conceptual bucket regardless of host platform —
`ad` covers YouTube AdSense, Twitch ad revenue, Substack ads, and
any future ad surface. The platform attribution lives on the parent
channel (`RevenueStream.channel`) and on the per-row provenance,
not in the kind.
Reference in your YAML
# yaml-language-server: $schema=https://corpospec.com/schemas/v0.14.0/revenue-stream.schema.json