Skip to content

feat: API specs update for version latest#64

Open
appwrite-specs[bot] wants to merge 1 commit into
mainfrom
feat-latest-specs
Open

feat: API specs update for version latest#64
appwrite-specs[bot] wants to merge 1 commit into
mainfrom
feat-latest-specs

Conversation

@appwrite-specs
Copy link
Copy Markdown

@appwrite-specs appwrite-specs Bot commented May 7, 2026

This PR contains API specification updates for version latest.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented May 7, 2026

Greptile Summary

This is an automated API spec update bumping all six spec files from version 1.9.3 to 1.9.5, adding several new API groups (presences, proxy rules, advisor/reports, tablesDB bigint columns) and reorganising project configuration endpoints.

  • New endpoints (additive): presences CRUD, proxy/rules/{api,function,redirect,site}, advisor/reports endpoints, and tablesDB/databases bigint attribute types are all net-new paths with no removals that affect them.
  • Breaking removals and renames: The three /project/auth/{canonical,disposable,free}-emails paths are gone (replaced by /project/policies/deny-*); /proxy/rules/{ruleId}/verification is gone (replaced by /proxy/rules/{ruleId}/status); the suggestQueries query parameter was renamed typeresource; the proxyRule.status enum lost the "created" value; and the GET /project/oauth2/{provider} path parameter was renamed providerproviderId. These changes appear consistently across all four server/console variants (OpenAPI 3 and Swagger 2).

Confidence Score: 3/5

Not safe to merge without a coordinated SDK release — multiple existing endpoints are removed or renamed with no deprecation aliases.

The spec simultaneously removes five existing paths, renames a query parameter, drops an enum value, renames a path parameter, and introduces a request/response type mismatch. Each change individually would be a breaking SDK update; landing them all at once amplifies the blast radius. The client spec changes are purely additive and safe.

All four server/console spec variants (open-api3-latest-server.json, open-api3-latest-console.json, swagger2-latest-server.json, swagger2-latest-console.json) carry the breaking changes and need attention before merge.

Important Files Changed

Filename Overview
specs/latest/open-api3-latest-client.json Version bumped 1.9.3 → 1.9.5; purely additive: new /presences, /presences/{presenceId}, and advisor/report endpoints added; storage and existing endpoints unchanged.
specs/latest/open-api3-latest-console.json Multiple breaking changes: proxy path renamed from /verification to /status, email auth paths replaced by /project/policies/*, suggestQueries param renamed type→resource, proxyRule.status enum drops "created", OAuth2 path param renamed provider→providerId.
specs/latest/open-api3-latest-server.json Breaking changes: three email-policy endpoints moved to new base path and renamed, OAuth2 path param renamed provider→providerId; new proxy rules, presences, advisor, tablesDB bigint endpoints added; statusCode (string) vs redirectStatusCode (integer) type mismatch in proxyCreateRedirectRule.
specs/latest/swagger2-latest-client.json Mirrors open-api3-latest-client.json changes; additive only — new presences and advisor/report endpoint groups.
specs/latest/swagger2-latest-console.json Mirrors open-api3-latest-console.json breaking changes: proxy path rename, email policy path renames, suggestQueries parameter rename, status enum shrink, and OAuth2 path param rename.
specs/latest/swagger2-latest-server.json Mirrors open-api3-latest-server.json breaking changes: email policy endpoint renames, OAuth2 path param rename, statusCode/redirectStatusCode type mismatch; new proxy, presences, advisor, tablesDB bigint endpoints added.

Reviews (6): Last reviewed commit: "chore: update API specs and SDK examples" | Re-trigger Greptile

Comment thread specs/latest/open-api3-latest-console.json
@appwrite-specs appwrite-specs Bot force-pushed the feat-latest-specs branch from 287104a to b180840 Compare May 7, 2026 11:31
@@ -1,7 +1,7 @@
{
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Breaking path rename: /proxy/rules/{ruleId}/verification/proxy/rules/{ruleId}/status

The endpoint path, operationId (proxyUpdateRuleVerificationproxyUpdateRuleStatus), and SDK method name (updateRuleVerificationupdateRuleStatus) all changed in the same commit. Any existing console SDK client that calls PATCH /v1/proxy/rules/{ruleId}/verification will receive a 404 at runtime. The same rename appears in swagger2-latest-console.json. This should be coordinated with a corresponding console SDK release, or the old path should be preserved as a deprecated alias during a transition period.

@@ -1,7 +1,7 @@
{
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Removed "created" value from rule status enum

The status field of the proxyRule schema previously enumerated four values: "created", "verifying", "verified", "unverified". This PR drops "created" down to three values. Any console client that reads a rule object and branches on status === "created" will now silently fall through to its default/unknown branch. The same change appears in swagger2-latest-console.json. If the server still returns "created" for older rule objects, clients following the new spec will mishandle those responses.

@appwrite-specs appwrite-specs Bot force-pushed the feat-latest-specs branch from b180840 to c73222d Compare May 7, 2026 13:17
Comment on lines +37143 to +37159
"statusCode": {
"type": "string",
"description": "Variable value. Max length: 8192 chars.",
"x-example": "<VALUE>"
"description": "Status code of redirection",
"x-example": "301",
"enum": [
"301",
"302",
"307",
"308"
],
"x-enum-name": null,
"x-enum-keys": [
"Moved Permanently 301",
"Found 302",
"Temporary Redirect 307",
"Permanent Redirect 308"
]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Type mismatch: statusCode request parameter vs redirectStatusCode response field

The proxyCreateRedirectRule request body defines statusCode as type: "string" (line 37143), while the proxyRule response schema defines redirectStatusCode as type: "integer" (line 70863). SDK generators will produce mismatched types for the same conceptual value — callers must pass the string "301" but will receive back the integer 301. The same mismatch is present in swagger2-latest-server.json. Either both should be strings (with the enum on the request side) or both should be integers.

@appwrite-specs appwrite-specs Bot force-pushed the feat-latest-specs branch 2 times, most recently from 2ae3944 to 0b842bb Compare May 12, 2026 07:20
}
},
"\/project\/policies\/password-dictionary": {
"\/project\/policies\/deny-canonical-email": {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Breaking path and operationId renames for three email-policy endpoints

Three endpoints have been simultaneously moved to a new base path and renamed: PATCH /project/auth/canonical-emails (projectUpdateCanonicalEmails) is now PATCH /project/policies/deny-canonical-email (projectUpdateDenyCanonicalEmailPolicy); the same pattern applies for disposable-emails and free-emails. Any SDK client that calls the old /project/auth/* routes will receive a 404, and any SDK generated from the previous spec will reference non-existent operation IDs. The same rename is present in open-api3-latest-console.json, swagger2-latest-server.json, and swagger2-latest-console.json. This requires a coordinated SDK release or a deprecated-alias transition period to avoid breaking existing integrations.

@appwrite-specs appwrite-specs Bot force-pushed the feat-latest-specs branch from 0b842bb to d61addf Compare May 13, 2026 12:29
Comment on lines +33909 to 33910
"name": "providerId",
"description": "OAuth2 provider key. For example: github, google, apple.",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Breaking path parameter rename: providerproviderId in projectGetOAuth2Provider

The path template changed from /project/oauth2/{provider} to /project/oauth2/{providerId}. The operationId is unchanged, but SDK generators bind positional path parameters by name — any existing SDK client with projectGetOAuth2Provider(provider: "google") will fail to compile or silently pass undefined for providerId after regeneration. The same rename is present in open-api3-latest-console.json, swagger2-latest-server.json, and swagger2-latest-console.json, meaning every SDK variant is affected simultaneously.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants