Skip to content

feat: API specs update for version latest#77

Merged
ChiragAgg5k merged 1 commit into
mainfrom
feat-latest-specs
Jun 11, 2026
Merged

feat: API specs update for version latest#77
ChiragAgg5k merged 1 commit into
mainfrom
feat-latest-specs

Conversation

@appwrite-specs

Copy link
Copy Markdown
Contributor

This PR contains API specification updates for version latest.

@greptile-apps

greptile-apps Bot commented Jun 11, 2026

Copy link
Copy Markdown

Greptile Summary

This automated spec update adds x-enum-keys arrays to all enum fields across the client, console, and server specs, enriches previously description-only responses (images, OAuth redirects) with proper content schemas, deduplicates "server" entries in platforms arrays, and moves Swagger 2 database parameters from wrapped body objects to individual query parameters.

  • x-enum-keys / response schemas: All six spec files gain enum key arrays and explicit image/png, image/*, and text/html response schemas — a clean improvement for SDK code generation.
  • Swagger 2 geo & parameter changes: Geo array attributes gain nested items schemas and queries/transactionId parameters are promoted from body wrappers to top-level query params — both correctness fixes.
  • Object-default regression: In all three OpenAPI 3 files, multiple fields declared as "type": "object" (document data, function execution headers, screenshot headers, presence metadata) have had their "default" changed from {} to []. An array literal is not a valid default for an object schema and will produce incorrect defaults in generated SDKs.

Confidence Score: 3/5

Safe to merge only after reverting the object-typed fields whose defaults were changed from {} to [] in the three OpenAPI 3 spec files.

The three OpenAPI 3 files (client, console, server) all contain multiple object-typed request-body fields — document data, function execution headers, screenshot headers, presence metadata — whose defaults were silently changed from {} to []. Any SDK generator consuming these specs will emit empty-array defaults for those parameters instead of empty-object defaults, producing runtime type errors for consumers of the generated SDKs.

open-api3-latest-server.json, open-api3-latest-console.json, and open-api3-latest-client.json — specifically all object-typed fields that now carry "default": [].

Important Files Changed

Filename Overview
specs/latest/open-api3-latest-server.json Adds x-enum-keys, deduplicates platforms, adds response content schemas, and adds produces — but multiple object-typed fields have their defaults incorrectly changed from {} to [].
specs/latest/open-api3-latest-console.json Same enum-key additions and response schema improvements as server spec, with identical {} → [] default-value regression for object-typed fields.
specs/latest/open-api3-latest-client.json Adds x-enum-keys for all enum types and enriches response content schemas for image/redirect endpoints; carries the same object-typed default [] regression.
specs/latest/swagger2-latest-server.json Moves queries/transactionId parameters from wrapped body objects to individual query params for several DB endpoints, and adds nested items schemas to geo array types — both are correctness improvements.
specs/latest/swagger2-latest-console.json Enum-key additions and response schema improvements mirroring the console OpenAPI 3 spec; no issues found.
specs/latest/swagger2-latest-client.json Adds x-enum-keys and response content schemas consistent with other client spec files; no issues found.

Reviews (1): Last reviewed commit: "chore: update API specs with OpenAPI 3 p..." | Re-trigger Greptile

Comment on lines 6113 to +6115
"type": "object",
"x-example": "{\"Authorization\":\"Bearer token123\",\"X-Custom-Header\":\"value\"}",
"default": {}
"default": [],
"x-example": "{\"Authorization\":\"Bearer token123\",\"X-Custom-Header\":\"value\"}"

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: object-typed field defaulting to array

"type": "object" fields in the OpenAPI 3 specs have had their defaults changed from {} to [] across this PR. [] is a JSON array, not a valid default for an object schema — this violates OpenAPI 3.0 spec validation and will cause code generators and SDK generators to emit incorrect default values (empty arrays instead of empty objects). Affected fields include the screenshot headers parameter (here), multiple database data fields (e.g. lines ~14707, ~14943, ~15317), the function execution headers field, and the presence metadata field. The same pattern repeats in open-api3-latest-console.json and open-api3-latest-client.json. All should revert to "default": {}.

@ChiragAgg5k ChiragAgg5k merged commit 0210435 into main Jun 11, 2026
2 checks passed
@ChiragAgg5k ChiragAgg5k deleted the feat-latest-specs branch June 11, 2026 04:26
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