Compose Ability
POST /api/creative/mechanics/ability-workshop/compose
POST
/api/creative/mechanics/ability-workshop/compose
Build a draft + balance report from author-supplied components.
Request Body required
Section titled “Request Body required ” ComposeRequest
object
projectId
required
Projectid
string
rulesetRef
required
Rulesetref
string
components
required
AbilityComponents
Full component tree for one ability.
object
target
TargetComponent
object
kind
Kind
string
range
RangeComponent
object
value
Value
integer
unit
Unit
string
scalesWithLevel
Scaleswithlevel
boolean
special
Special
string
cost
CostComponent
object
resource
Resource
string
amount
Amount
integer
alternate
Alternate
string
effect
EffectComponent
object
kind
Kind
string
magnitude
Magnitude
string
scalingFormulaRef
Scalingformularef
string
elementalTag
Elementaltag
string
secondary
Secondary
Array<string>
duration
DurationComponent
object
kind
Kind
string
rounds
Rounds
integer
repeatTrigger
Repeattrigger
string
save
SaveComponent
object
stat
Stat
string
dcFormula
Dcformula
string
partialEffect
Partialeffect
string
specifiedReduction
Specifiedreduction
string
tags
TagsComponent
Boolean flags for ability metadata tags.
object
stealth
Stealth
boolean
loud
Loud
boolean
visible
Visible
boolean
ritual
Ritual
boolean
materialComponent
Materialcomponent
boolean
verbal
Verbal
boolean
somatic
Somatic
boolean
reactionTrigger
Reactiontrigger
boolean
concentration
Concentration
boolean
areaSelectable
Areaselectable
boolean
lineOfSightRequired
Lineofsightrequired
boolean
metadata
AbilityMetadata
object
name
Name
string
flavorDescription
Flavordescription
string
sourceArchetype
Sourcearchetype
string
schoolOrTradition
Schoolortradition
string
rarity
Rarity
string
tier
Tier
integer
tier
Tier
integer
Responses
Section titled “ Responses ”Successful Response
ComposeResponse
object
success
Success
boolean
draft
required
AbilityDraft
In-progress ability (pre-save) — components + name + flavor.
object
components
AbilityComponents
Full component tree for one ability.
object
target
TargetComponent
object
kind
Kind
string
range
RangeComponent
object
value
Value
integer
unit
Unit
string
scalesWithLevel
Scaleswithlevel
boolean
special
Special
string
cost
CostComponent
object
resource
Resource
string
amount
Amount
integer
alternate
Alternate
string
effect
EffectComponent
object
kind
Kind
string
magnitude
Magnitude
string
scalingFormulaRef
Scalingformularef
string
elementalTag
Elementaltag
string
secondary
Secondary
Array<string>
duration
DurationComponent
object
kind
Kind
string
rounds
Rounds
integer
repeatTrigger
Repeattrigger
string
save
SaveComponent
object
stat
Stat
string
dcFormula
Dcformula
string
partialEffect
Partialeffect
string
specifiedReduction
Specifiedreduction
string
tags
TagsComponent
Boolean flags for ability metadata tags.
object
stealth
Stealth
boolean
loud
Loud
boolean
visible
Visible
boolean
ritual
Ritual
boolean
materialComponent
Materialcomponent
boolean
verbal
Verbal
boolean
somatic
Somatic
boolean
reactionTrigger
Reactiontrigger
boolean
concentration
Concentration
boolean
areaSelectable
Areaselectable
boolean
lineOfSightRequired
Lineofsightrequired
boolean
metadata
AbilityMetadata
object
name
Name
string
flavorDescription
Flavordescription
string
sourceArchetype
Sourcearchetype
string
schoolOrTradition
Schoolortradition
string
rarity
Rarity
string
tier
Tier
integer
balance
required
BalanceReport
object
powerLevel
required
Powerlevel
number
tierBaselineMin
required
Tierbaselinemin
number
tierBaselineMax
required
Tierbaselinemax
number
verdict
required
Verdict
string
warnings
Warnings
Array<object>
BalanceWarningA heuristic warning surfaced by the balance validator.
object
ruleId
required
Ruleid
string
message
required
Message
string
severity
Severity
string
appliedFormula
Appliedformula
string
Validation Error
HTTPValidationError
object
detail
Detail
Array<object>
ValidationErrorobject
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context