Skip to content

feat: API specs update for version latest#64

Merged
ChiragAgg5k merged 1 commit into
mainfrom
feat-latest-specs
May 26, 2026
Merged

feat: API specs update for version latest#64
ChiragAgg5k merged 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 PR updates all six Appwrite API specs (OpenAPI 3 and Swagger 2, across client/console/server variants) from version 1.9.3 to 1.9.5, introducing new endpoints and several backwards-incompatible changes.

  • New capabilities added: presences CRUD endpoints, advisor reports/insights endpoints, a bigint attribute type for databases, usageListEvents/usageListGauges for server, and projectGet (GET /project) alongside the new projectCreateEphemeralKey and consoleListOrganizationScopes operations.
  • Breaking changes (new in this PR, beyond previously flagged items): projectsGet (GET /projects/{projectId}) was removed from the console spec and replaced by projectGet (GET /project) — a different path with no path parameter — breaking any existing console SDK that fetches a project by ID.

Confidence Score: 3/5

This PR contains multiple simultaneous removals and renames of existing endpoints across all spec variants; existing SDK clients will break at runtime without a coordinated SDK release.

The console spec drops GET /projects/{projectId} (projectsGet) with no deprecated alias — any console SDK client fetching a project by ID will 404 after the server change. Combined with the previously flagged renames (proxy rule path, email policy paths, OAuth provider path parameter, suggestQueries parameter), this PR lands several independent breaking changes at once across both spec formats and all three API surfaces.

The console spec files (open-api3-latest-console.json, swagger2-latest-console.json) carry the most risk: they have the highest concentration of removed/renamed endpoints. The server spec files also need a second look for the email-policy and OAuth provider renames.

Important Files Changed

Filename Overview
specs/latest/open-api3-latest-client.json Version bump 1.9.3→1.9.5; adds new presences, advisor, and bigint attribute endpoints; reorders existing operations alphabetically; weight adjustments throughout.
specs/latest/open-api3-latest-console.json Multiple breaking changes: projectsGet (GET /projects/{projectId}) removed, proxyUpdateRuleVerification → proxyUpdateRuleStatus path rename, email policy endpoint renames, suggestQueries param rename, "created" dropped from proxy rule status enum; also adds presences, advisor, consoleListOrganizationScopes endpoints.
specs/latest/open-api3-latest-server.json Multiple breaking changes: email policy endpoint renames, provider→providerId path param rename, statusCode string/integer type mismatch on proxy redirect rule; adds presences, advisor, bigint attribute, usageListEvents, usageListGauges, projectGet endpoints.
specs/latest/swagger2-latest-client.json Mirrors openapi3-client changes: version bump, new presences/advisor/bigint endpoints, weight reordering.
specs/latest/swagger2-latest-console.json Mirrors openapi3-console breaking changes: projectsGet removed, proxy path renames, email policy renames, suggestQueries param rename, "created" enum value removed.
specs/latest/swagger2-latest-server.json Mirrors openapi3-server breaking changes: email policy renames, provider→providerId rename, statusCode string/integer mismatch; adds new presences/advisor/bigint/usageEvents endpoints.

Reviews (7): 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
Comment thread specs/latest/open-api3-latest-console.json
@@ -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
Comment thread specs/latest/open-api3-latest-server.json Outdated
@appwrite-specs appwrite-specs Bot force-pushed the feat-latest-specs branch from 0b842bb to d61addf Compare May 13, 2026 12:29
Comment thread specs/latest/open-api3-latest-server.json
@appwrite-specs appwrite-specs Bot force-pushed the feat-latest-specs branch from d61addf to a461ee4 Compare May 18, 2026 11:09
Comment on lines 51899 to 51900
"\/projects\/{projectId}": {
"get": {
"summary": "Get project",
"operationId": "projectsGet",
"tags": [
"projects"
],
"description": "Get a project by its unique ID. This endpoint allows you to retrieve the project's details, including its name, description, team, region, and other metadata. ",
"responses": {
"200": {
"description": "Project",
"content": {
"application\/json": {
"schema": {
"$ref": "#\/components\/schemas\/project"
}
}
}
}
},
"deprecated": false,
"x-appwrite": {
"method": "get",
"group": "projects",
"weight": 57,
"cookies": false,
"type": "",
"demo": "projects\/get.md",
"rate-limit": 0,
"rate-time": 3600,
"rate-key": "url:{url},ip:{ip}",
"scope": "projects.read",
"platforms": [
"console"
],
"packaging": false,
"public": true,
"edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get.md",
"auth": {
"Project": []
}
},
"security": [
{
"Project": []
}
],
"parameters": [
{
"name": "projectId",
"description": "Project unique ID.",
"required": true,
"schema": {
"type": "string",
"x-example": "<PROJECT_ID>"
},
"in": "path"
}
]
},
"patch": {
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 removal of projectsGet (GET /projects/{projectId})

The GET /projects/{projectId} endpoint (operationId projectsGet) was removed from the console spec entirely. The replacement is GET /project (operationId projectGet), which is a completely different path with no path parameter. Any existing console SDK client that calls GET /v1/projects/{projectId} to fetch a project by ID will receive a 404 at runtime after the server-side change lands. The same removal is present in swagger2-latest-console.json. This should be coordinated with a corresponding console SDK release, or the old GET /projects/{projectId} route should be preserved as a deprecated alias during a transition period.

@ChiragAgg5k ChiragAgg5k merged commit 21293d8 into main May 26, 2026
2 checks passed
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.

1 participant