128 lines
3.8 KiB
YAML
128 lines
3.8 KiB
YAML
openapi: 3.1.0
|
|
info:
|
|
title: TenantAtlas Homepage Surface Contract
|
|
version: 0.1.0
|
|
summary: Structural contract for the `apps/website` homepage in Spec 216.
|
|
description: >-
|
|
This contract defines the public HTML routes that participate in the
|
|
homepage journey for Spec 216. The homepage remains a static Astro surface
|
|
and must route visitors into Product, Trust, Changelog, and Contact while
|
|
satisfying the required homepage section model.
|
|
servers:
|
|
- url: http://localhost:{port}
|
|
description: Local Astro development or preview server
|
|
variables:
|
|
port:
|
|
default: '4321'
|
|
tags:
|
|
- name: Homepage Journey
|
|
description: Public HTML routes used by the homepage structure contract
|
|
paths:
|
|
/:
|
|
get:
|
|
tags: [Homepage Journey]
|
|
operationId: getHomepage
|
|
summary: Homepage
|
|
description: >-
|
|
Product-near homepage that positions the product, explains outcomes,
|
|
groups the product model, shows bounded trust and dated progress
|
|
signals, and ends in one clear next-step CTA.
|
|
x-tenantatlas-homepage-structure:
|
|
requiredBlocks:
|
|
- header
|
|
- hero
|
|
- outcome
|
|
- capability
|
|
- trust
|
|
- progress
|
|
- cta
|
|
- footer
|
|
orderedNarrative:
|
|
- hero
|
|
- outcome
|
|
- capability
|
|
- trust
|
|
- progress
|
|
- cta
|
|
primaryCtaTargets:
|
|
- /contact
|
|
- /demo
|
|
secondaryCtaTargets:
|
|
- /product
|
|
- /trust
|
|
- /changelog
|
|
onwardRoutes:
|
|
- /product
|
|
- /trust
|
|
- /changelog
|
|
- /contact
|
|
forbiddenPatterns:
|
|
- template-first-saas
|
|
- abstract-only-homepage
|
|
- feature-wall
|
|
- fake-trust
|
|
- multi-primary-cta
|
|
responses:
|
|
'200':
|
|
description: Homepage HTML
|
|
content:
|
|
text/html:
|
|
schema:
|
|
$ref: '#/components/schemas/HtmlDocument'
|
|
/product:
|
|
get:
|
|
tags: [Homepage Journey]
|
|
operationId: getHomepageProductTarget
|
|
summary: Product target route
|
|
description: Deeper product-model route linked from homepage hero or capability sections.
|
|
responses:
|
|
'200':
|
|
description: Product page HTML
|
|
content:
|
|
text/html:
|
|
schema:
|
|
$ref: '#/components/schemas/HtmlDocument'
|
|
/trust:
|
|
get:
|
|
tags: [Homepage Journey]
|
|
operationId: getHomepageTrustTarget
|
|
summary: Trust target route
|
|
description: Bounded trust and credibility route linked from homepage trust cues and CTA paths.
|
|
responses:
|
|
'200':
|
|
description: Trust page HTML
|
|
content:
|
|
text/html:
|
|
schema:
|
|
$ref: '#/components/schemas/HtmlDocument'
|
|
/changelog:
|
|
get:
|
|
tags: [Homepage Journey]
|
|
operationId: getHomepageChangelogTarget
|
|
summary: Changelog target route
|
|
description: Dated progress route linked from the homepage progress section.
|
|
responses:
|
|
'200':
|
|
description: Changelog page HTML
|
|
content:
|
|
text/html:
|
|
schema:
|
|
$ref: '#/components/schemas/HtmlDocument'
|
|
/contact:
|
|
get:
|
|
tags: [Homepage Journey]
|
|
operationId: getHomepageContactTarget
|
|
summary: Contact target route
|
|
description: Primary conversion route used by the homepage until a distinct public `/demo` route exists.
|
|
responses:
|
|
'200':
|
|
description: Contact page HTML
|
|
content:
|
|
text/html:
|
|
schema:
|
|
$ref: '#/components/schemas/HtmlDocument'
|
|
components:
|
|
schemas:
|
|
HtmlDocument:
|
|
type: string
|
|
description: Server-rendered static HTML document |