Provisioning_
End-to-end guide for provisioning an Appwrite project per customer from a partner platform using organization API keys.
2 min read
This page is not in the Partners navigation. It predates the Partners key and still describes credentials and flows that do not match the current Organization API. Relink it once the flow is rewritten against a Partners key.
This guide walks through provisioning a dedicated Appwrite project when a customer signs up for your platform.
Flow overview
- Customer completes signup in your product
- Your backend creates or selects an Appwrite organization
- Console API creates a new project in the target region
- Your backend creates a scoped project API key
- Your platform stores the mapping and initializes default resources
Step 1: Create the project
const project = await organization.createProject({ projectId: ID.unique(), name: `${customer.name} workspace`, region: customer.preferredRegion ?? 'fra',});
await db.customers.update(customer.id, { appwriteProjectId: project.$id, appwriteRegion: project.region,});Step 2: Create a project API key
Create a key with scopes for the services your platform manages. Store the secret in your secrets manager keyed by customer ID. A Partners key cannot mint project API keys, so create this key in the Console.
Step 3: Bootstrap resources
Use the project SDK to create default databases, buckets, or functions your product expects. Keep bootstrap idempotent so retries are safe.
Step 4: Expose to your UI
Your customer-facing UI calls your API. Your backend uses the stored project credentials to call Appwrite.
Related
Was this page helpful?
Share what worked or what we should fix. Once approved, our agents automatically apply suggested updates to the docs.