Authentication 36%
Client Initialization 25%
Database (PostgREST) 39%
Edge Functions 29%
Realtime 36%
Storage 26%

Authentication

User sign-in flows, session management, MFA, passkeys, identity linking, and admin operations.

Feature JavaScriptFlutterPythonSwiftC#GoKotlin Parity
admin
Admin Create Provider
Create a new custom OIDC/OAuth provider. Requires admin/service role.
14%
Admin Create User
Create a new user with specified attributes without sending a confirmation. Requires admin/service role.
43%
Admin Delete MFA Factor
Delete a specific MFA factor from a user's account. Requires admin/service role.
29%
Admin Delete Provider
Delete a custom provider. Requires admin/service role.
14%
Admin Delete User
Permanently delete a user by their ID. Requires admin/service role.
🔶 43%
Admin Generate Link
Generate an action link (confirmation, magic link, recovery) for a user. Requires admin/service role.
29%
Admin Get Provider
Get details of a specific custom provider by identifier. Requires admin/service role.
14%
Admin Get User
Fetch a single user's profile and metadata by their ID. Requires admin/service role.
43%
Admin Invite User
Send an invite to a new user. Requires admin/service role.
43%
Admin List MFA Factors
List all MFA factors enrolled for a specific user. Requires admin/service role.
29%
Admin List Providers
List all custom providers with optional type filter. Requires admin/service role.
14%
Admin List Users
Retrieve a paginated list of all users in the project. Requires admin/service role.
🔶 43%
Admin Sign Out
Revoke a user's session server-side by their access token. Requires admin/service role.
29%
Admin Update Provider
Update an existing custom provider. Requires admin/service role.
14%
Admin Update User
Update a user's attributes (email, password, metadata, role, etc.) by their ID. Requires admin/service role.
43%
identities
Link Identity
Link an additional OAuth or ID-token identity to the current user's account.
🔶 43%
List Identities
List all external identities linked to the current user's account.
🔶 43%
Unlink Identity
Remove a linked identity from the current user's account.
43%
mfa
MFA Challenge
Create a challenge for an enrolled MFA factor to begin the verification flow.
🔶 43%
MFA Challenge and Verify
Create a challenge and verify a code in a single call for convenience.
43%
MFA Enroll
Enroll a new MFA factor (TOTP or phone) for the current user.
🔶 43%
MFA Get Authenticator Assurance Level
Return the current and next authenticator assurance levels (AAL1/AAL2) for the session.
43%
MFA List Factors
List all MFA factors enrolled for the current user.
43%
MFA Unenroll
Remove an enrolled MFA factor from the current user's account.
43%
MFA Verify
Verify a code against an active MFA challenge to complete second-factor authentication.
43%
oauth_admin
Admin Create OAuth Client
Register a new OAuth client application. Requires admin/service role.
43%
Admin Delete OAuth Client
Remove a registered OAuth client. Requires admin/service role.
43%
Admin Get OAuth Client
Retrieve details of a specific OAuth client by its client ID. Requires admin/service role.
43%
Admin List OAuth Clients
List all registered OAuth clients for the project. Requires admin/service role.
43%
Admin Regenerate OAuth Client Secret
Regenerate the client secret for a registered OAuth client. Requires admin/service role.
43%
Admin Update OAuth Client
Update a registered OAuth client's settings (name, redirect URIs, etc.). Requires admin/service role.
43%
oauth_server
OAuth Approve Authorization
Approve a pending OAuth authorization request on behalf of the current user.
14%
OAuth Deny Authorization
Deny a pending OAuth authorization request on behalf of the current user.
14%
OAuth Get Authorization Details
Fetch the details of a pending OAuth authorization request.
14%
OAuth List Grants
List all active OAuth grants the current user has approved.
14%
OAuth Revoke Grant
Revoke a specific OAuth grant that the current user previously approved.
14%
passkey_admin
Admin Delete Passkey
Delete a specific passkey for a user. Requires admin/service role.
29%
Admin List Passkeys
List all passkeys registered for a specific user. Requires admin/service role.
29%
passkey
Register Passkey
Register a new WebAuthn passkey for the currently authenticated user.
43%
Sign In with Passkey
Authenticate using a WebAuthn passkey registered on the device.
43%
session
Auto Refresh Token
Automatically refresh the access token in the background before it expires. Exposes controls to start and stop the refresh loop and configure whether it is enabled.
43%
Get Claims
Verify and return the token claims for the current session using the server's public key set, which is typically cached for performance.
43%
Get Session
Return the current active session, refreshing the access token if needed.
🔶 43%
Get User
Fetch the authenticated user's profile from the server, verifying the token.
43%
Refresh Session
Force an immediate refresh of the current session using the refresh token.
43%
Set Session
Manually set the current session from a known access token and refresh token.
🔶 43%
Sign Out
Revoke the current user session and clear stored credentials.
🔶 43%
Subscribe to Auth Events
Subscribe to authentication state change events (sign-in, sign-out, token refresh, etc.).
43%
Update User
Update the current user's attributes such as email, password, or metadata.
🔶 43%
sign_in
Exchange Code for Session
Exchange a PKCE authorization code for a user session.
43%
Reauthenticate
Send a reauthentication nonce to verify the user before sensitive operations such as a password change.
🔶 43%
Resend Confirmation
Resend a signup confirmation or OTP email/SMS to a user.
43%
Reset Password
Send a password-reset link to a user's email address.
43%
Sign In Anonymously
Create an anonymous (guest) session without user credentials.
43%
Sign In with ID Token
Authenticate using a provider-issued ID token (e.g. from Apple or Google).
43%
Sign In with OAuth
Initiate a third-party OAuth sign-in flow (Google, GitHub, etc.).
🔶 43%
Sign In with OTP
Send a one-time password (email or SMS) or magic link and authenticate with it.
43%
Sign In with Password
Authenticate an existing user with email or phone and password.
🔶 43%
Sign In with SSO
Initiate a SAML SSO sign-in by supplying a domain or provider ID. The user is redirected to the identity provider to authenticate.
🔶 43%
Sign In with Web3
Authenticate using a Web3 wallet (Solana or Ethereum) via a signed message.
14%
Sign Up
Register a new user with email or phone and password.
43%
Verify OTP
Verify a one-time password or token hash to complete sign-in or email confirmation.
43%

Client Initialization

Cross-cutting SupabaseClient configuration — third-party auth integration, custom HTTP client, pluggable session storage, schema selection, and observability.

Feature JavaScriptFlutterPythonSwiftC#GoKotlin Parity
authentication_integration
Third-Party Auth
Provide an async token callback at construction time to use an external auth provider; the SDK disables its own auth client and injects the returned JWT into all downstream requests.
29%
Cross-Client Token Synchronization
The client listens for auth state change events and automatically propagates the current JWT to all sub-clients (database, realtime, storage, functions) so requests stay authenticated without manual intervention.
29%
OAuth Flow Type Selection
Choose between implicit and PKCE OAuth flows at construction time; PKCE is recommended for scenarios where the implicit flow is less secure.
29%
OAuth Redirect Detection Customization
Configure whether and how the client detects an incoming OAuth redirect; accepts a boolean or a custom predicate so apps using multiple OAuth providers can disambiguate callbacks.
🔶 29%
session_management
Pluggable Session Storage
Supply a custom storage backend at construction time to control where the user session is persisted; enables use of platform-native secure storage instead of the default.
29%
Session Persistence Toggle
Disable automatic session persistence so the session exists only in memory for the lifetime of the client instance.
🔶 29%
request_configuration
Custom HTTP Client
Supply a custom HTTP client implementation at construction time; the SDK wraps it with automatic API key and authorization header injection and propagates it to all sub-clients.
🔶 29%
Global Request Headers
Attach extra HTTP headers to every request made by all sub-clients at construction time.
29%
observability
Distributed Trace Context Propagation
Inject standard trace context headers into outgoing requests so server-side spans can be correlated with client-side traces in a distributed tracing system.
0%

Database (PostgREST)

Query builder over PostgREST — select, insert, update, delete, RPC, filters, and modifiers.

Feature JavaScriptFlutterPythonSwiftC#GoKotlin Parity
mutate
Delete Rows
Delete rows from a table or view that match a filter.
43%
Insert Rows
Insert one or more rows into a table or view.
43%
Select After Mutation
Chain a column selection onto an insert, update, upsert, or delete to return the affected rows in the response.
29%
Update Rows
Update rows in a table or view that match a filter.
43%
Upsert Rows
Insert rows, or update them on conflict based on specified conflict columns.
43%
query
Query Table or View
Scope a query to a specific table or view. The entry point for all table-level operations.
43%
Call Function (RPC)
Invoke a database function via the PostgREST RPC interface.
🔶 43%
Schema Selection
Target a non-default database schema for the query or function call.
43%
Select Rows
Read rows from a table or view with column selection.
43%
using_filters
Filter Contained By
For jsonb, array, and range columns — match only rows where every element in the column is contained by the given value.
43%
Filter Contains
For jsonb, array, and range columns — match only rows where the column contains every element in the given value.
43%
Filter Equal
Match only rows where a column equals a value.
43%
Filter Greater Than
Match only rows where a column is greater than a value.
43%
Filter Greater Than or Equal
Match only rows where a column is greater than or equal to a value.
43%
Filter Like (case-insensitive)
Match only rows where a column matches a pattern case-insensitively (SQL ILIKE).
43%
Filter ILike All Patterns
Match only rows where a column matches all of the given patterns case-insensitively.
43%
Filter ILike Any Pattern
Match only rows where a column matches any of the given patterns case-insensitively.
43%
Filter In
Match only rows where a column's value is in a given set.
43%
Filter Is
Match only rows where a column IS a value (null, true, or false).
43%
Filter Is Distinct From
Match only rows where a column IS DISTINCT FROM a value (null-safe inequality).
43%
Filter Like (case-sensitive)
Match only rows where a column matches a pattern case-sensitively (SQL LIKE).
43%
Filter Like All Patterns
Match only rows where a column matches all of the given patterns case-sensitively.
43%
Filter Like Any Pattern
Match only rows where a column matches any of the given patterns case-sensitively.
43%
Filter Less Than
Match only rows where a column is less than a value.
43%
Filter Less Than or Equal
Match only rows where a column is less than or equal to a value.
43%
Filter Match Object
Match rows where each key/value pair in an object equals the corresponding column value. Shorthand for multiple equality filters.
43%
Filter Not Equal
Match only rows where a column does not equal a value.
43%
Filter Not
Negate a filter so only rows that do not satisfy it are returned.
43%
Filter Not In
Match only rows where a column's value is not in a given set.
29%
Filter Or
Match rows that satisfy at least one of multiple filters.
43%
Filter Overlaps
For array and range columns — match only rows where the column and value share at least one element.
43%
Filter Range Adjacent
For range columns — match only rows where the column is mutually exclusive to the given range with no gap between them.
43%
Filter Range Greater Than
For range columns — match only rows where every element in the column is greater than any element in the given range.
43%
Filter Range Greater Than or Equal
For range columns — match only rows where every element in the column is contained in or greater than any element in the given range.
43%
Filter Range Less Than
For range columns — match only rows where every element in the column is less than any element in the given range.
43%
Filter Range Less Than or Equal
For range columns — match only rows where every element in the column is contained in or less than any element in the given range.
43%
Filter Raw
Apply a raw filter expression. Escape hatch for filter combinations not covered by the specific filter operations.
43%
Filter Regex Match
Match only rows where a column matches a regex pattern case-sensitively.
43%
Filter Regex Match (case-insensitive)
Match only rows where a column matches a regex pattern case-insensitively.
43%
Filter Full-Text Search
For text and tsvector columns — match only rows where a column matches a full-text search query.
43%
using_modifiers
Dry Run
Execute the query against the database but discard any changes, returning what would have been affected.
14%
Explain Query Plan
Return the database query execution plan instead of the result data.
🔶 43%
Return as CSV
Return the query result as a CSV string instead of a structured object.
43%
Return as GeoJSON
Return the query result as a GeoJSON object.
43%
Limit Results
Limit the number of rows returned by the query.
43%
Limit Affected Rows
Set the maximum number of rows that a mutation (update or delete) is allowed to affect.
43%
Expect At Most One Row
Return a single row if one exists, or null if no rows match. Errors if multiple rows are returned.
29%
Order Results
Sort the query result by one or more columns.
43%
Range
Return a slice of results by specifying a zero-based start and end offset.
43%
Expect Single Row
Assert that the query returns exactly one row and unwrap it from the array. Errors if zero or multiple rows are returned.
43%
Strip Null Fields
Omit null-valued properties from response objects using the nulls=stripped Accept header variant; requires PostgREST 11.2+.
14%
Request Cancellation
Cancel an in-flight request at any point; merges cleanly with any client-level timeout.
14%
Embed Related Rows
Select columns from related tables within a single query using PostgREST's spread notation; supports inner joins, left joins, aliasing, and nested relationships.
🔶 29%
configuration
Automatic Retry with Backoff
Automatically retry idempotent requests on transient failures using exponential backoff; configurable per-client and overridable per-request.
🔶 29%
Request Timeout
Set a global request timeout in milliseconds at construction time; in-flight requests are cancelled once the deadline is reached.
0%

Edge Functions

Invoke Supabase Edge Functions from the client with support for streaming, region routing, and flexible request configuration.

Feature JavaScriptFlutterPythonSwiftC#GoKotlin Parity
invocation
Invoke Function
Call a deployed Edge Function by name with an optional request body.
🔶 43%
Set Auth Token
Update the authorization token sent with all subsequent function invocations.
43%
HTTP Method Override
Invoke a function using a non-default HTTP method (GET, PUT, PATCH, DELETE) for RESTful Edge Function designs.
29%
Streaming Response (SSE)
Receive a streaming response from a function; when the function returns text/event-stream the raw Response object is passed through for caller-controlled reading.
29%
Region Selection
Route an invocation to a specific geographic deployment region set at client construction time or overridden per individual call.
29%
Invocation Timeout
Cancel a function invocation after a specified timeout; composable with a caller-supplied cancellation signal.
🔶 14%
Request Cancellation
Cancel an in-flight function invocation at any point before a response is received.
14%

Realtime

Websocket client and channel subscriptions: Postgres changes, broadcast, and presence.

Feature JavaScriptFlutterPythonSwiftC#GoKotlin Parity
channel
Broadcast via HTTP
Send a broadcast message to channel subscribers via the REST API instead of the websocket connection.
🔶 43%
Send Message
Send a message to other subscribers of the channel.
43%
Subscribe
Register the channel with the server and start receiving events.
43%
Unsubscribe
Leave the channel and stop receiving events.
43%
client
Create or Reuse Channel
Create a new channel or return an existing one for the given topic.
43%
Connect
Open the websocket connection to the Realtime server.
43%
Connection State
Return the current state of the websocket connection.
43%
Disconnect
Close the websocket connection to the Realtime server.
43%
Get Channels
Return all active channels for this client.
43%
Listen to Heartbeats
Register a callback that receives lifecycle events for internal heartbeat messages.
29%
Remove All Channels
Unsubscribe from and tear down all channels.
43%
Remove Channel
Unsubscribe from and tear down a single channel.
43%
Set Auth Token
Update the access token used for channel subscription authorization and row-level security.
43%
presence
Get Presence State
Return the current presence state for all tracked clients on this channel.
29%
Track Presence
Broadcast a presence payload so other subscribers can see this client as online.
43%
Untrack Presence
Remove this client's presence state, making it appear offline to other subscribers.
43%
Custom Presence Key
Set a stable identifier for the current client's presence entries so multiple connections from the same user share one logical key via the presence.key channel option.
29%
subscriptions
Subscribe to Broadcast
Listen for broadcast messages sent by other clients on this channel.
43%
Subscribe to Postgres Changes
Listen for Postgres database change events (insert, update, delete) streamed over this channel.
43%
Subscribe to Presence Events
Listen for presence events on this channel — when peers join, leave, or sync their presence state.
43%
Postgres Changes Row Filter
Apply a PostgREST-style filter expression (e.g. id=eq.200) to a Postgres changes subscription to receive events only for matching rows.
29%
Private Channel (RLS)
Mark a channel as private to enforce Row Level Security on Postgres change events and restrict broadcast and presence access to authorized users.
29%
Broadcast Self-Delivery
Opt in to receiving broadcast messages that the current client sends on the same channel via the broadcast.self channel option.
29%
Broadcast Acknowledgment
Require server confirmation of receipt for each broadcast message before the send resolves via the broadcast.ack channel option.
29%
Broadcast Message Replay
Replay historical broadcast messages from a point in time on a private channel via the broadcast.replay option (requires a since timestamp; supports an optional message limit).
29%
configuration
Custom WebSocket Transport
Inject a custom WebSocket constructor at client construction time for runtimes without a native global WebSocket, such as Node.js (<22), Cloudflare Workers, or Deno.
29%
Configurable Reconnect Backoff
Provide a custom function mapping reconnect attempt count to delay milliseconds, replacing the default stepped backoff strategy.
29%
Heartbeat Interval Configuration
Configure the WebSocket heartbeat interval in milliseconds; used to detect stale connections and trigger reconnection.
29%
Dynamic Access Token Callback
Supply an async callback at construction time that returns the current JWT; called on connect and each heartbeat to keep WebSocket authorization fresh without manual intervention.
29%
Deferred Socket Disconnect
Delay WebSocket disconnection after all channels are removed instead of closing immediately, reducing reconnection overhead for short-lived channel patterns.
14%
Custom Logger
Provide a custom logging function and log level filter at construction time to route Realtime client diagnostics to an application logger.
29%
Binary Message Protocol
Select protocol version 2.0.0 for binary-serialized messages over the WebSocket connection.
29%

Storage

Object storage — upload, download, list, and manage files in buckets; server-side image transformation; Iceberg analytics buckets.

Feature JavaScriptFlutterPythonSwiftC#GoKotlin Parity
file_buckets
Access Bucket
Scope subsequent file operations to a specific bucket.
43%
Copy File
Copy an existing file to a new path within the same bucket.
43%
Create File Bucket
Create a new file storage bucket.
43%
Create Signed Upload URL
Create a signed URL that allows an unauthenticated client to upload a file to the bucket.
🔶 43%
Create Signed URL
Create a time-limited signed URL for sharing a file.
🔶 43%
Create Signed URLs (batch)
Create time-limited signed URLs for multiple files in a single request.
🔶 43%
Delete File Bucket
Delete an existing file bucket. The bucket must be empty before deletion.
43%
Download File
Download a file from a private bucket.
43%
Empty Bucket
Delete all objects inside a bucket without deleting the bucket itself.
43%
Check File Exists
Check whether a file exists at a given path.
43%
Get File Info
Retrieve the metadata of an existing file.
43%
Get Bucket
Retrieve the details of a specific storage bucket.
43%
Get Public URL
Get the public URL for a file in a public bucket.
🔶 43%
List File Buckets
List all file storage buckets in the project.
🔶 43%
List Files
List files and folders within a path of the bucket.
43%
List Files (paginated)
List files and folders within a bucket with cursor-based pagination support.
29%
Move File
Move an existing file to a new path within the same bucket.
43%
Delete Files
Delete one or more files from the bucket.
43%
Update Bucket
Update a storage bucket's settings (public access, file size limits, etc.).
43%
Update File
Replace an existing file at the specified path with a new one.
43%
Upload File
Upload a file to an existing bucket.
43%
Upload with Signed URL
Upload a file using a pre-signed upload URL, without requiring standard authentication.
43%
Download File as Stream
Download a file and return its content as a stream for memory-efficient handling of large files.
0%
Download with Image Transform
Apply server-side image transformations inline during download without creating a separate file.
29%
Copy File to Another Bucket
Copy a file to a path in a different bucket using the destinationBucket option.
29%
Move File to Another Bucket
Move a file to a path in a different bucket using the destinationBucket option.
29%
Upload with Custom Metadata
Attach arbitrary JSON metadata, a custom cache-control header, and an explicit content-type to a file at upload time.
29%
URL Cache Invalidation Nonce
Append a cache-busting nonce to public and signed URLs to bypass CDN caching for a specific file version.
14%
vector_buckets
Access Vector Index
Scope subsequent vector operations to a specific index within a bucket.
14%
Create Vector Index
Create a new vector index in a bucket.
14%
Delete Vector Index
Delete a vector index from a bucket.
14%
Delete Vectors
Delete vectors by key from an index.
14%
Get Vector Index
Retrieve metadata for a specific vector index.
14%
Get Vectors
Retrieve vectors by key from an index.
14%
List Vector Indexes
List all vector indexes in a bucket.
14%
List Vectors
List vectors in an index with pagination.
14%
Put Vectors
Insert or update vectors in an index.
14%
Query Vectors (similarity search)
Search for similar vectors in an index using a query vector.
14%
Create Vector Bucket
Create a new bucket dedicated to holding S3 Vectors indexes.
0%
List Vector Buckets
List all vector buckets with prefix filtering and cursor-based pagination.
0%
Delete Vector Bucket
Delete an empty vector bucket and all its indexes.
0%
Parallel Vector Scan
Distribute a full-index vector scan across multiple workers using segmentCount and segmentIndex parameters to parallelize large-scale retrieval.
0%
analytics
Create Analytics Bucket
Create a bucket backed by Apache Iceberg table format for structured analytical data storage.
0%
List Analytics Buckets
List analytics buckets with optional pagination and sort options.
0%
Delete Analytics Bucket
Delete an empty analytics bucket.
0%
Iceberg Namespace Management
Create, list, and drop namespaces within an analytics bucket via the Iceberg REST Catalog API.
0%
Iceberg Table Management
Create, list, load, update, rename, and drop Iceberg tables within a namespace, including schema and partition spec definition.
0%