Invokes a function
Invoke a Supabase Edge Function.
Blob
, ArrayBuffer
, File
, FormData
and String
. If it doesn't match any of these types we assume the payload is json
, serialize it and attach the Content-Type
header as application/json
. You can override this behavior by passing in a Content-Type
header of your own.json
, blob
and form-data
depending on the Content-Type
header sent by your function. Responses are parsed as text
by default.The name of the Function to invoke.
Options for invoking the Function.
const \{ data, error \} = await supabase.functions.invoke('hello', \{
body: \{ foo: 'bar' \}
\})
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)
\}
const \{ data, error \} = await supabase.functions.invoke('hello', \{
headers: \{
"my-custom-header": 'my-custom-header-value'
\},
body: \{ foo: 'bar' \}
\})
const \{ data, error \} = await supabase.functions.invoke('hello', \{
headers: \{
"my-custom-header": 'my-custom-header-value'
\},
body: \{ foo: 'bar' \},
method: 'DELETE'
\})
import \{ createClient, FunctionRegion \} from '@supabase/supabase-js'
const \{ data, error \} = await supabase.functions.invoke('hello', \{
body: \{ foo: 'bar' \},
region: FunctionRegion.UsEast1
\})
const \{ data, error \} = await supabase.functions.invoke('hello', \{
headers: \{
"my-custom-header": 'my-custom-header-value'
\},
method: 'GET'
\})