Projects API#2926
Conversation
Greptile SummaryThis PR introduces the Projects API documentation, a new
Confidence Score: 4/5Safe to merge after adding the two missing cache entries for the renamed The renamed
Important Files Changed
Reviews (22): Last reviewed commit: "Trim Project API guides and add launch c..." | Re-trigger Greptile |
# Conflicts: # .optimize-cache.json # src/routes/docs/products/project/api-keys/+page.markdoc # static/images/docs/project/create-api-key.png # static/images/docs/project/dark/create-api-key.png
- Rename stale enum classes to Project-prefixed names across all SDK language blocks: Scopes->ProjectKeyScopes (api-keys), AuthMethod->ProjectAuthMethodId (auth-methods), ProtocolId->ProjectProtocolId (protocols), ServiceId->ProjectServiceId (services); fix Python enum import path - Replace mock-phones Errors table with a Benefits section to match sibling project pages
…ist/get policy) - api-keys: add Create an ephemeral key section (createEphemeralKey), using tables.read/tables.write scopes - platforms: add Get a platform section (getPlatform) - policies: add List policies and Get a policy sections (listPolicies, getPolicy) All code blocks verified against a local Cloud with the published node-appwrite and appwrite (Rust) SDKs.
- New page documenting the project OAuth2 endpoints: per-provider updateOAuth2<Provider>, listOAuth2Providers, getOAuth2Provider - Console section with light/dark screenshots - Provider table mapping all 42 providers to their method and credential field names (App ID / App secret / extra fields) - Documents that enabling a provider validates credentials end-to-end and throws on invalid creds - Sidebar entry after Auth methods Node, Rust, and CLI examples verified against a local Cloud.
- Move /docs/advanced/platform/environment-variables to /docs/products/project/environment-variables - Add redirect from the old path to the new one - Update platform and project sidebars
- Relocate /docs/products/project/* to /docs/platforms/project/* - Add a Platforms category in the docs sidebar below Products and move Project into it - Update section sidebar hrefs and overview cards to the new path - Repoint existing redirects that targeted /docs/products/project/* to /docs/platforms/project/*
Unreferenced screenshot accidentally committed to the repo root; the mock phones page uses static/images/docs/project/dark/mock-phones.avif.
Document listing, getting, and updating custom email templates via the Console, Server SDKs (all languages), and CLI. Node and Rust blocks plus all three CLI commands verified against a local Cloud. Includes a template types reference, locales note, and benefits section, with light and dark Console screenshots.
Document configuring a custom SMTP server and sending a test email via the Console, Server SDKs (all languages), and CLI. Node, Rust, and the CLI commands verified against a local Cloud with real delivery to MailDev. Also add required-scope info boxes to the SMTP, email templates, and environment variables pages to match the other project pages, and add overview cards for OAuth providers, environment variables, SMTP, and email templates.
Add a Labels page documenting updateLabels via the Console, Server SDKs, and CLI, with a note on reading labels through project.get. Node, Rust, and the CLI command verified against a local Cloud. Also document project.get in a "Retrieve your project" section on the project overview, and add the Labels card and sidebar entry.
…section auth-methods: the SDK method is updateAuthMethod, not updateProjectAuthMethodId (corrected across node, deno, php, dotnet, dart, kotlin, java, go); and the Node enum member is ProjectAuthMethodId.Emailpassword, not EmailPassword (Node/Deno). oauth: the Node method is updateOAuth2GitHub, not updateOAuth2Github. Verified against the published node-appwrite and rust SDKs and run against a local Cloud. Non-Node languages were already correct.
Add a "Delete a project" section with a prominent destructive warning, covering all Server SDKs and the CLI. Verified that delete returns 204 and removes the project in Node, Rust, and the CLI against a local Cloud.
Announce the Projects API with all-language examples (createWebPlatform and updateProtocol), verified in Node and Rust. Cover path is referenced but intentionally left empty for now.
Add five journey pages under platforms/project: provisioning, key rotation, branded emails, plan tiers, and offboarding. Add a Journeys group to the project sidebar, and a 'Built for platform teams' section plus Journeys cards to the project overview. Update the policies page required scope to the current project.policies.write.
| title: "Announcing the Projects API: Configure your project with Server SDKs" | ||
| description: Every project setting, from auth methods and OAuth providers to SMTP and labels, can now be configured programmatically through the Appwrite Server SDKs. | ||
| date: 2026-06-05 | ||
| cover: /images/blog/announcing-projects-api/cover.avif |
There was a problem hiding this comment.
The new post points its cover to /images/blog/announcing-projects-api/cover.avif, but that asset is not present under static/images/blog/announcing-projects-api/. When this post is published, the blog card and post hero can render a broken image. Please add the cover asset or point this field at an existing image.
Artifacts
Repro: Playwright real app repro script
- Contains supporting evidence from the run (text/javascript; charset=utf-8).
Repro: real app startup failure log showing Vite was blocked by Node version
- Keeps the command output available without making the summary code-heavy.
Repro: focused static asset repro script
- Contains supporting evidence from the run (text/javascript; charset=utf-8).
Repro: static asset HTTP 404 output
- Keeps the command output available without making the summary code-heavy.
… page Documents updatePasswordStrengthPolicy and the deny-aliased/disposable/free-email policies with examples across all server SDKs and the CLI. Claude-Session: https://claude.ai/code/session_011RByzUgcgGo8F6mFouRG3g
Rename docs/platforms/project to docs/partners/project, update the inbound docs/blog links, rename the sidebar group from Platforms to Partners, and repoint the five redirect targets (api-keys, environment-variables) to the new path. The old advanced/platform redirect block is unchanged. Claude-Session: https://claude.ai/code/session_011RByzUgcgGo8F6mFouRG3g
Remove the plan-tiers and offboarding guides, rename the Journeys nav group to Guides, and clean up the cross-links that pointed at the removed pages. Add the Projects API cover image to the blog, create a matching changelog entry, and set both to 2026-07-01. Claude-Session: https://claude.ai/code/session_011RByzUgcgGo8F6mFouRG3g
No description provided.