Update data in a Supabase table using the REST API.

This task updates records in a Supabase table using the REST API with support for filtering conditions.

yaml
type: "io.kestra.plugin.supabase.Update"

Update records with a simple filter.

yaml
id: supabase_update_simple
namespace: company.team

tasks:
  - id: update_user_status
    type: io.kestra.plugin.supabase.Update
    url: https://your-project.supabase.com
    apiKey: "{{ secret('SUPABASE_API_KEY') }}"
    table: users
    data:
      status: "inactive"
      updated_at: "{{ now() }}"
    filter: "id=eq.123"

Update multiple records with complex filtering.

yaml
id: supabase_update_multiple
namespace: company.team

tasks:
  - id: update_inactive_users
    type: io.kestra.plugin.supabase.Update
    url: https://your-project.supabase.com
    apiKey: "{{ secret('SUPABASE_API_KEY') }}"
    table: users
    data:
      status: "archived"
      archived_at: "{{ now() }}"
    filter: "status=eq.inactive&last_login=lt.2023-01-01"

Update with return of specific columns.

yaml
id: supabase_update_with_return
namespace: company.team

tasks:
  - id: update_user_email
    type: io.kestra.plugin.supabase.Update
    url: https://your-project.supabase.com
    apiKey: "{{ secret('SUPABASE_API_KEY') }}"
    table: users
    data:
      email: "[email protected]"
      email_verified: false
    filter: "id=eq.123"
    select: "id,email,email_verified,updated_at"
Properties

The Supabase API key

The API key for authenticating with Supabase -- use the anon key for client-side operations or the service_role key for server-side operations with elevated privileges.

The data to update

The data to update as a map of column names to values

Filter conditions

Filter conditions using PostgREST syntax to specify which records to update (e.g., 'id=eq.123', 'status=eq.active')

The name of the table to update

The name of the table in your Supabase database

The Supabase project URL

The URL of your Supabase project (e.g., https://your-project.supabase.com)

Default { "followRedirects": "true", "allowFailed": "false", "defaultCharset": "UTF-8" }
Default public

The schema to use

The database schema to use for operations -- defaults to 'public'.

Columns to return after update

Comma-separated list of columns to return after the update -- defaults to '*' (all columns)

The HTTP status code of the response

SubType array

The headers of the response

The raw response body

The number of rows updated

SubType object

The updated rows returned from the database

Format uri

The URI of the executed request

Format duration

The time allowed to establish a connection to the server before failing.

Default PT5M
Format duration

The time allowed for a read connection to remain idle before closing it.

The password for HTTP basic authentication.

The username for HTTP basic authentication.

Default false

If true, allow a failed response code (response code >= 400)

SubType integer

List of response code allowed for this request

The authentification to use.

Default UTF-8

The default charset for the request.

Default true

Whether redirects should be followed automatically.

SubType string
Possible Values
REQUEST_HEADERSREQUEST_BODYRESPONSE_HEADERSRESPONSE_BODY

The enabled log.

The proxy configuration.

The SSL request options

The timeout configuration.

The address of the proxy server.

The password for proxy authentication.

The port of the proxy server.

Default DIRECT
Possible Values
DIRECTHTTPSOCKS

The type of proxy to use.

The username for proxy authentication.

Whether to disable checking of the remote SSL certificate.

Only applies if no trust store is configured. Note: This makes the SSL connection insecure and should only be used for testing. If you are using a self-signed certificate, set up a trust store instead.

The token for bearer token authentication.