rembrembdocs

Status codes

Understand HTTP status codes returned by Edge Functions to properly debug issues and handle responses.


Success Responses#

2XX Success#

Your Edge Function executed successfully and returned a valid response. This includes any status code in the 200-299 range that your function explicitly returns.

3XX Redirect#

Your Edge Function used the Response.redirect() API to redirect the client to a different URL. This is a normal response when implementing authentication flows or URL forwarding.


Client Errors#

These errors indicate issues with the request itself, which typically require changing how the function is called.

401 Unauthorized#

Cause: The Edge Function has JWT verification enabled, but the request was made with an invalid or missing JWT token.

Solution:

404 Not Found#

Cause: The requested Edge Function doesn't exist or the URL path is incorrect.

Solution:

405 Method Not Allowed#

Cause: You're using an unsupported HTTP method. Edge Functions only support: GET, POST, PUT, PATCH, DELETE, and OPTIONS.

Solution: Update your request to use a supported HTTP method.


Server Errors#

These errors indicate issues with the function execution or underlying platform.

500 Internal Server Error#

Cause: Your Edge Function threw an uncaught exception (WORKER_ERROR).

Common causes:

Solution: Check your Edge Function logs to identify the specific error and add proper error handling to your code.

1// ✅ Good error handling2try {3  const result = await someAsyncOperation()4  return new Response(JSON.stringify(result))5} catch (error) {6  console.error('Function error:', error)7  return new Response('Internal error', { status: 500 })8}

You can see the output in the Edge Function Logs.

503 Service Unavailable#

Cause: Your Edge Function failed to start (BOOT_ERROR).

Common causes:

Solution: Check your Edge Function logs and verify your function code can be executed locally with supabase functions serve.

504 Gateway Timeout#

Cause: Your Edge Function didn't respond within the request timeout limit.

Common causes:

Solution:

546 Resource Limit (Custom Error Code)#

Cause: Your Edge Function execution was stopped due to exceeding resource limits (WORKER_LIMIT). Edge Function logs should provide which resource limit was exceeded.

Common causes:

Solution: Check your Edge Function logs to see which resource limit was exceeded, then optimize your function accordingly.