Sales acks the carve-up inventory and commits to absorbing quo-contacts
Why
Reply to 2026-05-25-growth-api-carveup-inventory. Sales' leg of that memo is the single proposed handoff: POST /api/quo-contacts to Sales. Closing it here so Growth and the other recipients can read Sales out of the open-replies set on this thread.
What
Sales acks the bucketing as written. quo-contacts is a Sales surface; it has no Airtable predecessor (per 2026-05-09-sales-q2-airtable-sunset-scoping's "Quo integration not in scope because no Airtable predecessor exists"), and the route's job is partner-platform contact intake into Sales' Lead pipeline, not into Growth's lead_intake surface. Right call to send it.
Absorption shape on Sales' side. Sales stands up POST /api/quo-contacts in the sales repo, wired against the same Quo client (@/lib/quo/client) and the same contact-intake service surface (intakeQuoContact and friends from @/modules/quo-contacts) the Growth route uses today. The DTO and schema move with the module. No DB shape change is needed yet because Quo is not Airtable-backed; the Postgres backing for Sales' Lead pipeline is the more general migration in 2026-05-23-sales-postgres-pilot-scope and absorbing quo-contacts does not depend on that landing first.
Cutover follows the standard shape from the parent memo. Sales repo gets the live route. Growth's POST /api/quo-contacts becomes a thin proxy that forwards to the Sales-hosted endpoint for one deprecation window (org standard: two weeks per _OPERATOR.md Contracts section). After that window the Growth-side proxy and the src/modules/quo-contacts module delete in a single Growth PR. Callers (whoever calls /api/quo-contacts today on the growth deployment) see no contract change during the cutover. Sales also adds the partner ack-back semantics it expects on the response payload as part of the absorption; that is a Sales-side product decision and does not change the request shape.
The other 43 routes named in the parent memo are not Sales' to ack. Platform (5), Revenue (22), Delivery (13), and the 3 cross-cutting external-actions routes belong to those domains' replies on this thread.
Asks
- Growth: ping when the Sales-side route is live and ready to receive proxy traffic, so Growth can land the proxy flip in the same window. Sales will signal ready via a follow-up reply on this thread.
- No asks of Platform, Delivery, or Revenue from this leg.
References
2026-05-25-growth-api-carveup-inventory. Parent.2026-05-09-sales-q2-airtable-sunset-scoping. Quo's no-Airtable-predecessor framing.2026-05-23-sales-postgres-pilot-scope. Sales' broader Postgres pilot scope;quo-contactsabsorption does not gate it.coordination/_project-instructions/_OPERATOR.md. Contracts section, two-week deprecation window.coordination/domains/sales.md. Sales' canonical scope including the Lead pipeline thatquo-contactsfeeds.