Reference
API
Every page on this site has a JSON equivalent. 51 endpoints, all public, no key required. GET endpoints are cacheable; POST endpoints run the engine and are never cached.
Base URL
https://seosystem.bowtiekreative.com
The engine never guesses. Where a decision depends on a fact you have not supplied, the response names the missing fact rather than assuming a value.
Meta
| 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 |
Corpus manifest and inventory |
Model
| Method | Path | Summary |
|---|---|---|
GET |
/v1/grammar |
The governing sentence, the governing equation and the layers |
GET |
/v1/laka |
The five change levels, ten internal variables and fourteen change variables |
GET |
/v1/operators |
Boolean logic, precedence and the hard-gate pattern |
GET |
/v1/objects |
The six primitive object classes |
GET |
/v1/objects/{id} |
One object class and its primitives |
GET |
/v1/formats |
Task-native format selection |
GET |
/v1/dimensions |
The twelve volumetric opportunity dimension families |
GET |
/v1/dimensions/{id} |
One dimension family and its values |
Gates
| Method | Path | Summary |
|---|---|---|
GET |
/v1/gates |
The eight hard publication gates and the cluster gates |
GET |
/v1/gates/{field} |
One gate, with the rules that govern it |
Rules
| Method | Path | Summary |
|---|---|---|
GET |
/v1/rules |
Search and filter the 144 decision rules |
GET |
/v1/rules/{id} |
One rule, expanded with its area, levels and neighbours |
GET |
/v1/areas |
Rule counts by area |
GET |
/v1/areas/{slug} |
One area and all twelve of its rules |
GET |
/v1/levels |
The five LAKA change levels and the escalation rule |
Corpus
| Method | Path | Summary |
|---|---|---|
GET |
/v1/sops |
The fourteen audit and execution SOPs |
GET |
/v1/sops/{id} |
One SOP |
GET |
/v1/templates |
Page and cluster templates |
GET |
/v1/templates/{id} |
One template |
GET |
/v1/phases |
The eleven implementation phases |
GET |
/v1/phases/{id} |
One phase with its tasks and exit gate |
GET |
/v1/commands |
The ten pseudo-commands |
GET |
/v1/commands/{id} |
One pseudo-command and its parameters |
GET |
/v1/measurement |
Outcome hierarchy, KPIs and the twelve formulas |
GET |
/v1/experiments |
Hypothesis grammar, experiment cards and decision outcomes |
GET |
/v1/backlog |
The staged rollout and its exit gates |
GET |
/v1/crosswalk |
Course translation, terminology corrections and primary sources |
GET |
/v1/agent-prompt |
The operating prompt for an SEO agent |
GET |
/v1/schema |
JSON Schema for a LAKA SEO project |
GET |
/v1/examples |
Worked examples: a project, a candidate and a dimension set |
GET |
/v1/glossary |
Glossary terms |
GET |
/v1/documents |
The ten source documents, parsed into sections |
GET |
/v1/documents/{slug} |
One document with its full section tree |
GET |
/v1/source |
The authored source package, byte for byte |
GET |
/v1/source/{slug} |
One source file, verbatim |
GET |
/v1/search |
Search rules, gates, SOPs, templates, terms and document sections |
GET |
/v1/graph |
The corpus as nodes and edges |
GET |
/v1/backlinks/{id} |
What a rule, gate or area connects to |
Engine
| Method | Path | Summary |
|---|---|---|
GET |
/v1/engine/spec |
What each engine endpoint requires and refuses to guess |
POST |
/v1/evaluate |
Run a candidate through the eight hard gates and the priority score |
POST |
/v1/volume |
Size a volumetric space, and optionally sample it safely |
POST |
/v1/cluster |
Same page or separate pages — the one-page rule |
POST |
/v1/equation |
Score the governing equation and find the weakest link |
POST |
/v1/resolve |
Which rules govern a context, before you act |
POST |
/v1/laka |
Generate the five-level change matrix for an object |
POST |
/v1/experiment |
Turn a proposed change into a decidable experiment card |
POST |
/v1/validate |
Validate a project document against the schema and the completeness gates |
Worked calls
Evaluate a candidate
curl -X POST https://seosystem.bowtiekreative.com/v1/evaluate \
-H 'content-type: application/json' \
-d '{"id":"YYC-COST-001","gates":{"demand":true,"distinct_task":true,"business_value":true,"information_advantage":true,"technical_feasibility":true,"maintainability":true,"measurement":true,"compliance":true},"scores":{"demand_confidence":4,"business_fit":5,"task_value":5,"information_advantage":4,"conversion_value":4,"attainability":3,"existing_signal":2,"reuse_potential":4,"learning_value":5},"costs":{"production_effort":4,"technical_risk":2,"maintenance_burden":3,"time_to_learning":3,"opportunity_cost":2},"confidence":{"evidence":0.8,"measurement":0.85}}'
Size a volumetric space
curl -X POST https://seosystem.bowtiekreative.com/v1/volume \
-H 'content-type: application/json' \
-d '{"dimensions":{"audience":["business owner","marketing manager"],"task":["compare","calculate","hire"],"service":["web design","website redesign","accessibility audit"],"format":["guide","comparison","calculator"],"journey":["evaluation","decision"],"next_action":["assessment","brief download"]},"sample":5}'
Which rules govern a context
curl -X POST https://seosystem.bowtiekreative.com/v1/resolve \
-H 'content-type: application/json' \
-d '{"area":"technical-eligibility","level":"Structural"}'
Filter the rules
curl 'https://seosystem.bowtiekreative.com/v1/rules?area=measurement-and-experimentation&level=Baseline'