Use this checklist before sending real subscribers to a Farther Shore product.
Product setup
- Product name, display name, and description are final enough for subscribers.
- Upstream URL points at the intended production API.
- Required upstream authentication is configured.
- Public portal copy explains the value of the API.
- Product docs include at least one working request example.
Billing setup
- Billing strategy matches how customers should buy the product.
- Every public plan has a clear name, price, and usage behavior.
- Included usage, hard limits, overage, or credit rules are intentional.
- Test subscription was created on the plan you expect to launch.
- Any external payment setup is connected and tested.
Gateway setup
- Product hostname resolves to the gateway.
- A test API key can call the product through the gateway.
- Missing, invalid, and revoked keys fail with expected errors.
- Requests over a configured limit are denied.
- Allowed requests reach the upstream API.
Usage and billing setup
- Usage events arrive in core after gateway traffic.
- Meter names match the plan configuration.
- Estimated and actual usage behavior is understood.
- Billing totals match the expected usage calculation.
Subscriber experience
- Subscriber can find the product in the developer portal.
- Subscriber can choose a plan.
- Subscriber can create or view an API key.
- Subscriber can copy an example request and receive a successful response.
- Error messages are understandable enough to self-correct common mistakes.
Operational checks
- Stage product was tested before production.
- Product owner knows how to revoke a key.
- Product owner knows how to update product docs.
- Product owner knows where to look for denied request and usage issues.
- Launch traffic expectations are known so gateway scaling can be monitored.
Suggested launch sequence
- Validate the product in stage.
- Publish production configuration.
- Create an internal subscriber and test API key.
- Send gateway traffic through the public product hostname.
- Confirm usage events arrive in core.
- Invite the first external subscriber.
- Watch usage and denied-request patterns during the first traffic window.