Skip to main content

invoke()

Invokes a Supabase Function. See the guide for details on writing Functions.

caution

Supabase Functions are in Experimental release until 1 August 2022. There will breaking changes. Do not use them in Production.

We have released Supabase Functions to gather feedback. You're welcome to try them out and send us feedback but we strongly advise against using them for anything in production. There will be breaking changes with no notice.

final res = await supabaseClient.functions.invoke('hello', body: {'foo': 'baa'});
final data = res.data;
final error = res.error;

Notes

  • Requires an Authorization header.
  • Invoke params generally match the Fetch API spec.

Examples

Basic invocation.

final res = await supabaseClient.functions.invoke('hello', body: {'foo': 'baa'});
final data = res.data;
final error = res.error;

Specifying response type.

By default, invoke() will parse the response as JSON. You can parse the response in the following formats: json, blob, text, and arrayBuffer.

final res = await supabaseClient.functions.invoke(
'hello',
body: {'foo': 'baa'},
responseType: ResponseType.text,
);
final data = res.data;
final error = res.error;

Parsing custom headers.

Any headers will be passed through to the function. A common pattern is to pass a logged-in user's JWT token as an Authorization header.

final res = await supabaseClient.functions.invoke(
'hello',
body: {'foo': 'baa'},
headers: {
'Authorization': 'Bearer ${supabase.auth.session()?.access_token}'
},
);