# info.description
Public, non-admin endpoints exposed by FollowNow.io. Admin and supplier-routing endpoints are auth-gated and intentionally omitted. No password is ever required from the customer; orders target only public profile / post URLs.

# paths./api/health.get.description
Returns a minimal envelope confirming the public surface is reachable. Does NOT report supplier, database, or admin readiness - use the auth-gated /api/admin/readiness endpoint for those signals.

# paths./api/target-lookup.post.description
Given a serviceId + raw user input, returns a structured target validation envelope (valid, found, unknown, invalid). Public, never asks for a password or token.

# paths./api/target-lookup.post.responses.200.description
Validation envelope (state field carries the verdict).

# paths./api/waitlist/signup.post.description
Captures customer intent during the pre-launch window so we can notify them when checkout opens. IP is hashed (SHA-256) before storage; raw IP is never persisted.

# paths./api/waitlist/signup.post.responses.503.description
Server is not yet configured for writes.

# paths./api/orders/{id}.get.description
Returns a redacted view of an order suitable for the customer-facing tracking page. Never exposes supplier ids, audit log, payment provider internals, or any other operator-only data. The id is an unguessable `ord_xxx` string (12 random chars).

# paths./llms.txt.get.description
Catalog-driven text/plain summary of platforms, services, tiers, trust posture, and links. See https://llmstxt.org/ for the convention.

# paths./sitemap.xml.get.description
Standard XML sitemap of every public canonical URL.

# components.schemas.TargetLookupRequest.properties.serviceId.description
Catalog service id, eg `instagram-followers`.

# components.schemas.TargetLookupRequest.properties.raw.description
Raw user input - handle, URL, or shortcode.

# components.schemas.WaitlistSignupRequest.properties.email.description
Customer email - write-only; never echoed back.

# components.schemas.WaitlistSignupRequest.properties.meta.description
Free-form analytics tail (utm, referrer, locale). Server caps payload at 1 KB before insert.

# components.schemas.WaitlistSignupResponse.properties.id.description
Opaque app-generated waitlist id (`ws_xxx`).

# tags[].description
Public, non-admin endpoints customers and agents may call.

# tags[].description
Discovery / metadata endpoints (no business state).