feat: API specs update for version latest#64
Conversation
Greptile SummaryThis 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.
Confidence Score: 3/5Not 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
Reviews (6): Last reviewed commit: "chore: update API specs and SDK examples" | Re-trigger Greptile |
287104a to
b180840
Compare
| @@ -1,7 +1,7 @@ | |||
| { | |||
There was a problem hiding this comment.
Breaking path rename:
/proxy/rules/{ruleId}/verification → /proxy/rules/{ruleId}/status
The endpoint path, operationId (proxyUpdateRuleVerification → proxyUpdateRuleStatus), and SDK method name (updateRuleVerification → updateRuleStatus) 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 @@ | |||
| { | |||
There was a problem hiding this comment.
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.
b180840 to
c73222d
Compare
| "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" | ||
| ] |
There was a problem hiding this comment.
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.
2ae3944 to
0b842bb
Compare
| } | ||
| }, | ||
| "\/project\/policies\/password-dictionary": { | ||
| "\/project\/policies\/deny-canonical-email": { |
There was a problem hiding this comment.
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.
0b842bb to
d61addf
Compare
| "name": "providerId", | ||
| "description": "OAuth2 provider key. For example: github, google, apple.", |
There was a problem hiding this comment.
Breaking path parameter rename:
provider → providerId 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.
This PR contains API specification updates for version latest.