ApiEnvelope
statusMachine-readable status code
messageHuman-readable status message
traceIdUnique request trace ID for debugging and log correlation
Error
statusMachine-readable error code
messageHuman-readable error description
traceIdRequest trace ID for debugging and log correlation
UserSummary
userIdUnique identifier of the user
usernameDisplay username
photoUrlURL to the user's avatar image
BreadcrumbItem
labelDisplay text for the breadcrumb link
hrefRelative URL path for the breadcrumb
CollectionItemDef
itemKeyUnique key identifying this item within the collection
labelHuman-readable label for this collection item
Default field values pre-populated for new suggestions
lockedFieldsField keys that cannot be modified by suggestions
EntityLayoutTemplate
topicKeyUnique key identifying this topic slot
componentReact component key used to render this template section
titleDisplay title for this template section
kindWhether this slot holds a single value or a collection of items
orderDisplay order (lower numbers appear first)
Optional hero image for this template section
collectionModeDisplay mode for collections-type templates
ruleJSON Schema rule key for validating suggestion values
Pre-defined items within a collections-type template
ComputeConsensusResult
entityIdEntity that was recomputed
targetsProcessedNumber of topic targets evaluated
winnersUpdatedNumber of winners that changed during this computation
computedAtTimestamp of the computation
ConsensusItem
entityIdEntity this consensus belongs to
topicKeyTopic key this consensus covers
valueThe winning suggestion's value payload
confidenceConfidence score (0-1) based on vote distribution
upvotesTotal upvotes for the winning suggestion
downvotesTotal downvotes for the winning suggestion
totalVotesTotal number of votes cast
computedAtWhen this consensus was last computed
createdAtWhen this consensus record was first created
updatedAtWhen this consensus record was last updated
itemKeyItem key for collection-type topics, null for single topics
winningSuggestionIdID of the suggestion that won consensus, null if no winner
authorIdUser ID of the winning suggestion's author
authorUsernameUsername of the winning suggestion's author
authorPhotoUrlAvatar URL of the winning suggestion's author
ConsensusPageEntity
entityIdUnique identifier of the entity
nodeIdParent node identifier
titleDisplay title
slugURL-safe slug
slugPathFull hierarchical slug path
ConsensusPageData
Lightweight entity metadata included in consensus page responses.
Layout template configuration for this entity
Map of topic keys to their consensus values
computedAtWhen the consensus was last computed
ModerateSuggestionInput
actionModeration action to take
reasonOptional reason for the moderation decision
ModerateSuggestionResult
suggestionIdID of the moderated suggestion
actionThe moderation action that was taken
statusResulting status of the suggestion
ModerationQueueItem
A single consensus record representing the winning suggestion for a specific topic target within an entity.
alternativesCountNumber of pending alternative suggestions
ModerationQueueResult
List of items pending moderation
nextTokenOpaque cursor for fetching the next page
ResolvePageData
Lightweight entity metadata included in consensus page responses.
Layout template configuration for this entity
Map of topic keys to their consensus values
Breadcrumb navigation from root to this entity
computedAtWhen the consensus was last computed
Entity
entityIdUnique identifier, server-generated
nodeIdParent node this entity belongs to
slug^[a-z0-9]+(?:-[a-z0-… · requiredURL-safe identifier, unique within the parent node
slugPathFull hierarchical slug path from root
titleHuman-readable display title
statusPublication status of the entity
Content layout inherited from parent node templates
configVersionLayout configuration version, incremented on refresh
createdAtISO 8601 timestamp of creation
updatedAtISO 8601 timestamp of last modification
Lightweight user reference embedded in created/updated metadata. Contains only public profile fields — never includes email.
Lightweight user reference embedded in created/updated metadata. Contains only public profile fields — never includes email.
EntityPage
Entities in this page
cursorOpaque cursor for fetching the next page, null if last page
CreateEntityInput
nodeIdParent node ID to create the entity under
slug^[a-z0-9]+(?:-[a-z0-… · requiredURL-safe identifier, must be unique within the node
titleHuman-readable display title
statusInitial publication status
UpdateEntityInput
titleNew display title
statusNew publication status
RefreshLayoutResult
entityIdEntity that was refreshed
refreshedWhether the layout actually changed
configVersionNew configuration version after refresh
PresignRequest
entityIdEntity the image is associated with
topicKeyTopic key the image belongs to
contentTypeMIME type of the image to upload
itemKeyOptional item key for collection-type topics
PresignResponse
uploadUrlS3 presigned URL for PUT upload
imageUrlFinal public URL where the image will be accessible
uploadIdUnique identifier for this upload operation
Node
idUnique identifier, server-generated
treeIdTree partition identifier
slugURL-safe identifier, unique among siblings
slugPathFull hierarchical slug path from root
pathMaterialized path from root hierarchy
titleHuman-readable display title
nodeKindWhether this node is a category folder or an entity leaf
statusPublication status of the node
depthDepth in the tree (0 = root)
childCountNumber of direct children
createdAtISO 8601 timestamp of creation
updatedAtISO 8601 timestamp of last modification
Lightweight user reference embedded in created/updated metadata. Contains only public profile fields — never includes email.
Lightweight user reference embedded in created/updated metadata. Contains only public profile fields — never includes email.
parentIdParent node ID, null for root nodes
Optional structured content associated with the node
Layout templates that child entities inherit
configVersionTemplate configuration version
NodePage
Nodes in this page
cursorOpaque cursor for fetching the next page, null if last page
CreateNodeInput
slugURL-safe identifier, must be unique among siblings
titleHuman-readable display title
nodeKindWhether this node is a category folder or entity leaf
parentSlugPathSlug path of the parent node (alternative to parentId)
parentIdUUID of the parent node (alternative to parentSlugPath)
Optional structured content
statusInitial publication status
sortOrderOptional sort order among siblings
UpdateNodeTemplatesInput
nodeIdNode ID (must match the URL path parameter)
Array of template definitions to set on the node
RuleEntity
componentKeyUnique key identifying this rule within its folder
JSON Schema object defining the validation rule
deprecatedWhether this rule has been deprecated
createdAtWhen this rule was created
etagEntity tag for optimistic concurrency control
RuleSummary
folderFolder this rule belongs to
componentKeyUnique key identifying this rule
deprecatedWhether this rule has been deprecated
createdAtWhen this rule was created
Lightweight user reference embedded in created/updated metadata. Contains only public profile fields — never includes email.
updatedAtWhen this rule was last updated
Lightweight user reference embedded in created/updated metadata. Contains only public profile fields — never includes email.
labelOptional human-readable label
CreateRuleBody
schemaJsonValid JSON string representing the rule's JSON Schema
Suggestion
suggestionIdUnique identifier, server-generated
authorIdUser ID of the suggestion author
entityIdEntity this suggestion targets
nodeIdNode the target entity belongs to
topicKeyTopic slot this suggestion fills
ruleKeyJSON Schema rule key used to validate this suggestion
operationThe type of content operation this suggestion proposes
valueThe proposed content value. Shape is validated against the topic's JSON Schema rule.
statusCurrent lifecycle status of the suggestion
scoreNet vote score (upvotes minus downvotes)
upvotesTotal number of upvotes
downvotesTotal number of downvotes
createdAtISO 8601 timestamp of creation
updatedAtISO 8601 timestamp of last modification
Lightweight user reference embedded in created/updated metadata. Contains only public profile fields — never includes email.
Lightweight user reference embedded in created/updated metadata. Contains only public profile fields — never includes email.
itemKeyItem key for collection-type topics, null for single topics
deletedAtISO 8601 timestamp of soft-deletion, if applicable
Lightweight user reference embedded in created/updated metadata. Contains only public profile fields — never includes email.
SuggestionPage
Suggestions in this page
cursorOpaque cursor for fetching the next page, null if last page
CreateSuggestionInput
entityIdEntity to submit the suggestion for
topicKeyTopic key this suggestion targets
operationThe type of content operation
valueThe proposed content value
itemKeyOptional item key for collection-type topics
UpdateSuggestionInput
valueUpdated content value
statusUpdated suggestion status
UserProfile
userIdUnique identifier, server-generated
usernameDisplay username
rankUser rank based on contribution level
isActiveWhether the user account is active
createdAtISO 8601 timestamp of account creation
updatedAtISO 8601 timestamp of last profile update
photoUrlURL to the user's avatar image
bioUser's bio or description
UserPage
User profiles in this page
cursorOpaque cursor for fetching the next page, null if last page
CastVoteInput
suggestionIdID of the suggestion to vote on
valueVote value: 1 (upvote), 0 (remove), -1 (downvote)