MinMaxHub
Documentation
  • Introduction
  • Architecture
  • Frontend
Domains
  • Nodes
  • Entities
  • Consensus
  • Suggestions
Resources
  • API Reference

Copyright 2026 MinMaxHub

  • Documentation
  • Domains
  • API Reference
Information
Consensus
    Trigger consensus recomputation for an entitypostApprove or reject a suggestion via moderationpostList suggestions pending moderationgetGet consensus page data for SSR renderinggetResolve a full page by slug pathget
Entities
    Create a new entity under a nodepostGet an entity by its unique identifiergetUpdate an entity's title and statusputDelete an entitydeleteRefresh an entity's layout from its parent node templatespatchList entities belonging to a nodegetGet an entity by its full slug pathgetList all entity slug pathsget
Media
    Get a presigned URL for image uploadpost
Nodes
    Create a new node in the taxonomy treepostGet a node by its unique identifiergetArchive a nodepatchUpdate a node's layout templatesputList ancestor nodes for a slug pathgetList direct children of a nodegetList all descendants of a nodegetGet a node by its slug pathget
Rules
    List all rules in a foldergetGet a single rule by folder and component keygetUpdate an existing ruleputCreate a new rulepost
Suggestions
    Create a new content suggestionpostGet a suggestion by its unique identifiergetSoft-delete a suggestiondeleteUpdate a suggestion's value or statuspatchList suggestions by a specific authorgetList suggestions for a specific entitygetList suggestions by target (entity + topic + item)get
Users
    List all usersgetGet a user profile by IDgetGet a user profile by usernameget
Votes
    Cast or change a vote on a suggestionpostGet the authenticated user's votesget
Schemas
powered by Zudoku
MinMaxHub API
MinMaxHub API

Consensus

Endpoint{apiBaseUrl}
Download schema

Approved content derived from voting (Read path). Computes winners, serves SSR page data, and provides moderation tools.


Trigger consensus recomputation for an entity

POST
{apiBaseUrl}
/consensus/compute/{entityId}

Recomputes winning suggestions for every topic target belonging to the specified entity. Returns a summary of how many targets were processed and how many winners changed. Requires authentication.

Trigger consensus recomputation for an entity › path Parameters

entityId
​string · uuid · required

Unique identifier of the entity to recompute consensus for

Trigger consensus recomputation for an entity › Responses

Consensus recomputed successfully

Standard response envelope wrapping all API responses. Every response includes a trace ID for debugging, a machine-readable status, and a human-readable message.
status
​string · enum · required

Machine-readable status code

Enum values:
OK
CREATED
ACCEPTED
NO_CONTENT
BAD_REQUEST
UNAUTHORIZED
FORBIDDEN
NOT_FOUND
message
​string · required

Human-readable status message

traceId
​string

Unique request trace ID for debugging and log correlation

​object

Summary of a consensus computation run.

POST/consensus/compute/{entityId}
curl --request POST \ --url %7BapiBaseUrl%7D/consensus/compute/:entityId
shell
Example Responses
{ "traceId": "req_abc123", "status": "OK", "message": "Consensus computed", "data": { "entityId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "targetsProcessed": 12, "winnersUpdated": 3, "computedAt": "2026-02-15T10:30:00Z" } }
json
application/json

Approve or reject a suggestion via moderation

POST
{apiBaseUrl}
/consensus/moderate/{suggestionId}

Allows a moderator to approve or reject a pending suggestion. Approved suggestions are merged into consensus. Rejected suggestions are marked accordingly. An optional reason can be provided. Requires authentication.

Approve or reject a suggestion via moderation › path Parameters

suggestionId
​string · uuid · required

Unique identifier of the suggestion to moderate

Approve or reject a suggestion via moderation › Request Body

Request body for moderating a suggestion.
action
​string · enum · required

Moderation action to take

Enum values:
approve
reject
reason
​string

Optional reason for the moderation decision

Approve or reject a suggestion via moderation › Responses

Suggestion moderated successfully

Standard response envelope wrapping all API responses. Every response includes a trace ID for debugging, a machine-readable status, and a human-readable message.
status
​string · enum · required

Machine-readable status code

Enum values:
OK
CREATED
ACCEPTED
NO_CONTENT
BAD_REQUEST
UNAUTHORIZED
FORBIDDEN
NOT_FOUND
message
​string · required

Human-readable status message

traceId
​string

Unique request trace ID for debugging and log correlation

​object

Result of a moderation action on a suggestion.

POST/consensus/moderate/{suggestionId}
curl --request POST \ --url %7BapiBaseUrl%7D/consensus/moderate/:suggestionId \ --header 'Content-Type: application/json' \ --data ' { "action": "approve", "reason": "Content is accurate and well-formatted" } '
shell
Example Request Body
{ "action": "approve", "reason": "Content is accurate and well-formatted" }
json
application/json
Example Responses
{ "traceId": "req_def456", "status": "OK", "message": "Suggestion moderated", "data": { "suggestionId": "b2c3d4e5-f6a7-8901-bcde-f12345678901", "action": "approve", "status": "merged" } }
json
application/json

List suggestions pending moderation

GET
{apiBaseUrl}
/consensus/moderation-queue

Returns a paginated list of consensus items that have pending suggestions awaiting moderator review. Each item includes the current consensus and a count of alternative suggestions. Requires authentication.

List suggestions pending moderation › query Parameters

limit
​integer · min: 1 · max: 100

Maximum number of items to return per page

Default: 50
nextToken
​string

Opaque cursor from a previous response for pagination

List suggestions pending moderation › Responses

Moderation queue retrieved successfully

Standard response envelope wrapping all API responses. Every response includes a trace ID for debugging, a machine-readable status, and a human-readable message.
status
​string · enum · required

Machine-readable status code

Enum values:
OK
CREATED
ACCEPTED
NO_CONTENT
BAD_REQUEST
UNAUTHORIZED
FORBIDDEN
NOT_FOUND
message
​string · required

Human-readable status message

traceId
​string

Unique request trace ID for debugging and log correlation

​object

Paginated moderation queue response.

GET/consensus/moderation-queue
curl --request GET \ --url %7BapiBaseUrl%7D/consensus/moderation-queue
shell
Example Responses
No example specified for this content type
application/json

Get consensus page data for SSR rendering

GET
{apiBaseUrl}
/consensus/page/{entityId}

Returns the full consensus page for an entity, including the entity metadata, layout templates, and all computed consensus values. Used by the Next.js SSR layer to render public content pages. No authentication required.

Get consensus page data for SSR rendering › path Parameters

entityId
​string · uuid · required

Unique identifier of the entity

Get consensus page data for SSR rendering › Responses

Consensus page data retrieved successfully

Standard response envelope wrapping all API responses. Every response includes a trace ID for debugging, a machine-readable status, and a human-readable message.
status
​string · enum · required

Machine-readable status code

Enum values:
OK
CREATED
ACCEPTED
NO_CONTENT
BAD_REQUEST
UNAUTHORIZED
FORBIDDEN
NOT_FOUND
message
​string · required

Human-readable status message

traceId
​string

Unique request trace ID for debugging and log correlation

​object

Full consensus page payload for SSR rendering. Contains entity metadata, layout configuration, and all computed consensus values.

GET/consensus/page/{entityId}
curl --request GET \ --url %7BapiBaseUrl%7D/consensus/page/:entityId
shell
Example Responses
No example specified for this content type
application/json

Resolve a full page by slug path

GET
{apiBaseUrl}
/consensus/resolve/{slugPath}

Single-call page resolver for public SSR. Resolves an entity by its full slug path and returns entity metadata, layout, consensus values, and breadcrumb navigation. The slugPath parameter captures the full remaining path (e.g., "dnd/classes/bard/college-of-lore"). No authentication required.

Resolve a full page by slug path › path Parameters

slugPath
​string · required

Full slug path to resolve. Captures multiple path segments (e.g., "dnd/classes/bard/college-of-lore").

Resolve a full page by slug path › Responses

Page resolved successfully

Standard response envelope wrapping all API responses. Every response includes a trace ID for debugging, a machine-readable status, and a human-readable message.
status
​string · enum · required

Machine-readable status code

Enum values:
OK
CREATED
ACCEPTED
NO_CONTENT
BAD_REQUEST
UNAUTHORIZED
FORBIDDEN
NOT_FOUND
message
​string · required

Human-readable status message

traceId
​string

Unique request trace ID for debugging and log correlation

​object

Extended consensus page data returned by the slug resolver. Includes breadcrumb navigation in addition to entity, layout, and consensus data.

GET/consensus/resolve/{slugPath}
curl --request GET \ --url %7BapiBaseUrl%7D/consensus/resolve/:slugPath
shell
Example Responses
{ "traceId": "req_ghi789", "status": "OK", "message": "Page resolved", "data": { "entity": { "entityId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "nodeId": "c3d4e5f6-a7b8-9012-cdef-123456789012", "title": "College of Lore", "slug": "college-of-lore", "slugPath": "dnd/classes/bard/college-of-lore" }, "layout": [], "consensus": {}, "breadcrumbs": [ { "label": "D&D", "href": "/dnd" }, { "label": "Classes", "href": "/dnd/classes" }, { "label": "Bard", "href": "/dnd/classes/bard" } ], "computedAt": "2026-02-15T10:30:00Z" } }
json
application/json

Entities