JavaScript: Invokes a Supabase Edge Function.

Invokes a function

Invoke a Supabase Edge Function.

Parameters

Examples

Basic invocation

const \{ data, error \} = await supabase.functions.invoke('hello', \{
  body: \{ foo: 'bar' \}
\})

Error handling

import \{ FunctionsHttpError, FunctionsRelayError, FunctionsFetchError \} from "@supabase/supabase-js";

const \{ data, error \} = await supabase.functions.invoke('hello', \{
  headers: \{
    "my-custom-header": 'my-custom-header-value'
  \},
  body: \{ foo: 'bar' \}
\})

if (error instanceof FunctionsHttpError) \{
  const errorMessage = await error.context.json()
  console.log('Function returned an error', errorMessage)
\} else if (error instanceof FunctionsRelayError) \{
  console.log('Relay error:', error.message)
\} else if (error instanceof FunctionsFetchError) \{
  console.log('Fetch error:', error.message)
\}

Passing custom headers

const \{ data, error \} = await supabase.functions.invoke('hello', \{
  headers: \{
    "my-custom-header": 'my-custom-header-value'
  \},
  body: \{ foo: 'bar' \}
\})

Calling with DELETE HTTP verb

const \{ data, error \} = await supabase.functions.invoke('hello', \{
  headers: \{
    "my-custom-header": 'my-custom-header-value'
  \},
  body: \{ foo: 'bar' \},
  method: 'DELETE'
\})

Invoking a Function in the UsEast1 region

import \{ createClient, FunctionRegion \} from '@supabase/supabase-js'

const \{ data, error \} = await supabase.functions.invoke('hello', \{
  body: \{ foo: 'bar' \},
  region: FunctionRegion.UsEast1
\})

Calling with GET HTTP verb

const \{ data, error \} = await supabase.functions.invoke('hello', \{
  headers: \{
    "my-custom-header": 'my-custom-header-value'
  \},
  method: 'GET'
\})