Home

Deploy to Production

Deploy your Edge Functions to your remote Supabase Project.

Once you have developed your Edge Functions locally, you can deploy them to your Supabase project.

Login to the CLI#

Log in to the Supabase CLI if necessary:


_10
supabase login

CLI not installed?

See the CLI Docs to learn how to install the Supabase CLI on your local machine.

Get your Project ID#

Get the project ID associated with your function by running:


_10
supabase projects list

Need a new project?

If you haven't yet created a Supabase project, you can do so by visiting database.new.

Link your local project to your remote Supabase project using the ID you just retrieved:


_10
supabase link --project-ref your-project-id

Deploy your Edge Functions#

You can deploy all of your Edge Functions with a single command:


_10
supabase functions deploy

You can deploy individual Edge Functions by specifying the name of the function in the deploy command:


_10
supabase functions deploy hello-world

By default, Edge Functions require a valid JWT in the authorization header. If you want to use Edge Functions without Authorization checks (commonly used for Stripe webhooks), you can pass the --no-verify-jwt flag when deploying your Edge Functions.


_10
supabase functions deploy hello-world --no-verify-jwt

Be careful when using this flag, as it will allow anyone to invoke your Edge Function without a valid JWT. The Supabase client libraries automatically handle authorization.

Invoking remote Functions#

You can now invoke your Edge Function using the project's ANON_KEY, which can be found in the API settings of the Supabase Dashboard.

cURL
JavaScript

_10
curl --request POST 'https://<project_id>.supabase.co/functions/v1/hello-world' \
_10
--header 'Authorization: Bearer ANON_KEY' \
_10
--header 'Content-Type: application/json' \
_10
--data '{ "name":"Functions" }'

You should receive the response { "message":"Hello Functions!" }.