A poem's body and poetic metadata. Set `$type` to `click.croft.inkwell.poem` when embedding inside `site.standard.document#content`.
Properties
body
string
Required
The full text of the poem. Newlines (\n) represent line breaks; double newlines (\n\n) represent stanza breaks. No markdown — use AT Protocol facets for any inline formatting if needed.
maxLength: 100000 bytesmaxGraphemes: 10000 graphemesform
string
Optional
The poetic form. Free text — use well-known values where possible (e.g. 'sonnet', 'haiku', 'villanelle', 'ghazal', 'ode', 'elegy', 'free-verse', 'prose-poem', 'concrete', 'erasure').
maxLength: 1000 bytesmaxGraphemes: 100 graphemesinspiredBy
string
at-uri
Optional
AT URI of a `site.standard.document` record that directly inspired or is responded to by this poem.
language
string
Optional
BCP-47 language tag for the poem's language (e.g. 'en', 'fr', 'cy', 'ja', 'gd'). Defaults to the author's profile language if omitted.
maxLength: 20 byteslineCount
integer
Optional
Total number of lines in the poem. Clients may auto-calculate this from the body.
minimum: 1meter
string
Optional
The metrical pattern, if applicable (e.g. 'iambic-pentameter', 'dactylic-hexameter', 'trochaic-octameter', 'syllabic-7-5-7').
maxLength: 1000 bytesmaxGraphemes: 100 graphemesoriginalLanguage
string
Optional
BCP-47 language tag of the source language, if this poem is a translation.
maxLength: 20 bytesstanzaCount
integer
Optional
Total number of stanzas. Clients may auto-calculate by counting double-newline separators.
minimum: 1View raw schema
{
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"maxLength": 100000,
"description": "The full text of the poem. Newlines (\\n) represent line breaks; double newlines (\\n\\n) represent stanza breaks. No markdown — use AT Protocol facets for any inline formatting if needed.",
"maxGraphemes": 10000
},
"form": {
"type": "string",
"maxLength": 1000,
"description": "The poetic form. Free text — use well-known values where possible (e.g. 'sonnet', 'haiku', 'villanelle', 'ghazal', 'ode', 'elegy', 'free-verse', 'prose-poem', 'concrete', 'erasure').",
"maxGraphemes": 100
},
"meter": {
"type": "string",
"maxLength": 1000,
"description": "The metrical pattern, if applicable (e.g. 'iambic-pentameter', 'dactylic-hexameter', 'trochaic-octameter', 'syllabic-7-5-7').",
"maxGraphemes": 100
},
"language": {
"type": "string",
"maxLength": 20,
"description": "BCP-47 language tag for the poem's language (e.g. 'en', 'fr', 'cy', 'ja', 'gd'). Defaults to the author's profile language if omitted."
},
"lineCount": {
"type": "integer",
"minimum": 1,
"description": "Total number of lines in the poem. Clients may auto-calculate this from the body."
},
"inspiredBy": {
"type": "string",
"format": "at-uri",
"description": "AT URI of a `site.standard.document` record that directly inspired or is responded to by this poem."
},
"stanzaCount": {
"type": "integer",
"minimum": 1,
"description": "Total number of stanzas. Clients may auto-calculate by counting double-newline separators."
},
"originalLanguage": {
"type": "string",
"maxLength": 20,
"description": "BCP-47 language tag of the source language, if this poem is a translation."
}
},
"description": "A poem's body and poetic metadata. Set `$type` to `click.croft.inkwell.poem` when embedding inside `site.standard.document#content`."
}