Appwrite Sites API

The Sites Service allows you view, create and manage your web applications. 27 operations across 18 paths in the Appwrite 2.0.0 OpenAPI.

Business capability
Deployment Orchestration BC-4210.40

Operations 27

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 /sites List the project's sites · List sites #
Ask an LLM
“Which sites are hosted in my Appwrite project?”
“Can I search my sites by name?”
Tell an agent
List all sites in this project.
Search my sites for {search}.
POST /sites Create a new site · Create site #
Ask an LLM
“How do I create a site for my Next.js or Astro app?”
“Can I connect a new site to a Git repository and branch when creating it?”
Tell an agent
Create site {name} with ID {siteId} using framework {framework} and build runtime {buildRuntime}.
Create site {siteId} named {name} ({framework}, runtime {buildRuntime}) deploying from repository {providerRepositoryId} branch {providerBranch}.
GET /sites/frameworks List supported site frameworks · List frameworks #
Ask an LLM
“Which web frameworks can I host as a site?”
“Is my framework supported on this server instance?”
Tell an agent
List the frameworks available for sites.
Show me every site framework this instance supports.
GET /sites/specifications List allowed site compute specifications · List specifications #
Ask an LLM
“What CPU and memory sizes can a site use?”
“Which build or runtime specifications are allowed on this instance?”
Tell an agent
List the allowed site specifications.
List site specifications of type {type}.
GET /sites/templates Browse site starter templates · List templates #
Ask an LLM
“Are there starter templates I can deploy a site from?”
“Can I find site templates for a specific framework or use case?”
Tell an agent
List available site templates.
Show site templates for frameworks {frameworks} and use cases {useCases}.
GET /sites/templates/{templateId} Get a site template's details · Get site template #
Ask an LLM
“What does a particular site template include?”
“Which repository and framework does a template use?”
Tell an agent
Show site template {templateId}.
Get the repository details of template {templateId} so I can deploy it.
GET /sites/{siteId} Get a site's configuration · Get site #
Ask an LLM
“What is the current configuration of one of my sites?”
“Which deployment is active on a given site?”
Tell an agent
Show site {siteId}.
Tell me the framework and build commands configured for site {siteId}.
PUT /sites/{siteId} Update a site's settings · Update site #
Ask an LLM
“How do I change a site's build command or output directory?”
“Can I switch the Git branch an existing site deploys from?”
Tell an agent
Update site {siteId}: name {name}, framework {framework}, build command {buildCommand}.
Point site {siteId} ({name}, {framework}) at branch {providerBranch}.
DELETE /sites/{siteId} Delete a site · Delete site #
Ask an LLM
“How do I take a site down and delete it?”
“Can I remove a site by its ID?”
Tell an agent destructive · confirm first
Delete site {siteId}.
Permanently remove site {siteId} from the project.
PATCH /sites/{siteId}/deployment Switch a site's live deployment · Update site's deployment #
Ask an LLM
“How do I roll my site back to an earlier deployment?”
“Can I choose which deployment visitors see?”
Tell an agent
Make deployment {deploymentId} live on site {siteId}.
Roll site {siteId} back to deployment {deploymentId}.
GET /sites/{siteId}/deployments List a site's deployments · List deployments #
Ask an LLM
“What deployments have been made to my site?”
“Can I filter a site's deployment history?”
Tell an agent
List the deployments of site {siteId}.
List deployments of site {siteId} matching {queries}.
POST /sites/{siteId}/deployments Upload new site code as a deployment · Create deployment #
Ask an LLM
“How do I upload a new version of my site's code?”
“Can I activate an uploaded deployment immediately?”
Tell an agent
Upload {code} as a new deployment of site {siteId}.
Deploy code archive {code} to site {siteId} and activate it right away with activate {activate}.
POST /sites/{siteId}/deployments/duplicate Rebuild an existing site deployment · Create duplicate deployment #
Ask an LLM
“How do I rebuild an old deployment with my site's updated settings?”
“Can I redeploy the same code after changing environment variables?”
Tell an agent
Rebuild deployment {deploymentId} of site {siteId} with the current configuration.
Duplicate deployment {deploymentId} on site {siteId} as a fresh build.
POST /sites/{siteId}/deployments/template Deploy a site from a template · Create template deployment #
Ask an LLM
“How do I deploy a starter template to my site?”
“Which template repository fields do I need to deploy from a template?”
Tell an agent
Deploy template repository {owner}/{repository} from {rootDirectory} at {type} {reference} to site {siteId}.
Deploy the {repository} template by {owner} (directory {rootDirectory}, {type} {reference}) to site {siteId} and activate it.
POST /sites/{siteId}/deployments/vcs Deploy a site from a Git branch, commit or tag · Create VCS deployment #
Ask an LLM
“How do I deploy a specific Git commit to my connected site?”
“Can I deploy from a tag instead of a branch?”
Tell an agent
Deploy {type} {reference} from the connected repository to site {siteId}.
Build site {siteId} from Git {type} {reference} and activate it.
GET /sites/{siteId}/deployments/{deploymentId} Get a site deployment's details · Get deployment #
Ask an LLM
“Did my latest site build succeed?”
“Can I check the status of a single site deployment?”
Tell an agent
Show deployment {deploymentId} of site {siteId}.
Tell me the build status of deployment {deploymentId} on site {siteId}.
DELETE /sites/{siteId}/deployments/{deploymentId} Delete a site deployment · Delete deployment #
Ask an LLM
“How do I delete an old site deployment?”
“Can I clean up deployments I no longer need?”
Tell an agent destructive · confirm first
Delete deployment {deploymentId} of site {siteId}.
Remove the old deployment {deploymentId} from site {siteId}.
GET /sites/{siteId}/deployments/{deploymentId}/download Download a site deployment's files · Get deployment download #
Ask an LLM
“How do I download the source or build output of a site deployment?”
“Can I get the built output instead of the uploaded source?”
Tell an agent
Download deployment {deploymentId} of site {siteId}.
Download the {type} archive of deployment {deploymentId} on site {siteId}.
PATCH /sites/{siteId}/deployments/{deploymentId}/status Cancel an ongoing site build · Update deployment status #
Ask an LLM
“How do I stop a site build that is still running?”
“Can I cancel a deployment build before it starts?”
Tell an agent destructive · confirm first
Cancel the build of deployment {deploymentId} on site {siteId}.
Stop the in-progress site build {deploymentId} for site {siteId}.
GET /sites/{siteId}/logs List a site's request logs · List logs #
Ask an LLM
“Where can I see the request logs for my site?”
“Can I filter site logs with queries?”
Tell an agent
List request logs for site {siteId}.
Show logs of site {siteId} matching {queries}.
GET /sites/{siteId}/logs/{logId} Get a single site request log · Get log #
Ask an LLM
“What happened in one specific request to my site?”
“Can I open a single site log entry by ID?”
Tell an agent
Show log {logId} for site {siteId}.
Open the request log entry {logId} of site {siteId}.
DELETE /sites/{siteId}/logs/{logId} Delete a site log entry · Delete log #
Ask an LLM
“How do I delete a request log from my site?”
“Can individual site log entries be removed?”
Tell an agent destructive · confirm first
Delete log {logId} from site {siteId}.
Remove the request log entry {logId} of site {siteId}.
GET /sites/{siteId}/variables List a site's environment variables · List variables #
Ask an LLM
“What environment variables are set on my site?”
“Can I list a site's variables with a filter?”
Tell an agent
List the environment variables of site {siteId}.
Show variables of site {siteId} matching {queries}.
POST /sites/{siteId}/variables Add an environment variable to a site · Create variable #
Ask an LLM
“How do I add an environment variable available during build and server-side rendering?”
“Can I mark a site variable as secret?”
Tell an agent
Add variable {key} = {value} with ID {variableId} to site {siteId}.
Create a secret variable {key} with value {value} and ID {variableId} on site {siteId}.
GET /sites/{siteId}/variables/{variableId} Get one site environment variable · Get variable #
Ask an LLM
“What value does a particular site variable have?”
“Can I look up a single site variable by ID?”
Tell an agent
Show variable {variableId} of site {siteId}.
Get the key and value of site variable {variableId} on {siteId}.
PUT /sites/{siteId}/variables/{variableId} Change a site environment variable · Update variable #
Ask an LLM
“How do I change the value of an existing site variable?”
“Can I rename a site variable's key?”
Tell an agent
Set variable {variableId} on site {siteId} to {value}.
Rename variable {variableId} on site {siteId} to key {key}.
DELETE /sites/{siteId}/variables/{variableId} Delete a site environment variable · Delete variable #
Ask an LLM
“How do I remove an environment variable from my site?”
“Can I delete a site variable by ID?”
Tell an agent destructive · confirm first
Delete variable {variableId} from site {siteId}.
Remove the environment variable {variableId} on site {siteId}.

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-sites-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-sites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.0.0
  title: Appwrite Sites 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 (158 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appwrite/refs/heads/main/openapi/appwrite-sites-api-openapi.yml