Skip to content

chore(api): sync OpenAPI contract - #51

Draft
kong[bot] wants to merge 1 commit into
mainfrom
chore/sync-openapi
Draft

chore(api): sync OpenAPI contract#51
kong[bot] wants to merge 1 commit into
mainfrom
chore/sync-openapi

Conversation

@kong

@kong kong Bot commented Jul 13, 2026

Copy link
Copy Markdown

Summary

API change report

Public API

New Endpoints: 15


POST /auth/oauth/exchange
GET /auth/password-policy
GET /github/callback
GET /projects/{id}/auth/insights
GET /projects/{id}/deployments/summary
DELETE /projects/{id}/git-connection
GET /projects/{id}/git-connection
PUT /projects/{id}/git-connection
GET /projects/{id}/git-deploy-settings
PUT /projects/{id}/git-deploy-settings
POST /user/git/connect
GET /user/git/connections
DELETE /user/git/connections/{connectionId}
GET /user/git/connections/{connectionId}/installations
GET /user/git/connections/{connectionId}/installations/{installationId}/repositories

Deleted Endpoints: None


Modified Endpoints: 116


POST /auth/device/token

  • Responses changed
    • Modified response: 200
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Required changed
              • Deleted required property: refresh_token
            • Properties changed
              • Modified property: refresh_token
                • Extensions changed
                  • New extension: x-go-type-skip-optional-pointer
                • Description changed from 'Long-lived token for getting new access tokens' to 'Long-lived token for getting new access tokens. Omitted when the
                  request uses eligible HttpOnly cookie session storage.
                  '

POST /auth/device/verify

  • Responses changed
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /auth/forgot-password

  • Responses changed
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 429
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /auth/logout

  • Description changed from 'Invalidate a refresh token. Requires anon key. Project is identified via the anon key.' to 'Invalidate a refresh token. Requires an anon key.

Send refresh_token for the default flow. An eligible cookie-mode
browser request may instead send session_mode: cookie with an empty
token; logout remains idempotent when the cookie is missing or expired.
'

  • Request body changed
    • Content changed
      • Modified media type: application/json
        • Schema changed
          • Required changed
            • Deleted required property: refresh_token
          • Properties changed
            • New property: session_mode

GET /auth/oauth/providers

  • Responses changed
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /auth/oauth/{provider}/authorize

  • New query param: client_state
  • New query param: response_mode
  • Modified query param: redirect_url
    • Description changed from 'URL to redirect to after the OAuth flow (optional). The session
      tokens are appended to this URL's fragment on success. If the URL
      carries a vh_state query parameter (the client SDK's one-time
      nonce), it is moved into the fragment as state so the SDK can bind
      the returned session to the flow it initiated (login-CSRF defense).
      ' to 'URL to redirect to after the OAuth flow (optional). Must exactly
      match an entry in the project's allowed_redirect_urls, including
      its query string, or be the project's own managed hosted-auth page
      URL.
      '
  • Responses changed
    • Modified response: 400
      • Description changed from 'OAuth provider is disabled for this project' to 'OAuth provider is disabled for this project, or redirect_url is
        not registered in allowed_redirect_urls
        '

POST /auth/oauth/{provider}/call-api

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 502
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /auth/oauth/{provider}/callback

  • Responses changed
    • New response: 303
    • New response: 400
    • Modified response: 200
      • Description changed from 'Existing user signed in' to 'Existing user signed in (when redirect_url was omitted)'
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Required changed
              • Deleted required property: refresh_token
            • Properties changed
              • Modified property: refresh_token
                • Extensions changed
                  • New extension: x-go-type-skip-optional-pointer
                • Description changed from 'Long-lived token for getting new access tokens' to 'Long-lived token for getting new access tokens. Omitted when the
                  request uses eligible HttpOnly cookie session storage.
                  '
    • Modified response: 201
      • Description changed from 'New user created and signed in' to 'New user created and signed in (when redirect_url was omitted)'
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Required changed
              • Deleted required property: refresh_token
            • Properties changed
              • Modified property: refresh_token
                • Extensions changed
                  • New extension: x-go-type-skip-optional-pointer
                • Description changed from 'Long-lived token for getting new access tokens' to 'Long-lived token for getting new access tokens. Omitted when the
                  request uses eligible HttpOnly cookie session storage.
                  '

POST /auth/oauth/{provider}/link

  • New query param: client_state
  • New query param: redirect_url
  • New query param: response_mode
  • Responses changed
    • New response: 400
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 409
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /auth/oauth/{provider}/refresh-token

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /auth/oauth/{provider}/token

  • Responses changed
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

DELETE /auth/oauth/{provider}/unlink

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /auth/platform/exchange

  • Responses changed
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /auth/refresh

  • Description changed from 'Get a new access token using refresh token. Requires anon key. Project is identified via the anon key.' to 'Get a new access token using a refresh token. Requires an anon key.

Send refresh_token in the body for the default flow. An eligible
cookie-mode browser request may instead send session_mode: cookie
with an empty token or omit the request body; the API reads and resets
the project's HttpOnly cookie and omits refresh_token from the
response.
'

  • Request body changed
    • Content changed
      • Modified media type: application/json
        • Schema changed
          • Required changed
            • Deleted required property: refresh_token
          • Properties changed
            • New property: session_mode
  • Responses changed
    • Modified response: 200
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Required changed
              • Deleted required property: refresh_token
            • Properties changed
              • Modified property: refresh_token
                • Extensions changed
                  • New extension: x-go-type-skip-optional-pointer
                • Description changed from 'Long-lived token for getting new access tokens' to 'Long-lived token for getting new access tokens. Omitted when the
                  request uses eligible HttpOnly cookie session storage.
                  '
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 429
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /auth/resend-confirmation

  • Responses changed
    • Modified response: 429
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /auth/reset-password

  • Request body changed
    • Content changed
      • Modified media type: application/json
        • Schema changed
          • Properties changed
            • Modified property: new_password
              • Description changed from '' to 'Password validated after NFC normalization against the
                policy returned by GET /auth/password-policy.
                '
              • MinLength changed from 6 to 0
  • Responses changed
    • New response: 503

POST /auth/signin

  • Description changed from 'Authenticate with email and password. Requires anon key. Project is identified via the anon key.' to 'Authenticate with email and password. Requires an anon key.

Set session_mode to cookie to request HttpOnly refresh-token
storage. Cookie mode is honored only for an exact, credentialed CORS
origin on the same schemeful site as this API. Otherwise the response
retains the refresh token in its body.
'

  • Request body changed
    • Content changed
      • Modified media type: application/json
        • Schema changed
          • Properties changed
            • New property: session_mode
  • Responses changed
    • Modified response: 200
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Required changed
              • Deleted required property: refresh_token
            • Properties changed
              • Modified property: refresh_token
                • Extensions changed
                  • New extension: x-go-type-skip-optional-pointer
                • Description changed from 'Long-lived token for getting new access tokens' to 'Long-lived token for getting new access tokens. Omitted when the
                  request uses eligible HttpOnly cookie session storage.
                  '

POST /auth/signup

  • Request body changed
    • Content changed
      • Modified media type: application/json
        • Schema changed
          • Properties changed
            • Modified property: password
              • Description changed from '' to 'Password validated after NFC normalization against the
                policy returned by GET /auth/password-policy.
                '
              • MinLength changed from 6 to 0
  • Responses changed
    • New response: 503

POST /auth/signup-anonymous

  • Responses changed
    • Modified response: 201
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Required changed
              • Deleted required property: refresh_token
            • Properties changed
              • Modified property: refresh_token
                • Extensions changed
                  • New extension: x-go-type-skip-optional-pointer
                • Description changed from 'Long-lived token for getting new access tokens' to 'Long-lived token for getting new access tokens. Omitted when the
                  request uses eligible HttpOnly cookie session storage.
                  '

GET /auth/user

  • Responses changed
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

PUT /auth/user

  • Request body changed
    • Content changed
      • Modified media type: application/json
        • Schema changed
          • Properties changed
            • Modified property: password
              • Description changed from '' to 'Password validated after NFC normalization against the
                policy returned by GET /auth/password-policy.
                '
              • MinLength changed from 6 to 0
            • Modified property: user_metadata
              • Description changed from '' to 'Metadata keys to merge into the current user metadata.
                Omitted keys remain unchanged; set a key to null to remove it.
                Merging is shallow; nested objects replace the stored value for that top-level key.
                '
  • Responses changed
    • New response: 503
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

DELETE /auth/user/cancel-email-change

  • Responses changed
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /auth/user/change-email

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 409
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 429
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /auth/user/confirm-email-change

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 409
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /auth/user/convert-anonymous

  • Request body changed
    • Content changed
      • Modified media type: application/json
        • Schema changed
          • Properties changed
            • Modified property: password
              • Description changed from '' to 'Password validated after NFC normalization against the
                policy returned by GET /auth/password-policy.
                '
              • MinLength changed from 6 to 0
  • Responses changed
    • New response: 503

GET /auth/user/identities

  • Responses changed
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

DELETE /auth/user/identities/{identityId}

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /auth/user/methods

  • Responses changed
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /auth/user/methods/{methodId}/promote

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

DELETE /auth/user/sessions

  • Responses changed
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /auth/user/sessions

  • Responses changed
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

DELETE /auth/user/sessions/{sessionId}

  • Responses changed
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /databases/{databaseName}/query/delete

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 429
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /databases/{databaseName}/query/insert

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 429
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /databases/{databaseName}/query/ping

  • Responses changed
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 429
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /databases/{databaseName}/query/select

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 429
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /databases/{databaseName}/query/update

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 429
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /functions/resolve

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /functions/{functionId}/invoke

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 429
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 503
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /projects

  • Modified query param: page
    • Description changed from 'Page number (1-indexed)' to 'Page number (1-indexed) for offset pagination. Declares no schema
      default so the request validator does not inject one: handlers that omit
      page see it unset (nil) and default to 1 in code, while cursor-first
      endpoints (e.g. the project deployments feed) can detect its absence to
      stay in keyset/search mode. Supplying page selects offset pagination.
      '
    • Schema changed
      • Default changed from 1 to null

POST /projects

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

DELETE /projects/{id}

  • Responses changed
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /projects/{id}

  • Responses changed
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

PATCH /projects/{id}

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 409
      • Description changed from 'Conflict (project name already exists)' to 'Conflict (project name already exists or a resource deployment blocks a region change)'
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /projects/{id}/anon-keys

  • Description changed from '' to 'Supports two mutually exclusive pagination modes. Offset mode uses page
    and limit and is the default when neither cursor nor search is
    supplied (first page, default limit). Cursor mode uses cursor and
    limit, supports search (case-insensitive name match), and returns
    next_cursor. Sending both page and cursor (or page and search)
    returns 400.
    '
  • New query param: cursor
  • New query param: ending_before
  • New query param: limit
  • New query param: offset
  • New query param: page
  • New query param: search
  • Responses changed
    • Modified response: 200
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: has_more
              • New property: next_cursor
              • New property: prev_cursor
              • New property: total

DELETE /projects/{id}/anon-keys/{keyId}

  • Responses changed
    • Modified response: 409
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 500
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /projects/{id}/anon-keys/{keyId}/set-default

  • Responses changed
    • Modified response: 500
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /projects/{id}/auth/config

  • Responses changed
    • Modified response: 200
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Required changed
              • New required property: password_policy
            • Properties changed
              • New property: auto_link_verified_oauth
              • New property: email_confirmation_timeout
              • New property: password_policy
              • New property: require_email_confirmation
              • New property: smtp_password_configured
              • Deleted property: smtp_password
              • Modified property: min_password_length
                • Description changed from '' to 'Configured minimum password length in Unicode characters.'
                • Default changed from 6 to 15
                • Min changed from null to 15
                • Max changed from null to 128

PUT /projects/{id}/auth/config

  • Request body changed
    • Content changed
      • Modified media type: application/json
        • Schema changed
          • Properties changed
            • New property: auto_link_verified_oauth
            • Modified property: min_password_length
              • Min changed from null to 15
              • Max changed from null to 128
            • Modified property: smtp_password
              • Description changed from 'SMTP password (sensitive). Encrypted at rest (AES-256-GCM) when stored.' to 'Replacement SMTP password. Omit this field to preserve the configured password. The value is encrypted at rest and never returned.'
              • WriteOnly changed from false to true
              • MinLength changed from 0 to 1
  • Responses changed
    • Modified response: 200
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Required changed
              • New required property: password_policy
            • Properties changed
              • New property: auto_link_verified_oauth
              • New property: email_confirmation_timeout
              • New property: password_policy
              • New property: require_email_confirmation
              • New property: smtp_password_configured
              • Deleted property: smtp_password
              • Modified property: min_password_length
                • Description changed from '' to 'Configured minimum password length in Unicode characters.'
                • Default changed from 6 to 15
                • Min changed from null to 15
                • Max changed from null to 128

GET /projects/{id}/auth/users

  • New query param: cursor
  • New query param: ending_before
  • New query param: offset
  • New query param: search
  • Modified query param: page
    • Description changed from 'Page number (1-indexed)' to 'Page number (1-indexed) for offset pagination. Declares no schema
      default so the request validator does not inject one: handlers that omit
      page see it unset (nil) and default to 1 in code, while cursor-first
      endpoints (e.g. the project deployments feed) can detect its absence to
      stay in keyset/search mode. Supplying page selects offset pagination.
      '
    • Schema changed
      • Default changed from 1 to null

POST /projects/{id}/auth/users/{userId}/ban

  • Responses changed
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

POST /projects/{id}/auth/users/{userId}/unban

  • Responses changed
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /projects/{id}/config

  • Responses changed
    • Modified response: 200
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • Modified property: auth
                • Properties changed
                  • Modified property: password
                    • Properties changed
                    • Modified property: min_length
                    • Min changed from null to 15
                    • Max changed from null to 128
              • Modified property: functions
                • Items changed
                  • Properties changed
                    • Modified property: schedulers
                    • Items changed
                    • Properties changed
                    • Modified property: name
                    • MaxLength changed from null to 200
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

PUT /projects/{id}/config

  • Request body changed
    • Content changed
      • Modified media type: application/json
        • Schema changed
          • Properties changed
            • Modified property: auth
              • Properties changed
                • Modified property: password
                  • Properties changed
                    • Modified property: min_length
                    • Min changed from null to 15
                    • Max changed from null to 128
            • Modified property: functions
              • Items changed
                • Properties changed
                  • Modified property: schedulers
                    • Items changed
                    • Properties changed
                    • Modified property: name
                    • MaxLength changed from null to 200
  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 409
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /projects/{id}/databases

  • Description changed from '' to 'Supports two mutually exclusive pagination modes. Offset mode uses page
    and limit. Cursor mode uses cursor and limit, supports search
    (case-insensitive name match), and returns next_cursor/prev_cursor.
    The optional status filter applies in both modes and is bound to the
    cursor. Sending both page and cursor (or page and search) returns 400.
    '
  • New query param: cursor
  • New query param: ending_before
  • New query param: offset
  • New query param: search
  • Modified query param: page
    • Description changed from 'Page number (1-indexed)' to 'Page number (1-indexed) for offset pagination. Declares no schema
      default so the request validator does not inject one: handlers that omit
      page see it unset (nil) and default to 1 in code, while cursor-first
      endpoints (e.g. the project deployments feed) can detect its absence to
      stay in keyset/search mode. Supplying page selects offset pagination.
      '
    • Schema changed
      • Default changed from 1 to null
  • Responses changed
    • Modified response: 200
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: next_cursor
              • New property: prev_cursor
              • Modified property: data
                • Items changed
                  • Properties changed
                    • New property: storage_bytes
                    • Modified property: connection_string
                    • Example changed from 'postgres://volcano_client_11111111-1111-1111-1111-111111111111:vpg_secret@database.volcano.dev:5432/my_app_db?sslmode=require&application_name=volcano_full_access' to null

POST /projects/{id}/databases

  • Responses changed
    • Modified response: 201
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: storage_bytes
              • Modified property: connection_string
                • Example changed from 'postgres://volcano_client_11111111-1111-1111-1111-111111111111:vpg_secret@database.volcano.dev:5432/my_app_db?sslmode=require&application_name=volcano_full_access' to null
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code

GET /projects/{id}/databases/{databaseName}

  • Responses changed
    • Modified response: 200
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: storage_bytes
              • Modified property: connection_string
                • Example changed from 'postgres://volcano_client_11111111-1111-1111-1111-111111111111:vpg_secret@database.volcano.dev:5432/my_app_db?sslmode=require&application_name=volcano_full_access' to null

GET /projects/{id}/databases/{databaseName}/queries

  • Responses changed
    • Modified response: 400
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 401
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 403
      • Content changed
        • Modified media type: application/json
          • Schema changed
            • Properties changed
              • New property: code
    • Modified response: 404
      • C

Report truncated; see the source commit for the complete contract diff.

Validation

@CLAassistant

CLAassistant commented Jul 13, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@kong
kong Bot force-pushed the chore/sync-openapi branch 10 times, most recently from 04d66d1 to b8d922a Compare July 20, 2026 13:54
@kong
kong Bot force-pushed the chore/sync-openapi branch 10 times, most recently from ee0bdba to eb217d3 Compare July 27, 2026 22:41
@kong
kong Bot force-pushed the chore/sync-openapi branch 8 times, most recently from 259824a to bc4afe5 Compare July 30, 2026 15:23
@kong
kong Bot force-pushed the chore/sync-openapi branch from bc4afe5 to 7b3fd89 Compare July 31, 2026 00:52
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