docs: Update JS and Kotlin SDK reference (stripNulls, OAuth 2.1 admin) (#44959)

## Summary

Updates reference docs based on recent SDK changes.

## Changes analyzed

| SDK | Repo | Commits | Latest tag |
|-----|------|---------|------------|
| js | supabase/supabase-js | \`16dd265...7a9b2e1\` | v2.103.3 |
| kt | supabase-community/supabase-kt | \`a671b7a...2a6f456\` | 3.5.0 |
| dart | supabase/supabase-flutter | \`e37539e...01551e3\` | — (dep
bumps only) |
| py | supabase/supabase-py | \`761d972...36cfcd0\` | v3.0.0a1 (dep
bumps only) |
| swift | supabase/supabase-swift | \`17261e9...b2bf858\` | v2.43.1 (dep
bumps only) |
| csharp | supabase-community/supabase-csharp | — | no new commits |

## Documentation updates

### `apps/docs/spec/supabase_js_v2.yml`
- Added `strip-nulls` entry pointing to
`@supabase/postgrest-js.PostgrestTransformBuilder.stripNulls` — new
method in v2.103.0 that strips null values from JSON responses via the
`nulls=stripped` PostgREST media type parameter. TypeScript enrichments
already contain the full documentation.

### `apps/docs/spec/supabase_kt_v3.yml`
- Added OAuth 2.1 client admin CRUD API (`admin.oauth.*`) — new in
supabase-kt 3.5.0: `listClients`, `createClient`, `getClient`,
`updateClient`, `deleteClient`, `regenerateClientSecret`
- Marked `IDToken.Config.data` parameter as deprecated (deprecated
upstream in supabase-kt); updated sign-in example to remove deprecated
usage

### `apps/docs/spec/common-client-libs-sections.json`
- Added `strip-nulls` entry to the Database → Using modifiers nav
section
- Added 6 `admin-oauth-*` entries to the Auth Admin → OAuth Admin nav
section for the new Kotlin OAuth 2.1 methods

---

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Added documentation for the `stripNulls` function to remove null
values from database results.
* Expanded OAuth Admin API documentation with 6 new endpoints for OAuth
client management: list, get, create, update, delete, and secret
regeneration.
  * Marked deprecated parameter in ID Token sign-in configuration.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Guilherme SouzaandClaude Sonnet 4.6 authored and GitHub committed 2026-04-17 08:45:22 -03:00
1 parent 4d18c9615c
commit bc863816fb
3 files changed
+168 -3

No files matched your search

@@ -368,6 +368,14 @@
"parent": "modifiers",
"type": "function"
},
{
"id": "strip-nulls",
"title": "Strip null values",
"slug": "db-strip-nulls",
"product": "database",
"parent": "modifiers",
"type": "function"
},
{
"id": "returns",
"title": "Override type of successful response",
@@ -893,6 +901,48 @@
"slug": "auth-admin-oauth-regenerateclientsecret",
"product": "auth-admin",
"type": "function"
},
{
"id": "admin-oauth-list-clients",
"title": "List OAuth clients",
"slug": "auth-admin-oauth-listclients",
"product": "auth-admin",
"type": "function"
},
{
"id": "admin-oauth-create-client",
"title": "Create OAuth client",
"slug": "auth-admin-oauth-createclient",
"product": "auth-admin",
"type": "function"
},
{
"id": "admin-oauth-get-client",
"title": "Get OAuth client",
"slug": "auth-admin-oauth-getclient",
"product": "auth-admin",
"type": "function"
},
{
"id": "admin-oauth-update-client",
"title": "Update OAuth client",
"slug": "auth-admin-oauth-updateclient",
"product": "auth-admin",
"type": "function"
},
{
"id": "admin-oauth-delete-client",
"title": "Delete OAuth client",
"slug": "auth-admin-oauth-deleteclient",
"product": "auth-admin",
"type": "function"
},
{
"id": "admin-oauth-regenerate-client-secret",
"title": "Regenerate client secret",
"slug": "auth-admin-oauth-regenerateclientsecret",
"product": "auth-admin",
"type": "function"
}
]
}
+2
View File
@@ -452,6 +452,8 @@ functions:
$ref: '@supabase/postgrest-js.PostgrestTransformBuilder.maybeSingle'
- id: csv
$ref: '@supabase/postgrest-js.PostgrestTransformBuilder.csv'
- id: strip-nulls
$ref: '@supabase/postgrest-js.PostgrestTransformBuilder.stripNulls'
- id: returns
$ref: '@supabase/postgrest-js.PostgrestTransformBuilder.returns'
- id: overrideTypes
+116 -3
View File
@@ -3116,6 +3116,10 @@ functions:
isOptional: true
type: String?
description: The captcha token when having captcha enabled.
- name: data
isOptional: true
type: JsonObject?
description: '**Deprecated** — use `extraData` or user metadata on the sign-up flow instead. Will be removed in a future release.'
examples:
- id: sign-in-with-id-token
@@ -3127,9 +3131,6 @@ functions:
provider = Google //Also supported: Apple, Azure and Facebook
//optional:
nonce = "nonce"
data = buildJsonObject {
//...
}
}
```
- id: sign-in-with-otp
@@ -4576,6 +4577,118 @@ functions:
```kotlin
supabase.auth.admin.deleteFactor(uid = "id", factorId = "factor_id")
```
- id: oauth-admin-api
title: OAuth Admin API
notes: |
The OAuth Admin API allows you to manage OAuth clients programmatically.
Only relevant when the OAuth 2.1 server is enabled in Supabase Auth.
These functions should only be called on a server. Never expose your `secret key` in the browser.
- id: admin-oauth-list-clients
title: 'admin.oauth.listClients()'
notes: |
Lists all OAuth 2.1 clients. Requires a `secret key`.
params:
- name: page
isOptional: true
type: Int?
description: The page number for pagination.
- name: perPage
isOptional: true
type: Int?
description: The number of results per page.
examples:
- id: list-oauth-clients
name: List all OAuth clients
isSpotlight: true
code: |
```kotlin
val clients = supabase.auth.admin.oauth.listClients()
```
- id: admin-oauth-create-client
title: 'admin.oauth.createClient()'
notes: |
Creates a new OAuth 2.1 client. Requires a `secret key`.
examples:
- id: create-oauth-client
name: Create an OAuth client
isSpotlight: true
code: |
```kotlin
val client = supabase.auth.admin.oauth.createClient {
name = "My App"
redirectUris = listOf("https://example.com/callback")
}
```
- id: admin-oauth-get-client
title: 'admin.oauth.getClient()'
notes: |
Retrieves an OAuth 2.1 client by ID. Requires a `secret key`.
params:
- name: clientId
isOptional: false
type: String
description: The ID of the OAuth client to retrieve.
examples:
- id: get-oauth-client
name: Get an OAuth client
isSpotlight: true
code: |
```kotlin
val client = supabase.auth.admin.oauth.getClient(clientId = "client_id")
```
- id: admin-oauth-update-client
title: 'admin.oauth.updateClient()'
notes: |
Updates an existing OAuth 2.1 client. Requires a `secret key`.
params:
- name: clientId
isOptional: false
type: String
description: The ID of the OAuth client to update.
examples:
- id: update-oauth-client
name: Update an OAuth client
isSpotlight: true
code: |
```kotlin
val client = supabase.auth.admin.oauth.updateClient(clientId = "client_id") {
name = "Updated App Name"
}
```
- id: admin-oauth-delete-client
title: 'admin.oauth.deleteClient()'
notes: |
Deletes an OAuth 2.1 client. Requires a `secret key`.
params:
- name: clientId
isOptional: false
type: String
description: The ID of the OAuth client to delete.
examples:
- id: delete-oauth-client
name: Delete an OAuth client
isSpotlight: true
code: |
```kotlin
supabase.auth.admin.oauth.deleteClient(clientId = "client_id")
```
- id: admin-oauth-regenerate-client-secret
title: 'admin.oauth.regenerateClientSecret()'
notes: |
Regenerates the client secret for an OAuth 2.1 client. Requires a `secret key`.
params:
- name: clientId
isOptional: false
type: String
description: The ID of the OAuth client whose secret should be regenerated.
examples:
- id: regenerate-client-secret
name: Regenerate client secret
isSpotlight: true
code: |
```kotlin
val client = supabase.auth.admin.oauth.regenerateClientSecret(clientId = "client_id")
```
- id: invoke
title: 'invoke()'
description: |