Appwrite Apps API

The Apps service allows you to manage OAuth2 applications, their keys, secrets, scopes, and installations. 22 operations across 14 paths in the Appwrite 2.0.0 OpenAPI.

Business capability
Developer Identity & Credential Management BC-4270.40

Operations 22

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 /apps List OAuth2 applications · List Applications #
Ask an LLM
“Which third-party applications have I registered in Appwrite?”
“Can I filter my registered applications with queries?”
Tell an agent
List all my registered applications.
List applications matching {queries}.
POST /apps Register a new OAuth2 application · Create Application #
Ask an LLM
“How do I register an application that users can sign in to with OAuth2?”
“Can I set a privacy policy URL, logo and redirect URIs when registering an app?”
Tell an agent
Register application {appId} named {name} with redirect URIs {redirectUris}.
Create app {appId} called {name} redirecting to {redirectUris}, owned by team {teamId}.
GET /apps/scopes/installations List scopes an app can request on team install · List Installation Scopes #
Ask an LLM
“What permissions can an application ask for when it is installed on a team?”
“Which installation scopes are available to choose from for my app?”
Tell an agent
Show the scopes an application may request when installed on a team.
List the available installation scopes.
GET /apps/scopes/oauth2 List scopes an app can request during OAuth2 · List OAuth2 Scopes #
Ask an LLM
“What scopes can my application request from users during the OAuth2 sign-in flow?”
“Which OAuth2 permission scopes are supported for applications?”
Tell an agent
List the OAuth2 scopes an application can request.
Show me every scope available in the OAuth2 consent flow.
GET /apps/{appId} Get an application's details · Get Application #
Ask an LLM
“What redirect URIs and settings does a particular application have?”
“Can I look up one registered application by its ID?”
Tell an agent
Get application {appId}.
Show the configuration of app {appId}.
PUT /apps/{appId} Update an application's settings · Update Application #
Ask an LLM
“How do I change the redirect URIs of an application I already registered?”
“Can I set the installation scopes and installation redirect URL on an existing app?”
Tell an agent
Rename application {appId} to {name}.
Update app {appId} named {name} to use redirect URIs {redirectUris}.
DELETE /apps/{appId} Delete an application · Delete Application #
Ask an LLM
“How do I permanently remove a registered application?”
“Is deleting an OAuth2 application reversible?”
Tell an agent destructive · confirm first
Delete application {appId}.
Remove app {appId} entirely.
GET /apps/{appId}/installations List the teams where an app is installed · List Installations #
Ask an LLM
“Which teams have installed my application?”
“Can I list an app's installations using an app key instead of a user session?”
Tell an agent
List installations of application {appId}.
Show installations of app {appId} matching {queries}.
GET /apps/{appId}/installations/{installationId} Get one installation of an application · Get Installation #
Ask an LLM
“What scopes were granted to a specific installation of my app?”
“Can I look up a single app installation by its ID?”
Tell an agent
Get installation {installationId} of application {appId}.
Show the details of app {appId} installation {installationId}.
DELETE /apps/{appId}/installations/{installationId} Uninstall an application from a team · Delete Installation #
Ask an LLM
“How do I remove my app's installation from a team?”
“Are installation access tokens revoked when an installation is deleted?”
Tell an agent destructive · confirm first
Delete installation {installationId} of application {appId}.
Uninstall app {appId} by removing installation {installationId} and its tokens.
POST /apps/{appId}/installations/{installationId}/tokens Issue an access token for an app installation · Create Installation Token #
Ask an LLM
“How do I get a bearer token that acts with an installation's granted scopes?”
“Can several installation tokens be active at once, and when do they stop working?”
Tell an agent
Create an access token for installation {installationId} of app {appId}.
Mint a bearer token for app {appId} acting as installation {installationId}.
GET /apps/{appId}/keys List an application's app keys · List App Keys #
Ask an LLM
“Which app keys exist for my application?”
“Can I filter an application's keys with queries?”
Tell an agent
List the app keys for application {appId}.
Show app keys of {appId} matching {queries}.
POST /apps/{appId}/keys Create an app key for an application · Create App Key #
Ask an LLM
“How do I get a key my app can send in the X-Appwrite-Key header to manage installations?”
“Do app keys carry any scopes of their own?”
Tell an agent
Create a new app key for application {appId}.
Generate an app key for {appId} so it can list installations and mint installation tokens.
GET /apps/{appId}/keys/{keyId} Get one app key · Get App Key #
Ask an LLM
“What are the details of a specific app key?”
“Can I look up an application's key by its ID?”
Tell an agent
Get app key {keyId} for application {appId}.
Show details of key {keyId} on app {appId}.
DELETE /apps/{appId}/keys/{keyId} Delete an app key · Delete App Key #
Ask an LLM
“How do I revoke an app key that may have leaked?”
“Can I remove one app key without affecting the application's client secrets?”
Tell an agent destructive · confirm first
Delete app key {keyId} from application {appId}.
Revoke key {keyId} on app {appId}.
PUT /apps/{appId}/labels Set the labels on an application · Update Application Labels #
Ask an LLM
“Can I tag an application with labels from my server SDK?”
“Does setting application labels replace the ones already there?”
Tell an agent
Set the labels of application {appId} to {labels}.
Replace app {appId}'s labels with {labels}.
GET /apps/{appId}/secrets List an application's client secrets · List Secrets #
Ask an LLM
“Which client secrets have been generated for my OAuth2 app?”
“Can I filter an application's client secrets with queries?”
Tell an agent
List the client secrets for application {appId}.
Show client secrets of app {appId} matching {queries}.
POST /apps/{appId}/secrets Generate a new client secret for an application · Create Secret #
Ask an LLM
“How do I create a client secret for my application's OAuth2 token exchange?”
“Can an application have more than one client secret for rotation?”
Tell an agent
Create a new client secret for application {appId}.
Generate an additional client secret on app {appId} so I can rotate the old one.
GET /apps/{appId}/secrets/{secretId} Get one client secret of an application · Get Secret #
Ask an LLM
“What are the details of a particular client secret on my app?”
“Can I fetch a single application client secret by its ID?”
Tell an agent
Get client secret {secretId} of application {appId}.
Show secret {secretId} on app {appId}.
DELETE /apps/{appId}/secrets/{secretId} Delete a client secret from an application · Delete Secret #
Ask an LLM
“How do I retire an old client secret after rotating to a new one?”
“Will deleting a client secret break integrations still using it?”
Tell an agent destructive · confirm first
Delete client secret {secretId} from application {appId}.
Revoke secret {secretId} on app {appId}.
PATCH /apps/{appId}/team Transfer an application to another team · Update Team #
Ask an LLM
“Can I move ownership of an application to a different team?”
“What do I need to transfer an app between teams?”
Tell an agent
Transfer application {appId} to team {teamId}.
Move app {appId} so it is owned by team {teamId}.
DELETE /apps/{appId}/tokens Revoke all tokens issued for an application · Delete Tokens #
Ask an LLM
“How do I invalidate every access token my application has issued at once?”
“Is there a way to force all users of an app to re-authorize?”
Tell an agent destructive · confirm first
Revoke all tokens for application {appId}.
Invalidate every token app {appId} has issued.

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