TodoRegistry listTemplates
List all todo specs (templates). Optionally filter by category.
Responses
Successful response
namestring · requireddescriptionstring · requiredidstring · requiredbodystring · requiredThe agent prompt body (markdown) — split into system/user via splitTemplateBody.
sourcerequiredWho owns a spec's content. 'builtin' = seeded from todo-registry.json and refreshed on deploy; editing copies-on-write to 'authored' (user-owned, never reseeded). Fork provenance lives in
forkedFrom, not here.updatedAtnumber · requiredcreatedAtnumber · requiredcategoriesstring[] · required
shortstringrequirementsstring[]Capability requirements, e.g. "cli:gh", "extension:chrome".
agentConfigobjectAgent settings a spec pins on the agent it starts with (applied by startFromSpec on every start).
name/colormake it a named agent (default name: the spec name).privatePrompt: the spec's system part stays server-side — stripped from public spec responses and never copied onto the agent; injected at run time via agent.specId.forkedFromstringSpec id or todo id this was forked from (set by share / save-as-template).
TodoRegistry createTemplate
Create a todo spec in the registry (auth required). Returns the stored spec; its id is what todoforai-cli recommend references. Used by todoregistry-cli create.
Request Body
namestring · minLength: 1 · maxLength: 120 · requireddescriptionstring · minLength: 1 · requiredbodystring · minLength: 1 · requiredThe agent prompt body (markdown).
shortstringcategoriesstring[]requirementsstring[]agentConfigobjectAgent settings a spec pins on the agent it starts with (applied by startFromSpec on every start).
name/colormake it a named agent (default name: the spec name).privatePrompt: the spec's system part stays server-side — stripped from public spec responses and never copied onto the agent; injected at run time via agent.specId.visibility
Responses
Successful response
idstring · requirednamestring · requireddescriptionstring · requiredcategoriesstring[] · requiredbodystring · requiredThe agent prompt body (markdown) — split into system/user via splitTemplateBody.
sourcerequiredWho owns a spec's content. 'builtin' = seeded from todo-registry.json and refreshed on deploy; editing copies-on-write to 'authored' (user-owned, never reseeded). Fork provenance lives in
forkedFrom, not here.visibilityrequiredcreatedBystring · requiredcreatedAtnumber · requiredupdatedAtnumber · required
shortstringrequirementsstring[]Capability requirements, e.g. "cli:gh", "extension:chrome".
agentConfigobjectAgent settings a spec pins on the agent it starts with (applied by startFromSpec on every start).
name/colormake it a named agent (default name: the spec name).privatePrompt: the spec's system part stays server-side — stripped from public spec responses and never copied onto the agent; injected at run time via agent.specId.forkedFromstringSpec id or todo id this was forked from (set by share / save-as-template).
TodoRegistry getTemplate
Get a single todo spec by ID.
path Parameters
idstring · required
Responses
Successful response
namestring · requireddescriptionstring · requiredidstring · requiredbodystring · requiredThe agent prompt body (markdown) — split into system/user via splitTemplateBody.
sourcerequiredWho owns a spec's content. 'builtin' = seeded from todo-registry.json and refreshed on deploy; editing copies-on-write to 'authored' (user-owned, never reseeded). Fork provenance lives in
forkedFrom, not here.updatedAtnumber · requiredcreatedAtnumber · requiredcategoriesstring[] · required
shortstringrequirementsstring[]Capability requirements, e.g. "cli:gh", "extension:chrome".
agentConfigobjectAgent settings a spec pins on the agent it starts with (applied by startFromSpec on every start).
name/colormake it a named agent (default name: the spec name).privatePrompt: the spec's system part stays server-side — stripped from public spec responses and never copied onto the agent; injected at run time via agent.specId.forkedFromstringSpec id or todo id this was forked from (set by share / save-as-template).
TodoRegistry patchTemplate
Edit a todo spec. Editing a builtin copies-on-write to an authored spec under the same id.
path Parameters
idstring · required
Request Body
idstring · required
namestringdescriptionstringbodystringshortstringcategoriesstring[]requirementsstring[]agentConfigobjectAgent settings a spec pins on the agent it starts with (applied by startFromSpec on every start).
name/colormake it a named agent (default name: the spec name).privatePrompt: the spec's system part stays server-side — stripped from public spec responses and never copied onto the agent; injected at run time via agent.specId.visibility
Responses
Successful response
idstring · requirednamestring · requireddescriptionstring · requiredcategoriesstring[] · requiredbodystring · requiredThe agent prompt body (markdown) — split into system/user via splitTemplateBody.
sourcerequiredWho owns a spec's content. 'builtin' = seeded from todo-registry.json and refreshed on deploy; editing copies-on-write to 'authored' (user-owned, never reseeded). Fork provenance lives in
forkedFrom, not here.visibilityrequiredcreatedBystring · requiredcreatedAtnumber · requiredupdatedAtnumber · required
shortstringrequirementsstring[]Capability requirements, e.g. "cli:gh", "extension:chrome".
agentConfigobjectAgent settings a spec pins on the agent it starts with (applied by startFromSpec on every start).
name/colormake it a named agent (default name: the spec name).privatePrompt: the spec's system part stays server-side — stripped from public spec responses and never copied onto the agent; injected at run time via agent.specId.forkedFromstringSpec id or todo id this was forked from (set by share / save-as-template).
TodoRegistry getAllStats
Retrieves statistics for all specs including likes and start counts.
Responses
Successful response
idstring · requiredstartsnumber · requiredTimes started/forked
likesnumber · requiredcompletionRatenumber · required0-100
avgCompletionTimenumber · requiredIn milliseconds
isLikedboolean · requiredCurrent user has liked
TodoRegistry getStats
Retrieves statistics for a specific spec.
path Parameters
idstring · required
Responses
Successful response
idstring · requiredstartsnumber · requiredTimes started/forked
likesnumber · requiredcompletionRatenumber · required0-100
avgCompletionTimenumber · requiredIn milliseconds
isLikedboolean · requiredCurrent user has liked
TodoRegistry toggleLike
Toggles the like status of a spec for the current user.
path Parameters
idstring · required
Responses
Successful response
idstring · requiredstartsnumber · requiredTimes started/forked
likesnumber · requiredcompletionRatenumber · required0-100
avgCompletionTimenumber · requiredIn milliseconds
isLikedboolean · requiredCurrent user has liked
TodoRegistry getAllTemplateMeta
Aggregated usage metadata (runs, messages, cost) for all specs.
Responses
Successful response
idstring · requiredtodoCountnumber · requiredHow many TODOs created from this spec
messageCountnumber · requiredTotal messages across all TODOs
totalCostnumber · requiredTotal cost across all TODOs (USD)
totalDurationnumber · requiredTotal AI processing duration across all TODOs (ms), summed from RunMeta.elapsed