API overview
The API is the highest-margin commercial surface because it packages the corpus and fuzzy match brain without requiring a full white-label app.
First endpoints
| Endpoint | Purpose | Buyer |
|---|---|---|
GET /fragrances | Search by name, brand, family, notes, accords | Developers, retailers |
GET /fragrances/:id | Full structured fragrance record | Developers, apps |
POST /match | Fuzzy match messy text to likely fragrance identity | Retailers, marketplaces |
GET /similar | Similar fragrances by note, accord, and style overlap | Retailers, recommendation apps |
GET /by-note | Fragrances containing a note or note family | Education, retailers |
POST /gift-finder | Occasion and recipient-based recommendations | Retailers, Shopify |
POST /feed/enrich | Batch catalogue cleanup and export | Retailers, agencies |
Infrastructure needed
- Organisations and memberships.
- Hashed API keys.
- Plan entitlements.
- Endpoint scopes.
- Daily and billing-period metering.
- Rate limits and quota errors.
- Admin usage readouts.
- Stripe plan mapping.
- Shopify plan mapping for app-store merchants.
- Public examples and error reference.
These are approval-gated because they touch auth, billing, and schema. Planning and documentation are safe; live migrations and payment enforcement are not changed without Justin's explicit approval.