fm.freemix.group.stems

lex-publisher.freemix.fm

Documentation

A stems group: a structural grouping of stems that is downloadable/sellable as a unit, independent of any release (FM-549 s38). First record under the net-new group.* segment (named group.stems, not group.stemsGroup — the segment already says 'group') (for sets that fit neither collection.* — the curatorial lens — nor release — the put-out work). Points DOWN at its member stems; the sold-product name lives here.

main record

A stems group: a structural grouping of stems that is downloadable/sellable as a unit, independent of any release (FM-549 s38). First record under the net-new group.* segment (named group.stems, not group.stemsGroup — the segment already says 'group') (for sets that fit neither collection.* — the curatorial lens — nor release — the put-out work). Points DOWN at its member stems; the sold-product name lives here.

Record Key tid Timestamp-based ID

Properties

coverArtUrl string uri Optional

URL to cover art image.

maxLength: 3000 bytes
createdAt string datetime Required

Record creation timestamp.

maxLength: 100 bytes
currency string Optional

ISO-4217 currency code. Phase 1 = USD only. INLINE sellability shape — keep in sync across sellable types.

maxLength: 3 bytes
Known values: USD
description string Optional

Stems-group description.

maxLength: 5000 bytes
members array of object Optional

Ordered member stems (container points DOWN at members). AT-URI refs to fm.freemix.stem records. Stems also carry an optional parentGroup back-ref (the only upward ref).

maxLength: 200 items
parentTrack string at-uri Optional

AT URI of the track these stems derive from, when the group is the stems FOR a specific track (S1 upload scenario: track/remix uploaded with stems). Optional — absent for a standalone stems-only group (S2 scenario).

maxLength: 3000 bytes
priceCents integer Optional

On-network price in integer cents (FM-549: price on-network; offer public, sale private). 0 or absent = free. The bundle price: one price covers the whole stems group (no per-stem pricing — that's deferred, FM-546). Hard price floor enforced in app. INLINE sellability shape — authored identically in fm.freemix.release and fm.freemix.group.stemsGroup; keep in sync (s41).

minimum: 0
seller string did Required

parties.seller (s39): the single account DID that owns and sells this stems group. Charge/entitlement read THIS field. INLINE — keep in sync.

title string Required

The stems-group name = the sold-product name buyers see (e.g. 'Midnight Drive — Stems').

maxLength: 300 bytes
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "title",
      "seller",
      "createdAt"
    ],
    "properties": {
      "title": {
        "type": "string",
        "maxLength": 300,
        "description": "The stems-group name = the sold-product name buyers see (e.g. 'Midnight Drive — Stems')."
      },
      "seller": {
        "type": "string",
        "format": "did",
        "description": "parties.seller (s39): the single account DID that owns and sells this stems group. Charge/entitlement read THIS field. INLINE — keep in sync."
      },
      "members": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "uri"
          ],
          "properties": {
            "cid": {
              "type": "string",
              "format": "cid",
              "maxLength": 200,
              "description": "CID of the member stem (pins to exact version). Optional."
            },
            "uri": {
              "type": "string",
              "format": "at-uri",
              "maxLength": 3000,
              "description": "AT URI of the member stem record."
            },
            "position": {
              "type": "integer",
              "minimum": 0,
              "description": "Display order within the group (0-indexed)."
            }
          }
        },
        "maxLength": 200,
        "description": "Ordered member stems (container points DOWN at members). AT-URI refs to fm.freemix.stem records. Stems also carry an optional parentGroup back-ref (the only upward ref)."
      },
      "currency": {
        "type": "string",
        "maxLength": 3,
        "description": "ISO-4217 currency code. Phase 1 = USD only. INLINE sellability shape — keep in sync across sellable types.",
        "knownValues": [
          "USD"
        ]
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "maxLength": 100,
        "description": "Record creation timestamp."
      },
      "priceCents": {
        "type": "integer",
        "minimum": 0,
        "description": "On-network price in integer cents (FM-549: price on-network; offer public, sale private). 0 or absent = free. The bundle price: one price covers the whole stems group (no per-stem pricing — that's deferred, FM-546). Hard price floor enforced in app. INLINE sellability shape — authored identically in fm.freemix.release and fm.freemix.group.stemsGroup; keep in sync (s41)."
      },
      "coverArtUrl": {
        "type": "string",
        "format": "uri",
        "maxLength": 3000,
        "description": "URL to cover art image."
      },
      "description": {
        "type": "string",
        "maxLength": 5000,
        "description": "Stems-group description."
      },
      "parentTrack": {
        "type": "string",
        "format": "at-uri",
        "maxLength": 3000,
        "description": "AT URI of the track these stems derive from, when the group is the stems FOR a specific track (S1 upload scenario: track/remix uploaded with stems). Optional — absent for a standalone stems-only group (S2 scenario)."
      }
    }
  },
  "description": "A stems group: a structural grouping of stems that is downloadable/sellable as a unit, independent of any release (FM-549 s38). First record under the net-new group.* segment (named group.stems, not group.stemsGroup — the segment already says 'group') (for sets that fit neither collection.* — the curatorial lens — nor release — the put-out work). Points DOWN at its member stems; the sold-product name lives here."
}

Lexicon Garden

@