Appwrite Functions API

The Functions Service allows you view, create and manage your Cloud Functions. 28 operations across 18 paths in the Appwrite 2.0.0 OpenAPI.

Operations 28

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /functions List the project's functions · List functions #
Ask an LLM
“What serverless functions are defined in my Appwrite project?”
“Can I search my functions by name?”
Tell an agent
List all functions in this project.
Search my functions for {search}.
POST /functions Create a serverless function · Create function #
Ask an LLM
“How do I create a new cloud function with a chosen runtime?”
“Can a new function be triggered by events or a cron schedule?”
Tell an agent
Create function {name} with ID {functionId} on the {runtime} runtime.
Create function {functionId} named {name} using {runtime} that runs on the cron {schedule}.
GET /functions/runtimes List available function runtimes · List runtimes #
Ask an LLM
“Which languages and runtime versions can my functions use?”
“What runtimes are currently active on this instance?”
Tell an agent
List the function runtimes available on this instance.
Show me every active runtime I can pick for a function.
GET /functions/specifications List allowed function compute specs · List specifications #
Ask an LLM
“What CPU and memory sizes can I give a function?”
“Which function specifications are allowed on this instance?”
Tell an agent
List the allowed function specifications.
List function specifications of type {type}.
GET /functions/templates Browse function templates · List templates #
Ask an LLM
“Are there ready-made function templates I can start from?”
“Can I filter function templates by runtime or use case?”
Tell an agent
List the available function templates.
Show function templates for the {runtimes} runtime covering {useCases}.
GET /functions/templates/{templateId} Get one function template · Get function template #
Ask an LLM
“What does a specific function template include before I use it?”
“How do I read the details of one template by its ID?”
Tell an agent
Show function template {templateId}.
Get the runtimes and settings of template {templateId}.
GET /functions/{functionId} Get a function's configuration · Get function #
Ask an LLM
“How do I view the settings of one function, like its runtime and timeout?”
“Which deployment is a given function currently running?”
Tell an agent
Show function {functionId}.
Get the runtime, schedule and events of function {functionId}.
PUT /functions/{functionId} Update a function's settings · Update function #
Ask an LLM
“Can I change the timeout or schedule of an existing function?”
“How do I switch an existing function to a different runtime?”
Tell an agent
Update function {functionId}: keep the name {name} and set the timeout to {timeout} seconds.
Change function {functionId} (name {name}) to run on the cron {schedule}.
DELETE /functions/{functionId} Delete a function · Delete function #
Ask an LLM
“How do I permanently remove a function from my project?”
“Can I delete a function I no longer use?”
Tell an agent destructive · confirm first
Delete function {functionId}.
Remove the function {functionId} from this project.
PATCH /functions/{functionId}/deployment Switch a function's active deployment · Update function's deployment #
Ask an LLM
“How do I roll a function back to an earlier deployment?”
“Can I choose which code deployment a function serves?”
Tell an agent
Make deployment {deploymentId} the active one for function {functionId}.
Roll function {functionId} back to deployment {deploymentId}.
GET /functions/{functionId}/deployments List a function's deployments · List deployments #
Ask an LLM
“What code deployments exist for one of my functions?”
“Can I search a function's deployment history?”
Tell an agent
List the deployments of function {functionId}.
List deployments of function {functionId} matching {queries}.
POST /functions/{functionId}/deployments Upload new function code · Create deployment #
Ask an LLM
“How do I upload a tar.gz of my code as a new function deployment?”
“Can a code upload go live immediately instead of waiting for manual activation?”
Tell an agent
Upload {code} as a new deployment of function {functionId}, activate: {activate}.
Deploy the archive {code} to function {functionId} with entrypoint {entrypoint}, activate: {activate}.
POST /functions/{functionId}/deployments/duplicate Rebuild an existing function deployment · Create duplicate deployment #
Ask an LLM
“After changing build commands, can I rebuild an old deployment without re-uploading code?”
“What call queues a fresh build of an existing deployment?”
Tell an agent
Rebuild deployment {deploymentId} of function {functionId} with the current settings.
Duplicate deployment {deploymentId} on function {functionId} from build {buildId}.
POST /functions/{functionId}/deployments/template Deploy a function from a template · Create template deployment #
Ask an LLM
“Can I deploy a function straight from one of the starter templates?”
“What do I need to supply to deploy template code from a repository?”
Tell an agent
Deploy template repo {owner}/{repository} from {rootDirectory} at {type} {reference} to function {functionId}.
Create a template deployment on function {functionId} using {owner}/{repository}, folder {rootDirectory}, {type} {reference}, and activate it.
POST /functions/{functionId}/deployments/vcs Deploy a function from its connected repo · Create VCS deployment #
Ask an LLM
“How do I deploy a Git-connected function from a specific branch, commit or tag?”
“Can I redeploy from the latest commit on the linked repository?”
Tell an agent
Deploy function {functionId} from {type} {reference} of its connected repository.
Build function {functionId} from the Git {type} {reference} and set activate to {activate}.
GET /functions/{functionId}/deployments/{deploymentId} Get one function deployment · Get deployment #
Ask an LLM
“Did my latest function deployment build successfully?”
“How do I check the build status of a particular deployment?”
Tell an agent
Show deployment {deploymentId} of function {functionId}.
Get the build status of deployment {deploymentId} on function {functionId}.
DELETE /functions/{functionId}/deployments/{deploymentId} Delete a function deployment · Delete deployment #
Ask an LLM
“Can I clean up old code deployments of a function?”
“How do I remove one deployment I no longer need?”
Tell an agent destructive · confirm first
Delete deployment {deploymentId} from function {functionId}.
Remove the old deployment {deploymentId} of function {functionId}.
GET /functions/{functionId}/deployments/{deploymentId}/download Download a function deployment's code · Get deployment download #
Ask an LLM
“Can I download the source code that was deployed to a function?”
“Is it possible to download the built output rather than the source of a deployment?”
Tell an agent
Download the code of deployment {deploymentId} for function {functionId}.
Download the {type} package of deployment {deploymentId} on function {functionId}.
PATCH /functions/{functionId}/deployments/{deploymentId}/status Cancel a function deployment build · Update deployment status #
Ask an LLM
“How do I stop a function build that is still running?”
“Can I cancel a deployment build that has already finished?”
Tell an agent destructive · confirm first
Cancel the build of deployment {deploymentId} on function {functionId}.
Stop the in-progress build for function {functionId} deployment {deploymentId}.
GET /functions/{functionId}/executions List a function's execution logs · List executions #
Ask an LLM
“Where can I see the recent runs and logs of a function?”
“Can I filter function executions to only failed ones?”
Tell an agent
List the executions of function {functionId}.
List executions of function {functionId} matching {queries}.
POST /functions/{functionId}/executions Run a function · Create execution #
Ask an LLM
“How do I trigger a function and pass it a request body?”
“Can I execute a function asynchronously or schedule it for later?”
Tell an agent
Execute function {functionId} with body {body}.
Run function {functionId} asynchronously at {scheduledAt}.
GET /functions/{functionId}/executions/{executionId} Get one function execution · Get execution #
Ask an LLM
“Has my function execution finished, and what did it return?”
“How do I read the log of a single function run?”
Tell an agent
Show execution {executionId} of function {functionId}.
Get the status and output of run {executionId} on function {functionId}.
DELETE /functions/{functionId}/executions/{executionId} Delete a function execution log · Delete execution #
Ask an LLM
“Can I delete the record of a single function run?”
“How do I remove an execution log that contains sensitive output?”
Tell an agent destructive · confirm first
Delete execution {executionId} of function {functionId}.
Remove the execution log {executionId} from function {functionId}.
GET /functions/{functionId}/variables List a function's environment variables · List variables #
Ask an LLM
“Which environment variables are set on my function?”
“Can I filter a function's variables with queries?”
Tell an agent
List the environment variables of function {functionId}.
List variables on function {functionId} matching {queries}.
POST /functions/{functionId}/variables Add an environment variable to a function · Create variable #
Ask an LLM
“How do I give my function an API key as an environment variable?”
“Can I mark a new function variable as secret so its value is hidden?”
Tell an agent
Add variable {key} = {value} to function {functionId} with ID {variableId}.
Create variable {variableId} named {key} with value {value} on function {functionId}, secret: {secret}.
GET /functions/{functionId}/variables/{variableId} Get one function variable · Get variable #
Ask an LLM
“What is the current value of one of my function's variables?”
“How do I look up a single environment variable by its ID?”
Tell an agent
Show variable {variableId} of function {functionId}.
Get the key and value of variable {variableId} on function {functionId}.
PUT /functions/{functionId}/variables/{variableId} Change a function variable · Update variable #
Ask an LLM
“How do I rotate the value of an existing function variable?”
“Can I rename a function variable's key after creating it?”
Tell an agent
Set variable {variableId} on function {functionId} to {value}.
Rename variable {variableId} of function {functionId} to {key}.
DELETE /functions/{functionId}/variables/{variableId} Delete a function variable · Delete variable #
Ask an LLM
“How do I remove an environment variable from a function?”
“Can I clear out a stale variable from one function's environment?”
Tell an agent destructive · confirm first
Delete variable {variableId} from function {functionId}.
Remove the environment variable {variableId} on function {functionId}.

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/appwrite:appwrite-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

appwrite-functions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Appwrite Functions API
  description: Appwrite backend as a service cuts up to 70% of the time and costs required for building a modern application. We abstract and simplify common development tasks behind a REST APIs, to help you develop your app in a fast and secure way. For full API documentation and tutorials go to https://appwrite.io/docs
  termsOfService: https://appwrite.io/policy/terms
  contact:
    name: Appwrite Team
    url: https://appwrite.io/support
    email: team@appwrite.io
  license:
    name: BSD-3-Clause
    url: https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE
servers:
- url: https://cloud.appwrite.io/v1
  description: Appwrite Cloud endpoint.
- url: https://{region}.cloud.appwrite.io/v1
  description: Appwrite Cloud regional endpoint. Replace `{region}` with your project region.
  variables:
    region:
      default: fra
      description: Appwrite Cloud region.
tags:


# --- truncated at 32 KB (166 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appwrite/refs/heads/main/openapi/appwrite-functions-api-openapi.yml