APIHub
Back to Explore

Appwrite

Appwrite offers a comprehensive REST API for managing user accounts (preferences, sessions, verification, recovery), serving avatar and locale resources, storing and previewing files, handling database collections and documents, running serverless functions, checking system health, and organizing teams and users, enabling developers to build full‑stack applications without writing backend infrastructure.

Development
apiKeyHeader
HTTPS
CORS: Unknown
Description enriched
Visit official documentation

Latency

1140ms p95

Uptime

100.0% 30d

Playground

Verified

live

Endpoints

REST · JSON
GET

/account/prefs

Get Account Preferences

PATCH

/account/prefs

Update Account Preferences

POST

/account/recovery

Create Password Recovery

PUT

/account/recovery

Complete Password Recovery

DELETE

/account/sessions

Delete All Account Sessions

GET

/account/sessions

Get Account Sessions

DELETE

/account/sessions/{sessionId}

Delete Account Session

  • sessionId (path, required) — Session unique ID. Use the string 'current' to delete the current device session.
PATCH

/account/password

Update Account Password

DELETE

/account

Delete Account

GET

/account

Get Account

PATCH

/account/email

Update Account Email

GET

/account/logs

Get Account Logs

PATCH

/account/name

Update Account Name

GET

/account/sessions/{sessionId}

Get Session By ID

  • sessionId (path, required) — Session unique ID. Use the string 'current' to get the current device session.
POST

/account/verification

Create Email Verification

PUT

/account/verification

Complete Email Verification

GET

/avatars/browsers/{code}

Get Browser Icon

  • code (path, required) — Browser Code.
  • width (query) — Image width. Pass an integer between 0 to 2000. Defaults to 100.
  • height (query) — Image height. Pass an integer between 0 to 2000. Defaults to 100.
  • quality (query) — Image quality. Pass an integer between 0 to 100. Defaults to 100.
GET

/avatars/credit-cards/{code}

Get Credit Card Icon

  • code (path, required) — Credit Card Code. Possible values: amex, argencard, cabal, censosud, diners, discover, elo, hipercard, jcb, mastercard, naranja, targeta-shopping, union-china-pay, visa, mir, maestro.
  • width (query) — Image width. Pass an integer between 0 to 2000. Defaults to 100.
  • height (query) — Image height. Pass an integer between 0 to 2000. Defaults to 100.
  • quality (query) — Image quality. Pass an integer between 0 to 100. Defaults to 100.
GET

/avatars/favicon

Get Favicon

  • url (query, required) — Website URL which you want to fetch the favicon from.
GET

/avatars/flags/{code}

Get Country Flag

  • code (path, required) — Country Code. ISO Alpha-2 country code format.
  • width (query) — Image width. Pass an integer between 0 to 2000. Defaults to 100.
  • height (query) — Image height. Pass an integer between 0 to 2000. Defaults to 100.
  • quality (query) — Image quality. Pass an integer between 0 to 100. Defaults to 100.
GET

/avatars/image

Get Image from URL

  • url (query, required) — Image URL which you want to crop.
  • width (query) — Resize preview image width, Pass an integer between 0 to 2000.
  • height (query) — Resize preview image height, Pass an integer between 0 to 2000.
GET

/avatars/initials

Get User Initials

  • name (query) — Full Name. When empty, current user name or email will be used. Max length: 128 chars.
  • width (query) — Image width. Pass an integer between 0 to 2000. Defaults to 100.
  • height (query) — Image height. Pass an integer between 0 to 2000. Defaults to 100.
  • color (query) — Changes text color. By default a random color will be picked and stay will persistent to the given name.
  • background (query) — Changes background color. By default a random color will be picked and stay will persistent to the given name.
GET

/avatars/qr

Get QR Code

  • text (query, required) — Plain text to be converted to QR code image.
  • size (query, limit) — QR code size. Pass an integer between 0 to 1000. Defaults to 400.
  • margin (query) — Margin from edge. Pass an integer between 0 to 10. Defaults to 1.
  • download (query) — Return resulting image with 'Content-Disposition: attachment ' headers for the browser to start downloading it. Pass 0 for no header, or 1 for otherwise. Default value is set to 0.
GET

/database/collections

List Collections

  • search (query) — Search term to filter your list results. Max length: 256 chars.
  • limit (query, limit) — Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.
  • offset (query, offset) — Results offset. The default value is 0. Use this param to manage pagination.
  • orderType (query) — Order result by ASC or DESC order.
POST

/database/collections

Create Collection

DELETE

/database/collections/{collectionId}

Delete Collection

  • collectionId (path, required) — Collection unique ID.
GET

/database/collections/{collectionId}

Get Collection

  • collectionId (path, required) — Collection unique ID.
PUT

/database/collections/{collectionId}

Update Collection

  • collectionId (path, required) — Collection unique ID.
PATCH

/users/{userId}/prefs

Update User Preferences

  • userId (path, required) — User unique ID.
DELETE

/users/{userId}/sessions

Delete User Sessions

  • userId (path, required) — User unique ID.
GET

/users/{userId}/sessions

Get User Sessions

  • userId (path, required) — User unique ID.
GET

/database/collections/{collectionId}/documents

List Documents

  • collectionId (path, required) — Collection unique ID. You can create a new collection with validation rules using the Database service [server integration](/docs/server/database#createCollection).
  • filters (query) — Array of filter strings. Each filter is constructed from a key name, comparison operator (=, !=, >, =) and a value. You can also use a dot (.) separator in attribute names to filter by child document attributes. Examples: 'name=John Doe' or 'category.$id>=5bed2d152c362'.
  • limit (query, limit) — Maximum number of documents to return in response. Use this value to manage pagination. By default will return maximum 25 results. Maximum of 100 results allowed per request.
  • offset (query, offset) — Offset value. The default value is 0. Use this param to manage pagination.
  • orderField (query) — Document field that results will be sorted by.
  • orderType (query) — Order direction. Possible values are DESC for descending order, or ASC for ascending order.
  • orderCast (query) — Order field type casting. Possible values are int, string, date, time or datetime. The database will attempt to cast the order field to the value you pass here. The default value is a string.
  • search (query) — Search query. Enter any free text search. The database will try to find a match against all document attributes and children. Max length: 256 chars.
POST

/database/collections/{collectionId}/documents

Create Document

  • collectionId (path, required) — Collection unique ID. You can create a new collection with validation rules using the Database service [server integration](/docs/server/database#createCollection).
DELETE

/database/collections/{collectionId}/documents/{documentId}

Delete Document

  • collectionId (path, required) — Collection unique ID. You can create a new collection with validation rules using the Database service [server integration](/docs/server/database#createCollection).
  • documentId (path, required) — Document unique ID.
GET

/database/collections/{collectionId}/documents/{documentId}

Get Document

  • collectionId (path, required) — Collection unique ID. You can create a new collection with validation rules using the Database service [server integration](/docs/server/database#createCollection).
  • documentId (path, required) — Document unique ID.
PATCH

/database/collections/{collectionId}/documents/{documentId}

Update Document

  • collectionId (path, required) — Collection unique ID. You can create a new collection with validation rules using the Database service [server integration](/docs/server/database#createCollection).
  • documentId (path, required) — Document unique ID.
GET

/functions

List Functions

  • search (query) — Search term to filter your list results. Max length: 256 chars.
  • limit (query, limit) — Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.
  • offset (query, offset) — Results offset. The default value is 0. Use this param to manage pagination.
  • orderType (query) — Order result by ASC or DESC order.
POST

/functions

Create Function

DELETE

/functions/{functionId}

Delete Function

  • functionId (path, required) — Function unique ID.
GET

/functions/{functionId}

Get Function

  • functionId (path, required) — Function unique ID.
PUT

/functions/{functionId}

Update Function

  • functionId (path, required) — Function unique ID.
GET

/functions/{functionId}/executions

List Executions

  • functionId (path, required) — Function unique ID.
  • search (query) — Search term to filter your list results. Max length: 256 chars.
  • limit (query, limit) — Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.
  • offset (query, offset) — Results offset. The default value is 0. Use this param to manage pagination.
  • orderType (query) — Order result by ASC or DESC order.
POST

/functions/{functionId}/executions

Create Execution

  • functionId (path, required) — Function unique ID.
GET

/functions/{functionId}/executions/{executionId}

Get Execution

  • functionId (path, required) — Function unique ID.
  • executionId (path, required) — Execution unique ID.
PATCH

/functions/{functionId}/tag

Update Function Tag

  • functionId (path, required) — Function unique ID.
DELETE

/users/{userId}/sessions/{sessionId}

Delete User Session

  • userId (path, required) — User unique ID.
  • sessionId (path, required) — User unique session ID.
GET

/functions/{functionId}/tags

List Tags

  • functionId (path, required) — Function unique ID.
  • search (query) — Search term to filter your list results. Max length: 256 chars.
  • limit (query, limit) — Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.
  • offset (query, offset) — Results offset. The default value is 0. Use this param to manage pagination.
  • orderType (query) — Order result by ASC or DESC order.
POST

/functions/{functionId}/tags

Create Tag

  • functionId (path, required) — Function unique ID.
DELETE

/functions/{functionId}/tags/{tagId}

Delete Tag

  • functionId (path, required) — Function unique ID.
  • tagId (path, required) — Tag unique ID.
GET

/functions/{functionId}/tags/{tagId}

Get Tag

  • functionId (path, required) — Function unique ID.
  • tagId (path, required) — Tag unique ID.
GET

/health

Get HTTP

GET

/health/anti-virus

Get Anti virus

GET

/health/cache

Get Cache

GET

/health/db

Get DB

GET

/health/queue/certificates

Get Certificate Queue

GET

/health/queue/functions

Get Functions Queue

GET

/health/queue/logs

Get Logs Queue

GET

/health/queue/tasks

Get Tasks Queue

GET

/health/queue/usage

Get Usage Queue

GET

/health/queue/webhooks

Get Webhooks Queue

GET

/health/storage/local

Get Local Storage

GET

/health/time

Get Time

GET

/locale

Get User Locale

GET

/locale/continents

List Continents

GET

/locale/countries

List Countries

GET

/locale/countries/eu

List EU Countries

GET

/locale/countries/phones

List Countries Phone Codes

GET

/locale/currencies

List Currencies

GET

/locale/languages

List Languages

GET

/storage/files

List Files

  • search (query) — Search term to filter your list results. Max length: 256 chars.
  • limit (query, limit) — Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.
  • offset (query, offset) — Results offset. The default value is 0. Use this param to manage pagination.
  • orderType (query) — Order result by ASC or DESC order.
POST

/storage/files

Create File

DELETE

/storage/files/{fileId}

Delete File

  • fileId (path, required) — File unique ID.
GET

/storage/files/{fileId}

Get File

  • fileId (path, required) — File unique ID.
PUT

/storage/files/{fileId}

Update File

  • fileId (path, required) — File unique ID.
GET

/storage/files/{fileId}/download

Get File for Download

  • fileId (path, required) — File unique ID.
PATCH

/users/{userId}/status

Update User Status

  • userId (path, required) — User unique ID.
PATCH

/users/{userId}/verification

Update Email Verification

  • userId (path, required) — User unique ID.
GET

/storage/files/{fileId}/preview

Get File Preview

  • fileId (path, required) — File unique ID
  • width (query) — Resize preview image width, Pass an integer between 0 to 4000.
  • height (query) — Resize preview image height, Pass an integer between 0 to 4000.
  • gravity (query) — Image crop gravity. Can be one of center,top-left,top,top-right,left,right,bottom-left,bottom,bottom-right
  • quality (query) — Preview image quality. Pass an integer between 0 to 100. Defaults to 100.
  • borderWidth (query) — Preview image border in pixels. Pass an integer between 0 to 100. Defaults to 0.
  • borderColor (query) — Preview image border color. Use a valid HEX color, no # is needed for prefix.
  • borderRadius (query) — Preview image border radius in pixels. Pass an integer between 0 to 4000.
  • opacity (query) — Preview image opacity. Only works with images having an alpha channel (like png). Pass a number between 0 to 1.
  • rotation (query) — Preview image rotation in degrees. Pass an integer between 0 and 360.
  • background (query) — Preview image background color. Only works with transparent images (png). Use a valid HEX color, no # is needed for prefix.
  • output (query) — Output format type (jpeg, jpg, png, gif and webp).
GET

/storage/files/{fileId}/view

Get File for View

  • fileId (path, required) — File unique ID.
GET

/teams

List Teams

  • search (query) — Search term to filter your list results. Max length: 256 chars.
  • limit (query, limit) — Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.
  • offset (query, offset) — Results offset. The default value is 0. Use this param to manage pagination.
  • orderType (query) — Order result by ASC or DESC order.
POST

/teams

Create Team

DELETE

/teams/{teamId}

Delete Team

  • teamId (path, required) — Team unique ID.
GET

/teams/{teamId}

Get Team

  • teamId (path, required) — Team unique ID.
PUT

/teams/{teamId}

Update Team

  • teamId (path, required) — Team unique ID.
GET

/teams/{teamId}/memberships

Get Team Memberships

  • teamId (path, required) — Team unique ID.
  • search (query) — Search term to filter your list results. Max length: 256 chars.
  • limit (query, limit) — Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.
  • offset (query, offset) — Results offset. The default value is 0. Use this param to manage pagination.
  • orderType (query) — Order result by ASC or DESC order.
POST

/teams/{teamId}/memberships

Create Team Membership

  • teamId (path, required) — Team unique ID.
DELETE

/teams/{teamId}/memberships/{membershipId}

Delete Team Membership

  • teamId (path, required) — Team unique ID.
  • membershipId (path, required) — Membership ID.
PATCH

/teams/{teamId}/memberships/{membershipId}

Update Membership Roles

  • teamId (path, required) — Team unique ID.
  • membershipId (path, required) — Membership ID.
PATCH

/teams/{teamId}/memberships/{membershipId}/status

Update Team Membership Status

  • teamId (path, required) — Team unique ID.
  • membershipId (path, required) — Membership ID.
GET

/users

List Users

  • search (query) — Search term to filter your list results. Max length: 256 chars.
  • limit (query, limit) — Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.
  • offset (query, offset) — Results offset. The default value is 0. Use this param to manage pagination.
  • orderType (query) — Order result by ASC or DESC order.
POST

/users

Create User

DELETE

/users/{userId}

Delete User

  • userId (path, required) — User unique ID.
GET

/users/{userId}

Get User

  • userId (path, required) — User unique ID.
GET

/users/{userId}/logs

Get User Logs

  • userId (path, required) — User unique ID.
GET

/users/{userId}/prefs

Get User Preferences

  • userId (path, required) — User unique ID.

95 endpoints auto-detected

Authentication

This API uses an API key, passed in the "X-Appwrite-JWT" header. No OAuth required.

curl -X GET \
  "https://appwrite.io/v1/account/prefs" \
  -H "X-Appwrite-JWT: YOUR_API_KEY"

appwrite.io · HTTPS only