Skip to content

Save Template

POST
/api/creative/character-sheet-templates

Insert-or-update a user sheet template.

SaveSheetTemplateRequest
object
projectId
required
Projectid
string
template
required
SheetTemplateSpec

A complete .layout.json character-sheet template.

object
templateId
required
Templateid
string
>= 1 characters <= 80 characters /^[a-z0-9][a-z0-9_-]*$/
name
required
Name
string
>= 1 characters <= 120 characters
description
Description
string
""
version
Version
string
default: 1.0.0
author
Author
string
default: ishvana-bundled
tags
Tags
Array<string>
rulesetRef
Rulesetref
string
""
orientation
Orientation
string
default: portrait
Allowed values: portrait landscape
pages
Pages
Array<object>
SheetPage

A named page within the template.

Templates typically ship with core / combat / magic / inventory / story pages; every filled sheet carries the same set.

object
id
required
Id
string
>= 1 characters <= 40 characters /^[a-z0-9][a-z0-9_-]*$/
name
required
Name
string
>= 1 characters <= 80 characters
layout
Layout
Array<object>
SheetFieldSpec

One placed field on the sheet canvas.

row and col are zero-indexed grid positions; width and height count cells. Rules the Layout Studio enforces:

  • Non-negative row / col.
  • width + height >= 1.
  • Fields may not overlap — the validator walks the page and rejects templates with collisions.
object
type
required
Type
string
Allowed values: text rich_text number formula dropdown checkbox_list tag_list image linked_entity timeline relationship_map
label
required
Label
string
>= 1 characters <= 120 characters
row
required
Row
integer
col
required
Col
integer
width
Width
integer
default: 4 >= 1 <= 24
height
Height
integer
default: 1 >= 1 <= 24
required
Required
boolean
optionsRef
Optionsref
string
""
linkedStat
Linkedstat
string
""
validation
Validation
string
""

Successful Response

SheetTemplateDetailResponse
object
success
Success
boolean
default: true
template
Any of:
SheetTemplateSpec

A complete .layout.json character-sheet template.

object
templateId
required
Templateid
string
>= 1 characters <= 80 characters /^[a-z0-9][a-z0-9_-]*$/
name
required
Name
string
>= 1 characters <= 120 characters
description
Description
string
""
version
Version
string
default: 1.0.0
author
Author
string
default: ishvana-bundled
tags
Tags
Array<string>
rulesetRef
Rulesetref
string
""
orientation
Orientation
string
default: portrait
Allowed values: portrait landscape
pages
Pages
Array<object>
SheetPage

A named page within the template.

Templates typically ship with core / combat / magic / inventory / story pages; every filled sheet carries the same set.

object
id
required
Id
string
>= 1 characters <= 40 characters /^[a-z0-9][a-z0-9_-]*$/
name
required
Name
string
>= 1 characters <= 80 characters
layout
Layout
Array<object>
SheetFieldSpec

One placed field on the sheet canvas.

row and col are zero-indexed grid positions; width and height count cells. Rules the Layout Studio enforces:

  • Non-negative row / col.
  • width + height >= 1.
  • Fields may not overlap — the validator walks the page and rejects templates with collisions.
object
type
required
Type
string
Allowed values: text rich_text number formula dropdown checkbox_list tag_list image linked_entity timeline relationship_map
label
required
Label
string
>= 1 characters <= 120 characters
row
required
Row
integer
col
required
Col
integer
width
Width
integer
default: 4 >= 1 <= 24
height
Height
integer
default: 1 >= 1 <= 24
required
Required
boolean
optionsRef
Optionsref
string
""
linkedStat
Linkedstat
string
""
validation
Validation
string
""
error
Any of:
string

Validation Error

HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object