net.wireservice.content

wireservice.net

Documentation

Apple News Format-derived rich article content for standard.site documents. Plugs into the open content union of site.standard.document.

main object

Apple News Format-derived rich article content for standard.site documents. Plugs into the open content union of site.standard.document.

Properties

blob blob Optional

External JSON blob containing the components array. Used when content exceeds the record size limit. Mutually exclusive with the inline components array.

blobRefs array of blob Optional

Blob references used within content. Required in blob mode to prevent garbage collection of image and media blobs.

componentLayouts array of ref#namedComponentLayout Optional

Named component layout definitions. Components reference these by name via their layout field.

componentStyles array of ref#namedComponentStyle Optional

Named component style definitions. Components reference these by name via their style field.

componentTextStyles array of ref#namedTextStyle Optional

Named text style definitions. Text components reference these by name via their textStyle field.

components array of union Optional
corrections array of ref#correction Optional

Published corrections, clarifications, and updates, oldest first. Entries are appended, never edited or removed.

language string language Optional

BCP-47 language code for the article content.

maxLength: 64 bytes
layout ref #documentLayout Optional

Document-level layout grid. Overrides the stylesheet's default grid if a stylesheet is referenced.

stylesheet string at-uri Optional

AT URI of a net.wireservice.stylesheet record providing default named layouts, styles, and text styles. Document-level componentLayouts/componentStyles/componentTextStyles entries with the same name override the stylesheet's.

View raw schema
{
  "description": "Apple News Format-derived rich article content for standard.site documents. Plugs into the open content union of site.standard.document.",
  "properties": {
    "blob": {
      "description": "External JSON blob containing the components array. Used when content exceeds the record size limit. Mutually exclusive with the inline components array.",
      "type": "blob"
    },
    "blobRefs": {
      "description": "Blob references used within content. Required in blob mode to prevent garbage collection of image and media blobs.",
      "items": {
        "type": "blob"
      },
      "type": "array"
    },
    "componentLayouts": {
      "description": "Named component layout definitions. Components reference these by name via their layout field.",
      "items": {
        "ref": "#namedComponentLayout",
        "type": "ref"
      },
      "type": "array"
    },
    "componentStyles": {
      "description": "Named component style definitions. Components reference these by name via their style field.",
      "items": {
        "ref": "#namedComponentStyle",
        "type": "ref"
      },
      "type": "array"
    },
    "componentTextStyles": {
      "description": "Named text style definitions. Text components reference these by name via their textStyle field.",
      "items": {
        "ref": "#namedTextStyle",
        "type": "ref"
      },
      "type": "array"
    },
    "components": {
      "description": "Inline component array. Used when content fits within the record size limit.",
      "items": {
        "closed": false,
        "refs": [
          "net.wireservice.component.body",
          "net.wireservice.component.heading",
          "net.wireservice.component.image",
          "net.wireservice.component.photo",
          "net.wireservice.component.video",
          "net.wireservice.component.audio",
          "net.wireservice.component.gallery",
          "net.wireservice.component.container",
          "net.wireservice.component.divider",
          "net.wireservice.component.quote",
          "net.wireservice.component.byline",
          "net.wireservice.component.embed",
          "net.wireservice.component.map",
          "net.wireservice.component.linkButton",
          "net.wireservice.component.adSlot"
        ],
        "type": "union"
      },
      "type": "array"
    },
    "corrections": {
      "description": "Published corrections, clarifications, and updates, oldest first. Entries are appended, never edited or removed.",
      "items": {
        "ref": "#correction",
        "type": "ref"
      },
      "type": "array"
    },
    "language": {
      "description": "BCP-47 language code for the article content.",
      "format": "language",
      "maxLength": 64,
      "type": "string"
    },
    "layout": {
      "description": "Document-level layout grid. Overrides the stylesheet's default grid if a stylesheet is referenced.",
      "ref": "#documentLayout",
      "type": "ref"
    },
    "stylesheet": {
      "description": "AT URI of a net.wireservice.stylesheet record providing default named layouts, styles, and text styles. Document-level componentLayouts/componentStyles/componentTextStyles entries with the same name override the stylesheet's.",
      "format": "at-uri",
      "type": "string"
    }
  },
  "type": "object"
}
border object

Border definition. The stroke property defines the line style; the boolean flags control which sides are drawn (all true by default when omitted).

Properties

bottom boolean Optional

No description available.

left boolean Optional

No description available.

right boolean Optional

No description available.

top boolean Optional

No description available.

View raw schema
{
  "description": "Border definition. The stroke property defines the line style; the boolean flags control which sides are drawn (all true by default when omitted).",
  "properties": {
    "bottom": {
      "type": "boolean"
    },
    "left": {
      "type": "boolean"
    },
    "right": {
      "type": "boolean"
    },
    "stroke": {
      "ref": "net.wireservice.defs#strokeStyle",
      "type": "ref"
    },
    "top": {
      "type": "boolean"
    }
  },
  "type": "object"
}
componentLayoutValues object

The actual layout values: column placement, margins, padding, alignment, sizing. Used as the values payload for both namedComponentLayout (defaults) and conditionalComponentLayout (overrides).

Properties

columnSpan integer Optional

Number of columns this component spans.

minimum: 1
columnStart integer Optional

Starting column index (zero-based).

minimum: 0
horizontalContentAlignment string Optional

No description available.

maxLength: 64 bytes
Known values: left, center, right
ignoreDocumentGutter string Optional

Which sides should ignore the document gutter.

maxLength: 64 bytes
Known values: none, left, right, both
ignoreDocumentMargin string Optional

Which sides should ignore the document margin.

maxLength: 64 bytes
Known values: none, left, right, both
View raw schema
{
  "description": "The actual layout values: column placement, margins, padding, alignment, sizing. Used as the values payload for both namedComponentLayout (defaults) and conditionalComponentLayout (overrides).",
  "properties": {
    "columnSpan": {
      "description": "Number of columns this component spans.",
      "minimum": 1,
      "type": "integer"
    },
    "columnStart": {
      "description": "Starting column index (zero-based).",
      "minimum": 0,
      "type": "integer"
    },
    "horizontalContentAlignment": {
      "knownValues": [
        "left",
        "center",
        "right"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "ignoreDocumentGutter": {
      "description": "Which sides should ignore the document gutter.",
      "knownValues": [
        "none",
        "left",
        "right",
        "both"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "ignoreDocumentMargin": {
      "description": "Which sides should ignore the document margin.",
      "knownValues": [
        "none",
        "left",
        "right",
        "both"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "margin": {
      "ref": "net.wireservice.defs#margin",
      "type": "ref"
    },
    "maximumContentWidth": {
      "ref": "net.wireservice.defs#measurement",
      "type": "ref"
    },
    "minimumHeight": {
      "ref": "net.wireservice.defs#measurement",
      "type": "ref"
    },
    "padding": {
      "ref": "net.wireservice.defs#padding",
      "type": "ref"
    }
  },
  "type": "object"
}
componentStyleValues object

The actual visual style values: background color, border, corner radius, opacity. Used as the values payload for both namedComponentStyle (defaults) and conditionalComponentStyle (overrides).

Properties

backgroundColor string Optional

Background color as hex string (e.g., '#F7F7F7').

maxLength: 64 bytes
border ref #border Optional

No description available.

cornerRadius integer Optional

Corner radius in points.

minimum: 0
opacity integer Optional

Opacity as integer 0-100 (100 = fully opaque).

minimum: 0maximum: 100
View raw schema
{
  "description": "The actual visual style values: background color, border, corner radius, opacity. Used as the values payload for both namedComponentStyle (defaults) and conditionalComponentStyle (overrides).",
  "properties": {
    "backgroundColor": {
      "description": "Background color as hex string (e.g., '#F7F7F7').",
      "maxLength": 64,
      "type": "string"
    },
    "border": {
      "ref": "#border",
      "type": "ref"
    },
    "cornerRadius": {
      "description": "Corner radius in points.",
      "minimum": 0,
      "type": "integer"
    },
    "opacity": {
      "description": "Opacity as integer 0-100 (100 = fully opaque).",
      "maximum": 100,
      "minimum": 0,
      "type": "integer"
    }
  },
  "type": "object"
}
conditionalComponentLayout object

Conditional override for a named component layout. The values field carries the override payload; conditions describe when it applies.

Properties

conditions array of refnet.wireservice.defs#condition Required

Conditions that trigger this override. Multiple conditions combine as OR (any match applies). Combine criteria within a single condition object for AND.

View raw schema
{
  "description": "Conditional override for a named component layout. The values field carries the override payload; conditions describe when it applies.",
  "properties": {
    "conditions": {
      "description": "Conditions that trigger this override. Multiple conditions combine as OR (any match applies). Combine criteria within a single condition object for AND.",
      "items": {
        "ref": "net.wireservice.defs#condition",
        "type": "ref"
      },
      "type": "array"
    },
    "values": {
      "description": "Override values. Fields not set here keep the parent's defaults.",
      "ref": "#componentLayoutValues",
      "type": "ref"
    }
  },
  "required": [
    "conditions"
  ],
  "type": "object"
}
conditionalComponentStyle object

Conditional override for a named component style. The values field carries the override payload; conditions describe when it applies.

Properties

conditions array of refnet.wireservice.defs#condition Required

Conditions that trigger this override. Multiple conditions combine as OR (any match applies). Combine criteria within a single condition object for AND.

values ref #componentStyleValues Optional

Override values. Fields not set here keep the parent's defaults.

View raw schema
{
  "description": "Conditional override for a named component style. The values field carries the override payload; conditions describe when it applies.",
  "properties": {
    "conditions": {
      "description": "Conditions that trigger this override. Multiple conditions combine as OR (any match applies). Combine criteria within a single condition object for AND.",
      "items": {
        "ref": "net.wireservice.defs#condition",
        "type": "ref"
      },
      "type": "array"
    },
    "values": {
      "description": "Override values. Fields not set here keep the parent's defaults.",
      "ref": "#componentStyleValues",
      "type": "ref"
    }
  },
  "required": [
    "conditions"
  ],
  "type": "object"
}
conditionalTextStyle object

Conditional override for a named text style. The values field carries the override payload; conditions describe when it applies.

Properties

conditions array of refnet.wireservice.defs#condition Required

Conditions that trigger this override. Multiple conditions combine as OR (any match applies). Combine criteria within a single condition object for AND.

values ref #textStyleValues Optional

Override values. Fields not set here keep the parent's defaults.

View raw schema
{
  "description": "Conditional override for a named text style. The values field carries the override payload; conditions describe when it applies.",
  "properties": {
    "conditions": {
      "description": "Conditions that trigger this override. Multiple conditions combine as OR (any match applies). Combine criteria within a single condition object for AND.",
      "items": {
        "ref": "net.wireservice.defs#condition",
        "type": "ref"
      },
      "type": "array"
    },
    "values": {
      "description": "Override values. Fields not set here keep the parent's defaults.",
      "ref": "#textStyleValues",
      "type": "ref"
    }
  },
  "required": [
    "conditions"
  ],
  "type": "object"
}
correction object

A notice appended to an article after publication.

Properties

createdAt string datetime Required

An RFC 3339 formatted timestamp.

kind string Required

No description available.

maxLength: 64 bytes
Known values: correction, clarification, update, editorsNote
View raw schema
{
  "description": "A notice appended to an article after publication.",
  "properties": {
    "createdAt": {
      "format": "datetime",
      "type": "string"
    },
    "kind": {
      "knownValues": [
        "correction",
        "clarification",
        "update",
        "editorsNote"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "text": {
      "description": "Notice text as an array of text runs with optional formatting marks.",
      "items": {
        "ref": "net.wireservice.defs#textRun",
        "type": "ref"
      },
      "type": "array"
    }
  },
  "required": [
    "kind",
    "text",
    "createdAt"
  ],
  "type": "object"
}
documentLayout object

Document-level layout grid defining the column structure for component placement.

Properties

columns integer Required

Number of columns in the layout grid.

minimum: 1
gutter integer Optional

Gutter width between columns in points.

minimum: 0
margin integer Optional

Document margin in points.

minimum: 0
minimumColumnWidth integer Optional

Narrowest a column may get, in points. Below the viewport width where columns would be narrower, the layout collapses to one column. Defaults to 40.

minimum: 1
width integer Required

Maximum layout width in points.

minimum: 1
View raw schema
{
  "description": "Document-level layout grid defining the column structure for component placement.",
  "properties": {
    "columns": {
      "description": "Number of columns in the layout grid.",
      "minimum": 1,
      "type": "integer"
    },
    "gutter": {
      "description": "Gutter width between columns in points.",
      "minimum": 0,
      "type": "integer"
    },
    "margin": {
      "description": "Document margin in points.",
      "minimum": 0,
      "type": "integer"
    },
    "minimumColumnWidth": {
      "description": "Narrowest a column may get, in points. Below the viewport width where columns would be narrower, the layout collapses to one column. Defaults to 40.",
      "minimum": 1,
      "type": "integer"
    },
    "width": {
      "description": "Maximum layout width in points.",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "columns",
    "width"
  ],
  "type": "object"
}
namedComponentLayout object

A named component layout definition controlling column placement, margins, and sizing. Components reference these by the name field.

Properties

conditional array of ref#conditionalComponentLayout Optional

Conditional overrides. Each entry's values replace the layout's defaults when any of its conditions match the rendering context. Entries are evaluated in order; the first match wins.

name string Required

Identifier for this layout, referenced by components.

maxLength: 256 bytes
values ref #componentLayoutValues Optional

Default layout values. Conditional entries can override individual fields.

View raw schema
{
  "description": "A named component layout definition controlling column placement, margins, and sizing. Components reference these by the name field.",
  "properties": {
    "conditional": {
      "description": "Conditional overrides. Each entry's values replace the layout's defaults when any of its conditions match the rendering context. Entries are evaluated in order; the first match wins.",
      "items": {
        "ref": "#conditionalComponentLayout",
        "type": "ref"
      },
      "type": "array"
    },
    "name": {
      "description": "Identifier for this layout, referenced by components.",
      "maxLength": 256,
      "type": "string"
    },
    "values": {
      "description": "Default layout values. Conditional entries can override individual fields.",
      "ref": "#componentLayoutValues",
      "type": "ref"
    }
  },
  "required": [
    "name"
  ],
  "type": "object"
}
namedComponentStyle object

A named component style definition controlling visual appearance. Components reference these by the name field.

Properties

conditional array of ref#conditionalComponentStyle Optional

Conditional overrides. Each entry's values replace the style's defaults when any of its conditions match the rendering context. Entries are evaluated in order; the first match wins.

name string Required

Identifier for this style, referenced by components.

maxLength: 256 bytes
values ref #componentStyleValues Optional

Default style values. Conditional entries can override individual fields.

View raw schema
{
  "description": "A named component style definition controlling visual appearance. Components reference these by the name field.",
  "properties": {
    "conditional": {
      "description": "Conditional overrides. Each entry's values replace the style's defaults when any of its conditions match the rendering context. Entries are evaluated in order; the first match wins.",
      "items": {
        "ref": "#conditionalComponentStyle",
        "type": "ref"
      },
      "type": "array"
    },
    "name": {
      "description": "Identifier for this style, referenced by components.",
      "maxLength": 256,
      "type": "string"
    },
    "values": {
      "description": "Default style values. Conditional entries can override individual fields.",
      "ref": "#componentStyleValues",
      "type": "ref"
    }
  },
  "required": [
    "name"
  ],
  "type": "object"
}
namedTextStyle object

A named text style definition. Text components reference these by the name field.

Properties

conditional array of ref#conditionalTextStyle Optional

Conditional overrides. Each entry's values replace the text style's defaults when any of its conditions match the rendering context. Entries are evaluated in order; the first match wins.

name string Required

Identifier for this style, referenced by components.

maxLength: 256 bytes
values ref #textStyleValues Optional

Default text style values. Conditional entries can override individual fields.

View raw schema
{
  "description": "A named text style definition. Text components reference these by the name field.",
  "properties": {
    "conditional": {
      "description": "Conditional overrides. Each entry's values replace the text style's defaults when any of its conditions match the rendering context. Entries are evaluated in order; the first match wins.",
      "items": {
        "ref": "#conditionalTextStyle",
        "type": "ref"
      },
      "type": "array"
    },
    "name": {
      "description": "Identifier for this style, referenced by components.",
      "maxLength": 256,
      "type": "string"
    },
    "values": {
      "description": "Default text style values. Conditional entries can override individual fields.",
      "ref": "#textStyleValues",
      "type": "ref"
    }
  },
  "required": [
    "name"
  ],
  "type": "object"
}
textStyleValues object

The actual text style values: font, size, color, alignment, spacing, decoration. Used as the values payload for both namedTextStyle (defaults) and conditionalTextStyle (overrides).

Properties

backgroundColor string Optional

Text background color as hex string.

maxLength: 64 bytes
firstLineIndent integer Optional

First line indent in points.

minimum: 0
fontFamily string Optional

Font family name (e.g., 'Georgia', 'Helvetica Neue').

maxLength: 256 bytes
fontName string Optional

PostScript font name for precise font selection.

maxLength: 256 bytes
fontSize integer Optional

Font size in points.

minimum: 1maximum: 500
fontStyle string Optional

No description available.

maxLength: 64 bytes
Known values: normal, italic, oblique
fontWeight integer Optional

Font weight (100 = thin, 400 = normal, 700 = bold, 900 = black).

minimum: 100maximum: 900
hyphenation boolean Optional

Whether to enable automatic hyphenation.

lineHeight integer Optional

Line height in points.

minimum: 1
paragraphSpacingAfter integer Optional

Space after paragraphs in points.

minimum: 0
paragraphSpacingBefore integer Optional

Space before paragraphs in points.

minimum: 0
strikethrough boolean Optional

Whether text has strikethrough decoration.

textAlignment string Optional

No description available.

maxLength: 64 bytes
Known values: left, center, right, justified, none
textColor string Optional

Text color as hex string (e.g., '#333333').

maxLength: 64 bytes
textTransform string Optional

No description available.

maxLength: 64 bytes
Known values: uppercase, lowercase, capitalize, none
tracking integer Optional

Letter spacing in hundredths of a point.

underline boolean Optional

Whether text has underline decoration.

verticalAlignment string Optional

No description available.

maxLength: 64 bytes
Known values: superscript, subscript, baseline
View raw schema
{
  "description": "The actual text style values: font, size, color, alignment, spacing, decoration. Used as the values payload for both namedTextStyle (defaults) and conditionalTextStyle (overrides).",
  "properties": {
    "backgroundColor": {
      "description": "Text background color as hex string.",
      "maxLength": 64,
      "type": "string"
    },
    "firstLineIndent": {
      "description": "First line indent in points.",
      "minimum": 0,
      "type": "integer"
    },
    "fontFamily": {
      "description": "Font family name (e.g., 'Georgia', 'Helvetica Neue').",
      "maxLength": 256,
      "type": "string"
    },
    "fontName": {
      "description": "PostScript font name for precise font selection.",
      "maxLength": 256,
      "type": "string"
    },
    "fontSize": {
      "description": "Font size in points.",
      "maximum": 500,
      "minimum": 1,
      "type": "integer"
    },
    "fontStyle": {
      "knownValues": [
        "normal",
        "italic",
        "oblique"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "fontWeight": {
      "description": "Font weight (100 = thin, 400 = normal, 700 = bold, 900 = black).",
      "maximum": 900,
      "minimum": 100,
      "type": "integer"
    },
    "hyphenation": {
      "description": "Whether to enable automatic hyphenation.",
      "type": "boolean"
    },
    "lineHeight": {
      "description": "Line height in points.",
      "minimum": 1,
      "type": "integer"
    },
    "paragraphSpacingAfter": {
      "description": "Space after paragraphs in points.",
      "minimum": 0,
      "type": "integer"
    },
    "paragraphSpacingBefore": {
      "description": "Space before paragraphs in points.",
      "minimum": 0,
      "type": "integer"
    },
    "strikethrough": {
      "description": "Whether text has strikethrough decoration.",
      "type": "boolean"
    },
    "textAlignment": {
      "knownValues": [
        "left",
        "center",
        "right",
        "justified",
        "none"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "textColor": {
      "description": "Text color as hex string (e.g., '#333333').",
      "maxLength": 64,
      "type": "string"
    },
    "textTransform": {
      "knownValues": [
        "uppercase",
        "lowercase",
        "capitalize",
        "none"
      ],
      "maxLength": 64,
      "type": "string"
    },
    "tracking": {
      "description": "Letter spacing in hundredths of a point.",
      "type": "integer"
    },
    "underline": {
      "description": "Whether text has underline decoration.",
      "type": "boolean"
    },
    "verticalAlignment": {
      "knownValues": [
        "superscript",
        "subscript",
        "baseline"
      ],
      "maxLength": 64,
      "type": "string"
    }
  },
  "type": "object"
}

Lexicon Garden

@