Command Center API — Business Requirements Document
Version: 1.1
Date: Augus 2026
Author: Pete Carroll, Founder — Traxs Group LLC
Status: Draft - Updated
Product: Command Center API — Traxs Group Platform API
URL: api.traxsgroup.com
1. Executive Summary
The Command Center API is the platform backbone of the Traxs One Suite. It serves as the integration layer between all Traxs products, handles public-facing communication (contact forms, support requests), and will grow into the central hub for cross-product data sharing, unified billing, entitlement, subscription and AI inference routing.
It is not a customer-facing product. It has no UI. It is infrastructure — the connective tissue that makes three independent products feel like one suite.
Update 2026-08-24 The System Admin App will connect to the Command Center API and the Keystone API.
See ADR-007 for the full decision record on why a separate Platform API was built rather than adding these capabilities to the RoundTrip API.
2. Problem Statement
2.1 The Integration Problem
As Traxs Group grows from one product to three, several cross-cutting concerns arise that cannot belong to any single product:
- Contact forms —
traxsgroup.com and roundtrips.app need to accept contact form submissions and route them to SendGrid without exposing API keys to the browser
- Cross-product data sharing — Waypoint's Executive Dashboard needs RoundTrip revenue data; Relay will need RoundTrip client data. Relay will need Waypoint data. Neither product should call the other's API directly
- Suite subscription awareness — the suite navigation switcher needs to know which products a tenant has active subscriptions to.
Command Center will also control the customer's subscription entitlements.
- Unified billing — as customers subscribe to multiple products, a single billing hub prevents fragmented Stripe customer records
2.2 The "No Mailto" Requirement
Every Traxs web property must accept contact form submissions through a proper API — no mailto: links that open the user's email client. This requires a server-side endpoint that can receive form data, validate it, and route it to SendGrid without exposing credentials to the browser.
2.3 The Cross-Product Data Problem
Without a dedicated integration layer, products would need to call each other's APIs directly — creating tight coupling. If RoundTrip's API changes, Waypoint breaks. The Command Center API solves this by acting as a stable integration contract between products.
3. Business Objectives
| Objective | Metric | Target |
|---|
| Eliminate all mailto links across Traxs web properties | Count of mailto: links on live sites | 0 |
| Subscriptions | handles which subscription a tenant is on | By Keystone launch |
| Product Entitlements | handles what products a tenant are entitled to | By Keystone launch |
| Enable Waypoint Executive Dashboard RoundTrip integration | Dashboard shows RT revenue on day one | By Waypoint M7 |
| Support suite navigation across all products | Suite switcher shows correct products | By Waypoint launch |
| Provide stable integration contract between products | Zero breaking changes to existing endpoints | Always |
| Enable unified Stripe customer management | One Stripe customer per Traxs tenant | By Waypoint billing launch |
4. Stakeholders
| Role | Person | Interest |
|---|
| Owner / Architect | Pete Carroll | All decisions |
| Consumer — RoundTrip | RoundTrip API | Publishes data via Command Center |
| Consumer — Waypoint | Waypoint API | Consumes RoundTrip data via Command Center |
| Consumer — Marketing site | roundtrips.app (Astro) | Contact form submission |
| Consumer — Company site | traxsgroup.com (React) | Contact form submission |
| Consumer — Future Relay | Relay API | CRM data exchange |
5. Scope
5.1 Current Scope (Live as of July 2026)
| Endpoint | Purpose | Status |
|---|
POST /v1/contact | Contact form → SendGrid | ✅ Live |
POST /v1/support | Support requests → SendGrid + Crisp | ⏳ Planned |
POST /v1/feedback | In-app feedback → SendGrid | ⏳ Planned |
GET /health | Health check | ✅ Live |
5.2 Subscription Scope (Keystone Launch)
| Endpoint | Purpose | Consumer |
|---|
GET /v1/subscriptions | Returns subscriptions | |
5.3 Product Entitlement Scope (Keystone Launch)
| Endpoint | Purpose | Consumer |
|---|
GET /v1/entitlements | Returns entitlements | |
5.4 Near-Term Scope (Waypoint Launch)
| Endpoint | Purpose | Consumer |
|---|
GET /v1/roundtrip/revenue-summary | RoundTrip revenue data for Waypoint dashboard | Waypoint API |
GET /v1/roundtrip/tickets/open | Open ticket summary for Waypoint dashboard | Waypoint API |
GET /v1/roundtrip/invoices/recent | Recent invoices for Waypoint dashboard | Waypoint API |
GET /v1/roundtrip/team | Technician list for Waypoint team view | Waypoint API |
GET /v1/roundtrip/ar/aging | AR aging data for Waypoint financial view | Waypoint API |
GET /v1/suite/subscriptions | Which products does this tenant have? | All product frontends |
POST /v1/clients/sync | Cross-product client record sync | RoundTrip → Waypoint |
5.5 Future Scope (Relay Launch)
| Endpoint | Purpose |
|---|
POST /v1/relay/lead | RoundTrip → Relay lead creation |
POST /v1/roundtrip/client | Relay → RoundTrip client creation |
| Campaign trigger events | RoundTrip job complete → Relay follow-up |
5.6 Long-Term Vision
| Capability | Description |
|---|
| Unified billing hub | Stripe customer shared across products — one billing record per tenant |
| Webhook management | Products publish events, others subscribe |
| AI inference gateway | Routes requests to Anthropic API — shared across all products |
| Platform analytics | Cross-product usage data for owner dashboard |
6. Non-Functional Requirements
| Requirement | Target |
|---|
| Availability | 99.5% uptime |
| Response time | < 500ms for all endpoints (excluding external API calls) |
| Security | All service-to-service calls authenticated via API key |
| Public endpoints | Contact/support/feedback endpoints are unauthenticated (rate limited) |
| Rate limiting | Public endpoints: 10 requests/minute per IP |
| CORS | Configured per endpoint — public endpoints allow Traxs domains only |
7. Constraints
- No database in v1 — pure pass-through to SendGrid, RoundTrip API, and Crisp
- Same Clean Architecture as RoundTrip — any developer can navigate immediately
- Deployed on Azure App Service (Central US) — same region as RoundTrip
- Must never become a bottleneck — if Command Center API is down, products must degrade gracefully
8. Some notes
- Entitlement delegation -
- Subscriptions
8. Document History
| Version | Date | Author | Changes |
|---|
| 1.0 | July 2026 | Pete Carroll | Initial draft |
| 1.1 | August 2026 | Pete Carroll | Draft - Updated |