Full article body in plain text markdown. The SDK base64-encodes this before sending.
Optionalmetadata?: {Flexible metadata for additional context.
Optionalauthor?: stringOptionalpublication_date?: stringOptionalreading_time?: stringEstimated read time, e.g. '5 min'. Note: the correct key is reading_time, not read_time.
Price for the content in cents.
Optionalteaser?: stringOptional article teaser in plain text markdown. The SDK base64-encodes this before sending.
Content title.
URI of the external resource (Vimeo, YouTube, PDF, etc.).
Optionalexternal_identifier?: stringOptional namespaced platform ID, e.g. vimeo:123456789.
Optionalmetadata?: {Flexible metadata for additional context.
Optionalauthor?: stringOptionalpublication_date?: stringOptionalreading_time?: stringEstimated read time, e.g. '5 min'. Note: the correct key is reading_time, not read_time.
Price for the content in cents.
Optionalteaser?: stringOptional article teaser in plain text markdown. The SDK base64-encodes this before sending.
Content title.
This type is intentionally hand-written rather than aliased from
components['schemas']['Content']. The OpenAPI spec defines Content as a
flat object (no oneOf/discriminator), so openapi-typescript cannot
generate the discriminated union that callers need for type-narrowing.
A compile-time assignability guard below (_ContentDriftGuard) will produce
a TypeScript error if this type drifts from the generated schema.
TODO: remove the hand-written union and alias the generated type once
ledewire.yml uses oneOf + discriminator for the Content schema.
Content creation request body — a discriminated union on
content_type.'markdown'requirescontent_body(plain text markdown — the SDK encodes it to base64 before transmission).'external_ref'requirescontent_uri(the external resource URL) and optionallyexternal_identifier(namespaced platform ID, e.g.vimeo:123).