Source:
ocean/docs/adr/0021-deprecate-legacy-provisioning-endpoint.md| ✏️ Edit on GitHub
ADR-0021: Deprecate Legacy Provisioning Endpoint (provision-user-resources)
Date: 2025-08-13
Status: Accepted
Context
The repository contained a legacy Edge Function supabase/functions/provision-user-resources that performed user/org provisioning. We now serve provisioning via GraphQL v2 (provisionUserResources mutation) with unified permissions, observability, caching, and plan enforcement.
Decision
- Remove the legacy function
supabase/functions/provision-user-resources/index.tsto prevent duplicate or drifted flows. - Consolidate all provisioning through
supabase/functions/graphql-v2resolvers.
Consequences
- Single source of truth for provisioning logic, easier maintenance and auditing.
- Any integrations pointing to the legacy HTTP endpoint must call the GraphQL mutation instead.
Migration Notes
- Database triggers or external callers should switch to calling GraphQL v2 endpoint
/graphql-v2mutationprovisionUserResources(email, metadata). - CORS is controlled by
ALLOWED_ORIGINSin GraphQL v2.