Supabase Functions API

Deploy and manage Edge Functions for serverless compute at the edge.

Operations 5

GET /projects/{ref}/functions List Edge Functions #
POST /projects/{ref}/functions Create an Edge Function #
GET /projects/{ref}/functions/{function_slug} Get an Edge Function #
PATCH /projects/{ref}/functions/{function_slug} Update an Edge Function #
DELETE /projects/{ref}/functions/{function_slug} Delete an Edge Function #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/supabase-functions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

supabase-functions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Supabase Management Functions API
  description: The Supabase Management API provides programmatic access to manage Supabase projects and organizations. It supports operations for creating, updating, and deleting projects, managing database configurations, retrieving project API keys, controlling organization membership, deploying Edge Functions, managing secrets, configuring custom domains, and monitoring project health. Authentication is handled via personal access tokens or OAuth2 tokens.
  version: 1.0.0
  contact:
    name: Supabase Support
    url: https://supabase.com/support
  termsOfService: https://supabase.com/terms
servers:
- url: https://api.supabase.com/v1
  description: Production Server
security:
- bearerAuth: []
tags:
- name: Functions
  description: Deploy and manage Edge Functions for serverless compute at the edge.
paths:
  /projects/{ref}/functions:
    get:
      operationId: listFunctions
      summary: List Edge Functions
      description: Returns a list of all Edge Functions deployed to a project including their status, slug, and creation date.
      tags:
      - Functions
      parameters:
      - $ref: '#/components/parameters/ProjectRef'
      responses:
        '200':
          description: Successfully retrieved functions
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EdgeFunction'
        '401':
          description: Unauthorized
        '404':
          description: Project not found
    post:
      operationId: createFunction
      summary: Create an Edge Function
      description: Deploys a new Edge Function to the project. The function will be globally distributed and accessible via HTTP requests.
      tags:
      - Functions
      parameters:
      - $ref: '#/components/parameters/ProjectRef'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFunctionRequest'
      responses:
        '201':
          description: Function created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeFunction'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
  /projects/{ref}/functions/{function_slug}:
    get:
      operationId: getFunction
      summary: Get an Edge Function
      description: Retrieves details about a specific Edge Function including its slug, status, version, and creation date.
      tags:
      - Functions
      parameters:
      - $ref: '#/components/parameters/ProjectRef'
      - $ref: '#/components/parameters/FunctionSlug'
      responses:
        '200':
          description: Successfully retrieved function
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeFunction'
        '401':
          description: Unauthorized
        '404':
          description: Function not found
    patch:
      operationId: updateFunction
      summary: Update an Edge Function
      description: Updates an existing Edge Function with new code or configuration changes.
      tags:
      - Functions
      parameters:
      - $ref: '#/components/parameters/ProjectRef'
      - $ref: '#/components/parameters/FunctionSlug'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFunctionRequest'
      responses:
        '200':
          description: Function updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EdgeFunction'
        '401':
          description: Unauthorized
        '404':
          description: Function not found
    delete:
      operationId: deleteFunction
      summary: Delete an Edge Function
      description: Permanently removes an Edge Function from the project.
      tags:
      - Functions
      parameters:
      - $ref: '#/components/parameters/ProjectRef'
      - $ref: '#/components/parameters/FunctionSlug'
      responses:
        '200':
          description: Function deleted successfully
        '401':
          description: Unauthorized
        '404':
          description: Function not found
components:
  schemas:
    EdgeFunction:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the function
        slug:
          type: string
          description: URL-friendly slug for the function
        name:
          type: string
          description: Display name of the function
        status:
          type: string
          description: Deployment status
          enum:
          - ACTIVE
          - REMOVED
          - THROTTLED
        version:
          type: integer
          description: Current deployment version
        created_at:
          type: string
          format: date-time
          description: Timestamp when the function was created
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the function was last updated
        verify_jwt:
          type: boolean
          description: Whether JWT verification is required for invocations
    CreateFunctionRequest:
      type: object
      required:
      - slug
      - name
      - body
      properties:
        slug:
          type: string
          description: URL-friendly slug for the function
        name:
          type: string
          description: Display name
        body:
          type: string
          description: Function source code
        verify_jwt:
          type: boolean
          description: Whether to require JWT verification
          default: true
    UpdateFunctionRequest:
      type: object
      properties:
        body:
          type: string
          description: Updated function source code
        verify_jwt:
          type: boolean
          description: Whether to require JWT verification
  parameters:
    FunctionSlug:
      name: function_slug
      in: path
      required: true
      description: The URL-friendly slug identifier for the Edge Function.
      schema:
        type: string
    ProjectRef:
      name: ref
      in: path
      required: true
      description: The unique reference ID for the project, found in the project settings or URL.
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Personal access token or OAuth2 token for authentication. Generate tokens from the Supabase Dashboard under Account > Access Tokens.
externalDocs:
  description: Supabase Management API Documentation
  url: https://supabase.com/docs/reference/api/introduction