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

Media

Endpoint{apiBaseUrl}
Download schema

Image and file upload pipeline via S3 presigned URLs.


Get a presigned URL for image upload

POST
{apiBaseUrl}
/media/presign

Generates an S3 presigned URL for uploading an image. The image is associated with a specific entity and topic. Accepted content types are JPEG, PNG, and WebP. Returns both the upload URL and the final public image URL. Requires authentication.

Get a presigned URL for image upload › Request Body

Request body for generating an S3 presigned upload URL.
entityId
​string · minLength: 1 · required

Entity the image is associated with

topicKey
​string · minLength: 1 · required

Topic key the image belongs to

contentType
​string · enum · required

MIME type of the image to upload

Enum values:
image/jpeg
image/png
image/webp
itemKey
​string | null · minLength: 1

Optional item key for collection-type topics

Get a presigned URL for image upload › Responses

Presigned URL generated 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

Presigned URL details for uploading an image to S3.

POST/media/presign
curl --request POST \ --url %7BapiBaseUrl%7D/media/presign \ --header 'Content-Type: application/json' \ --data ' { "entityId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "topicKey": "hero-image", "contentType": "image/webp" } '
shell
Example Request Body
{ "entityId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "topicKey": "hero-image", "contentType": "image/webp" }
json
application/json
Example Responses
{ "traceId": "req_media001", "status": "CREATED", "message": "Presigned URL generated", "data": { "uploadUrl": "https://s3.amazonaws.com/bucket/presigned...", "imageUrl": "https://cdn.example.com/images/abc123.webp", "uploadId": "upl_abc123" } }
json
application/json

EntitiesNodes