Famitek Partners Registry API
Public endpoints of the Famitek Partners Registry: service health, referral click attribution, and End Customer checkout for a Charter's published offer. Authenticated Charter, Control Center, and application endpoints are not part of this public contract.
Machine-readable description: OpenAPI 3.1. API catalog (RFC 9727): /.well-known/api-catalog. Errors are returned as {"error":{"code","message"}}.
GET /api/health
Service and database readiness.
Responses
200The service and its database are up.503The service is running but its database is unavailable.
POST /api/affiliates/click
Record a referral click from a ?ref= landing. Idempotent per clickKey: repeating a click updates its landing path instead of recording a second one.
Request body
code(required)clickKey(required)landingPath
Responses
201Click recorded.404The referral code is not active.422The code or click key is malformed.429Too many requests from this address.503Referrals are temporarily unavailable.
GET /api/customer/offers/{token}
Read a Charter's published offer.
Responses
200The offer as the End Customer sees it.404The offer does not exist or is unavailable.409The service is not accepting new customers.429Too many checkout requests from this address.503Customer checkout is temporarily unavailable.
POST /api/customer/offers/{token}/setup
Start checkout and receive a Stripe SetupIntent client secret.
Request body
requestKey(required) — Client-generated key; retrying with the same key resumes the same checkout.continuityAccepted(required) — Agreement to the customer continuity consent.name(required)email(required)
Responses
200Checkout started.404The offer does not exist or is unavailable.409The service is not accepting new customers.422Missing consent or an invalid request key.429Too many checkout requests from this address.503Customer checkout is temporarily unavailable.
POST /api/customer/offers/{token}/complete
Complete checkout after the payment form succeeds.
Request body
requestKey(required)
Responses
200The order and its state.404No checkout exists for this request key.409The payment form has not been completed.422Invalid request key or unsupported payment method.429Too many checkout requests from this address.503Customer checkout is temporarily unavailable.