tenant_not_provisioned
HTTP 409§9.10 Agreements
POST /v1/onboarding/api-key was called by a signed-in human whose account carries no tenant yet - the fee is unpaid, or Stripe's checkout.session.completed has not landed. 409 rather than 404 because the cure is time, not a different request: retry once the receipt arrives.
Problem shape
Every non-2xx response is an RFC 9457 application/problem+json body. The type URI below is stable and machine-matchable, so branch on the final path segment (the code) and treat the status as redundant confirmation. See the error-handling guide.
{
"type": "https://docs.vocapable.com/errors/tenant_not_provisioned",
"title": "…",
"status": 409,
"detail": "…",
"instance": "/v1/…"
}