Reference
API reference
The whole corpus is served as JSON at https://video.bowtiekreative.com/v1 — no key, no rate card, CORS open. Read the rules, dimensions, schemas, chapters and the worked example; run the rule engine with POST /v1/evaluate; validate documents with POST /v1/validate.
This material is a specification and reference set with a reference rule engine. It is not an editing application, a rendering pipeline or a completed production, and the worked example is entirely fictional — it exists to demonstrate the method.
Endpoints
| Method | Path | Summary |
|---|---|---|
GET |
/v1 |
This index |
GET |
/v1/health |
Liveness and corpus counts |
GET |
/v1/openapi.json |
OpenAPI 3.1 description of this API |
GET |
/v1/manifest |
Package manifest and inventory |
GET |
/v1/model |
The volumetric model: change levels, meta-variables, decision variables, operators |
GET |
/v1/dimensions |
All 62 enumerated (989 states) and 38 continuous dimensions — filter by group or kind |
GET |
/v1/dimensions/{id} |
One dimension with its full state list, e.g. shot_sizes |
GET |
/v1/rules |
The 196 production rules — filter by category, type (hard/soft), min_priority or q |
GET |
/v1/rules/{id} |
One production rule, in full, e.g. TXT-001 |
GET |
/v1/schemas |
The twelve JSON Schemas |
GET |
/v1/schemas/{name} |
One schema, e.g. clip |
GET |
/v1/example |
The fictional worked example — stage list |
GET |
/v1/example/{stage} |
One example stage, e.g. clips or rule-evaluation |
GET |
/v1/docs |
The 22 documentation chapters |
GET |
/v1/docs/{slug} |
One chapter, as markdown |
GET |
/v1/sources |
The primary source register |
POST |
/v1/evaluate |
Run the rule engine on a submitted context |
POST |
/v1/validate |
Validate a document against one of the packaged schemas |
The machine-readable description lives at /v1/openapi.json (OpenAPI 3.1). Agent onboarding: /llms.txt.
Run the rule engine
Submit a context object; rule conditions read dotted paths from it. The engine evaluates all 196 rules in priority order — hard before soft — applies the actions of every match, and returns the accumulated state plus a trace.
curl -s https://video.bowtiekreative.com/v1/evaluate \
-H 'content-type: application/json' \
-d '{
"context": {
"transcript": {"unresolved_pronoun": true},
"story": {"has_opening_promise": true}
}
}'
The response includes state (flags, proposals, requirements, human reviews, block status), hard_matched and soft_matched rule ids, and a trace with each match's priority, rationale and actions. Add "domains": ["transcript"] to evaluate one domain, or "matched_only": false for the full audit trace over every rule.
Validate a document
Name one of the 12 packaged schemas and submit a document:
curl -s https://video.bowtiekreative.com/v1/validate \
-H 'content-type: application/json' \
-d '{"schema": "clip", "document": {"clip_id": "clip_001"}}'
Validation is structural: required fields, types, enumerations, patterns, ranges and cross-file references. It does not run the rule engine or judge editorial quality.
Caching & terms
- GET responses are cacheable for five minutes with a day of stale-while-revalidate.
- POST endpoints are never cached.
- The corpus is versioned; counts and content only change with a new release.