Hanzo
OpenapiTemplate

Creates a starter kit PRIVATE to the caller's org and answers 201 with the…

Creates a starter kit PRIVATE to the caller's org and answers 201 with the stored kit.

POST /v1/template

Addresshttps://api.hanzo.ai/v1/template
MethodPOST
Operationpost_template
AuthAuthorization: Bearer $HANZO_API_KEY

Creates a starter kit PRIVATE to the caller's org and answers 201 with the stored kit. The owner is stamped by the server, so a body "org" is never trusted; publishing over a public-catalog slug is 409, so a slug still names exactly one kit.

Request

16 fields, body application/json (required).

FieldInTypeRequiredDescription
categorybodystringCategory groups the kit in the gallery browser.
demobodystringDemo is the deployed site itself, when there is one.
descriptionbodystringDescription is the browse-card blurb, max 4096 characters.
featuresbodystring[]Features are the highlights the card lists, at most 32.
frameworkbodystringFramework is the stack the kit is built on ("Next.js 14").
previewbodystringPreview is the still image the browse card renders, max 4096 characters.
slugbodystringSlug is the kit's identity — lowercase alphanumeric with dashes, max 40.
sourcebodystringSource is the repository the kit is forked from, max 4096 characters.
titlebodystringTitle is the display name.
useCasebodystringUseCase is what the kit is for, in a phrase.
variantsbodyVariant[]Variants are the shapes this kit ships in, at most 32; the fork picks one.
variants[].frameworkbodystringonly when it differs from the template's
variants[].idbodystringselector, unique within the template ("react", "grid-3-fluid")
variants[].kindbodystringthe axis it varies: format | page | theme
variants[].labelbodystringhuman label for the picker
variants[].sourcebodystringthe repository this shape is forked from; the synthesized default shape carries the template's own

Response

StatusBodyMeaning
201StarterKitcreated

201 body — 19 fields.

FieldInTypeAlwaysDescription
categorybodystringgroups the kit in the gallery browser ("Portfolio", "SaaS")
demobodystringlive demo (<slug>.hanzo.app), when deployed
descriptionbodystringthe browse-card blurb
featuresbodystring[]the highlights the card lists, at most 32
frameworkbodystringthe stack the kit is built on ("Next.js 14.2 + TS")
orgbodystringowner of a PRIVATE template; empty in the public catalog
previewbodystringthe still image the browse card renders
ratingbodynumberRating is public-gallery curation, on the same terms as Tier: catalog-only, never accepted from a request, absent on a customer's own kit.
slugbodystringthe kit's identity — lowercase alphanumeric with dashes, max 40
sourcebodystringthe repository the kit is forked from
tierbodyintegerTier is public-gallery curation, carried verbatim from the embedded catalog.
titlebodystringdisplay name
useCasebodystringwhat the kit is for, in a phrase
variantsbodyVariant[]the shapes this template ships in
variants[].frameworkbodystringonly when it differs from the template's
variants[].idbodystringselector, unique within the template ("react", "grid-3-fluid")
variants[].kindbodystringthe axis it varies: format | page | theme
variants[].labelbodystringhuman label for the picker
variants[].sourcebodystringthe repository this shape is forked from; the synthesized default shape carries the template's own

Failure carries the platform error shape — see Errors.

Examples

hanzo templates create

Template API · All Hanzo APIs · Interactive reference

How is this guide?

On this page