09. Data Contracts and Events¶
Key API contracts (observed)¶
| Producer | Endpoint | Consumer | Purpose | Status |
|---|---|---|---|---|
| Public app | /api/leads |
Leads backend | Create lead | Implemented |
| Public app | /api/leads/{leadId}/trigger-generation |
Leads backend | Start prototype generation | Implemented |
| Public app | /subscriptions/api/subscription-plans/ |
IDK subscriptions | Retrieve plans | Implemented |
| Public app | /subscriptions/api/checkout-session/ |
IDK subscriptions | Start Stripe checkout | Implemented |
| Public app | /subscriptions/api/checkout-status/ |
IDK subscriptions | Confirm payment/session | Implemented |
| Public app | /api/support/tickets |
Support backend | Create support ticket | Implemented |
| Stripe | /subscriptions/webhooks/stripe |
IDK subscriptions | Billing lifecycle events | Implemented |
Event lifecycle (simplified)¶
sequenceDiagram
participant U as User
participant P as Public App
participant S as Stripe
participant I as IDK Subscriptions
participant A as Provisioning/Activation
U->>P: Choose plan and submit checkout form
P->>I: POST checkout-session
I->>S: Create Checkout Session
S-->>U: Hosted checkout
S-->>I: checkout.session.completed (webhook)
I->>I: sync subscription/payment state
I->>A: provision account artifacts
A-->>U: activation email token
Contract gaps¶
- No clearly documented canonical contract tying prototype artifact identity to final IDK
Siteidentity.