feat: API specs update for version latest#81
Conversation
Greptile SummaryThis PR updates the Appwrite API specs for the latest version, adding OAuth2 OIDC extensions (RP-Initiated Logout, Device Authorization Grant, token exchange, token revocation) and refactoring the usage analytics schemas.
Confidence Score: 3/5The new revoke endpoint carries an incorrect response schema in all three spec files; generated SDKs will expect a binary file body for a token revocation call that actually returns an empty response. The oauth2Revoke endpoint in all three specs declares its 200 OK response as description: File with type: string, format: binary — a copy-paste artifact from a file-download endpoint. RFC 7009 requires an empty body on success, so any SDK generated from this spec will be mistyped and may fail to handle the actual server response. All three spec files need the oauth2Revoke response corrected; open-api3-latest-console.json also carries the largest diff and the breaking usageGroup schema refactor worth a second look. Important Files Changed
Reviews (1): Last reviewed commit: "chore: update API specs and SDK examples" | Re-trigger Greptile |
| "200": { | ||
| "description": "File", | ||
| "content": { | ||
| "application\/json": { | ||
| "schema": { | ||
| "type": "string", | ||
| "format": "binary" | ||
| } | ||
| } | ||
| } | ||
| } |
There was a problem hiding this comment.
Incorrect response schema for token revocation endpoint
The oauth2Revoke endpoint declares a 200 OK response with "description": "File" and schema: { type: "string", format: "binary" }. Per RFC 7009 (OAuth 2.0 Token Revocation, Section 2.2), a successful revocation returns an empty body — not a binary file. The "File" description and binary format schema appear to be copy-paste from a file-download endpoint. Generated SDK clients will incorrectly expect a binary blob and may fail to handle the actual empty response. The same issue appears in open-api3-latest-client.json (line 12123) and open-api3-latest-console.json (line 45910).
This PR contains API specification updates for version latest.