Skip to content
Zoodl

Documentation

How browsing, publishing, and the API work.

Browsing and search

Full-text search covers the executable payload of a set, not just its title: the seed prompt, every step, and the markdown guide are all indexed. Results can be narrowed with facets and reordered without leaving the page.

  • Tags: a tag facet shows each tag with its result count.
  • Author: filter to community or official sets.
  • Sort: order by most recent, most liked, or most viewed.
  • Pagination: results page in a fixed page size rather than infinite-scrolling.

Anatomy of an instruction set

A set is three parts plus a block of metadata, not a single JSON blob: a seed prompt, an ordered list of steps, and a markdown guide.

FieldMeaningLimit
seed_promptFirst prompt Zoodl sends to the model≤2000 characters
stepsOrdered instructions Zoodl runs after the seed prompt≤100 steps
body_mdMarkdown guide for the person running the set≤50,000 characters
titleDisplay name≤200 characters
summaryShort description shown in listings≤500 characters
slugURL-safe identifierlowercase-hyphen, ≤80 characters
platformTarget operating systemmacos, windows, linux, or web
tagsSearchable labelslowercase, digits and hyphens, ≤40 characters each
versionRelease version of the setsemver, x.y.z
github_urlLinked source repositorymust start with https://github.com/
prerequisitesSetup required before running the set≤20 items, ≤200 characters each

Each step also carries an optional label (≤200 characters) and an optional marker: a visual annotation drawn over a screenshot, with a shape of circle, box, arrow, or none, an optional direction, and a width and height expressed as 0 to 1 fractions.

A set also carries finer environment targeting: category_slug, target_app, os_min_version, recommended_model, min_app_version, and system_prompt_extra (≤2000 characters).

Creating a set

Signed-in users create a set from /templates/new. It is not a single JSON body: the form walks through each part separately.

  • Seed prompt: the first prompt Zoodl sends to the model.
  • Steps: add, reorder, and annotate the ordered instructions.
  • Guide: write the markdown walkthrough for humans.
  • Metadata: title, summary, slug, category, platform, tags, version, and an optional GitHub link.

A set saves as a draft until you choose to publish it, so there is no pressure to get every field right on the first pass.

Lifecycle

Every set has three independent settings, not one visibility flag.

AxisValues
statusdraft, published, archived
visibilitypublic, private
moderation_statusactive, flagged, removed

Only a set that is published, public, and active shows up in the public catalog. Any other combination, including every draft and every private set, is hidden from everyone except its author. An author always sees all of their own sets, in any state, on their profile.

Accounts

  • Anonymous: browse, search, and open sets in Zoodl. Recent views are stored in the browser's localStorage, not on the server.
  • Signed in: everything anonymous can do, plus publishing, liking, and a server-side history.
  • Official: accounts the Zoodl team marks official; their published sets are labeled official across the catalog.

API

The public REST API lives under /api/v1 on the API host. Interactive OpenAPI docs are served at /docs on that same host.

/api/v1/auth         register, login, session
/api/v1/templates    list, create, read, update, publish
/api/v1/tags         tag facet with counts
/api/v1/users        public profiles and their templates
/api/v1/me/history   per-user view and like history

The API host is separate from this marketplace site and depends on where it's deployed, so no hostname is hardcoded here.