# Appwrite API

> Appwrite API on Apizie: 61 endpoints (Get Account, Create Account, Delete Account, Update Account Email, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/dev-tools:appwrite-client/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `dev-tools:appwrite-client`
- Category: Dev Tools
- Status: byok
- Source: https://appwrite.io/support
- Page: https://zieapi.vercel.app/api/dev-tools/appwrite-client
- OpenAPI: https://zieapi.vercel.app/api/dev-tools/appwrite-client/openapi.json

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…

## Endpoints

### Get Account
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-get` (byok)

### Create Account
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Delete Account
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-delete` (byok)

### Update Account Email
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-update-email` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Create Account JWT
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-create-jwt` (byok)

### Get Account Logs
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-get-logs` (byok)

### Update Account Name
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-update-name` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Update Account Password
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-update-password` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get Account Preferences
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-get-prefs` (byok)

### Update Account Preferences
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-update-prefs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Create Password Recovery
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-create-recovery` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Complete Password Recovery
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-update-recovery` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get Account Sessions
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-get-sessions` (byok)

### Create Account Session
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-create-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Delete All Account Sessions
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-delete-sessions` (byok)

### Create Anonymous Session
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-create-anonymous-session` (byok)

### Create Account Session with OAuth2
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-create-oauth2-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| provider | string | yes | OAuth2 Provider. Currently, supported providers are: amazon, apple, bitbucket, bitly, box, discord, dropbox, facebook, github, gitlab,… |
| success | string | no | URL to redirect back to your app after a successful login attempt. Only URLs from hostnames in your project platform list are allowed.… |
| failure | string | no | URL to redirect back to your app after a failed login attempt. Only URLs from hostnames in your project platform list are allowed. This… |
| scopes | array | no | A list of custom OAuth2 scopes. Check each provider internal docs for a list of supported scopes. |

### Get Session By ID
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-get-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| sessionId | string | yes | Session unique ID. Use the string 'current' to get the current device session. |

### Delete Account Session
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-delete-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| sessionId | string | yes | Session unique ID. Use the string 'current' to delete the current device session. |

### Create Email Verification
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-create-verification` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Complete Email Verification
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-update-verification` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get Browser Icon
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/avatars-get-browser` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | yes | Browser Code. |
| width | integer | no | Image width. Pass an integer between 0 to 2000. Defaults to 100. |
| height | integer | no | Image height. Pass an integer between 0 to 2000. Defaults to 100. |
| quality | integer | no | Image quality. Pass an integer between 0 to 100. Defaults to 100. |

### Get Credit Card Icon
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/avatars-get-credit-card` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | yes | Credit Card Code. Possible values: amex, argencard, cabal, censosud, diners, discover, elo, hipercard, jcb, mastercard, naranja,… |
| width | integer | no | Image width. Pass an integer between 0 to 2000. Defaults to 100. |
| height | integer | no | Image height. Pass an integer between 0 to 2000. Defaults to 100. |
| quality | integer | no | Image quality. Pass an integer between 0 to 100. Defaults to 100. |

### Get Favicon
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/avatars-get-favicon` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | yes | Website URL which you want to fetch the favicon from. |

### Get Country Flag
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/avatars-get-flag` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | yes | Country Code. ISO Alpha-2 country code format. |
| width | integer | no | Image width. Pass an integer between 0 to 2000. Defaults to 100. |
| height | integer | no | Image height. Pass an integer between 0 to 2000. Defaults to 100. |
| quality | integer | no | Image quality. Pass an integer between 0 to 100. Defaults to 100. |

### Get Image from URL
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/avatars-get-image` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | yes | Image URL which you want to crop. |
| width | integer | no | Resize preview image width, Pass an integer between 0 to 2000. |
| height | integer | no | Resize preview image height, Pass an integer between 0 to 2000. |

### Get User Initials
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/avatars-get-initials` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | no | Full Name. When empty, current user name or email will be used. Max length: 128 chars. |
| width | integer | no | Image width. Pass an integer between 0 to 2000. Defaults to 100. |
| height | integer | no | Image height. Pass an integer between 0 to 2000. Defaults to 100. |
| color | string | no | Changes text color. By default a random color will be picked and stay will persistent to the given name. |
| background | string | no | Changes background color. By default a random color will be picked and stay will persistent to the given name. |

### Get QR Code
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/avatars-get-qr` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| text | string | yes | Plain text to be converted to QR code image. |
| size | integer | no | QR code size. Pass an integer between 0 to 1000. Defaults to 400. |
| margin | integer | no | Margin from edge. Pass an integer between 0 to 10. Defaults to 1. |
| download | boolean | no | Return resulting image with 'Content-Disposition: attachment ' headers for the browser to start downloading it. Pass 0 for no header, or 1… |

### List Documents
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/database-list-documents` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| collectionId | string | yes | Collection unique ID. You can create a new collection with validation rules using the Database service [server… |
| filters | array | no | Array of filter strings. Each filter is constructed from a key name, comparison operator (=, !=, >, =) and a value. You can also use a dot… |
| limit | integer | no | Maximum number of documents to return in response. Use this value to manage pagination. By default will return maximum 25 results. Maximum… |
| offset | integer | no | Offset value. The default value is 0. Use this param to manage pagination. |
| orderField | string | no | Document field that results will be sorted by. |
| orderType | string | no | Order direction. Possible values are DESC for descending order, or ASC for ascending order. |
| orderCast | string | no | Order field type casting. Possible values are int, string, date, time or datetime. The database will attempt to cast the order field to… |
| search | string | no | Search query. Enter any free text search. The database will try to find a match against all document attributes and children. Max length:… |

### Create Document
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/database-create-document` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| collectionId | string | yes | Collection unique ID. You can create a new collection with validation rules using the Database service [server… |
| body | object | no | JSON request body |

### Get Document
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/database-get-document` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| collectionId | string | yes | Collection unique ID. You can create a new collection with validation rules using the Database service [server… |
| documentId | string | yes | Document unique ID. |

### Update Document
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/database-update-document` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| collectionId | string | yes | Collection unique ID. You can create a new collection with validation rules using the Database service [server… |
| documentId | string | yes | Document unique ID. |
| body | object | no | JSON request body |

### Delete Document
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/database-delete-document` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| collectionId | string | yes | Collection unique ID. You can create a new collection with validation rules using the Database service [server… |
| documentId | string | yes | Document unique ID. |

### List Executions
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/functions-list-executions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| functionId | string | yes | Function unique ID. |
| search | string | no | Search term to filter your list results. Max length: 256 chars. |
| limit | integer | no | Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request. |
| offset | integer | no | Results offset. The default value is 0. Use this param to manage pagination. |
| orderType | string | no | Order result by ASC or DESC order. |

### Create Execution
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/functions-create-execution` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| functionId | string | yes | Function unique ID. |
| body | object | no | JSON request body |

### Get Execution
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/functions-get-execution` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| functionId | string | yes | Function unique ID. |
| executionId | string | yes | Execution unique ID. |

### Get User Locale
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/locale-get` (byok)

### List Continents
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/locale-get-continents` (byok)

### List Countries
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/locale-get-countries` (byok)

### List EU Countries
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/locale-get-countries-eu` (byok)

### List Countries Phone Codes
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/locale-get-countries-phones` (byok)

### List Currencies
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/locale-get-currencies` (byok)

### List Languages
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/locale-get-languages` (byok)

### List Files
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/storage-list-files` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| search | string | no | Search term to filter your list results. Max length: 256 chars. |
| limit | integer | no | Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request. |
| offset | integer | no | Results offset. The default value is 0. Use this param to manage pagination. |
| orderType | string | no | Order result by ASC or DESC order. |

### Create File
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/storage-create-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | Form fields as a JSON object |

### Get File
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/storage-get-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | File unique ID. |

### Update File
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/storage-update-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | File unique ID. |
| body | object | no | JSON request body |

### Delete File
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/storage-delete-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | File unique ID. |

### Get File for Download
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/storage-get-file-download` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | File unique ID. |

### Get File Preview
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/storage-get-file-preview` (byok)

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

### Get File for View
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/storage-get-file-view` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fileId | string | yes | File unique ID. |

### List Teams
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/teams-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| search | string | no | Search term to filter your list results. Max length: 256 chars. |
| limit | integer | no | Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request. |
| offset | integer | no | Results offset. The default value is 0. Use this param to manage pagination. |
| orderType | string | no | Order result by ASC or DESC order. |

### Create Team
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/teams-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Get Team
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/teams-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | yes | Team unique ID. |

### Update Team
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/teams-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | yes | Team unique ID. |
| body | object | no | JSON request body |

### Delete Team
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/teams-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | yes | Team unique ID. |

### Get Team Memberships
`GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/teams-get-memberships` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | yes | Team unique ID. |
| search | string | no | Search term to filter your list results. Max length: 256 chars. |
| limit | integer | no | Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request. |
| offset | integer | no | Results offset. The default value is 0. Use this param to manage pagination. |
| orderType | string | no | Order result by ASC or DESC order. |

### Create Team Membership
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/teams-create-membership` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | yes | Team unique ID. |
| body | object | no | JSON request body |

### Update Membership Roles
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/teams-update-membership-roles` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | yes | Team unique ID. |
| membershipId | string | yes | Membership ID. |
| body | object | no | JSON request body |

### Delete Team Membership
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/teams-delete-membership` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | yes | Team unique ID. |
| membershipId | string | yes | Membership ID. |

### Update Team Membership Status
`POST https://zieapi.vercel.app/v1/dev-tools:appwrite-client/teams-update-membership-status` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| teamId | string | yes | Team unique ID. |
| membershipId | string | yes | Membership ID. |
| body | object | no | JSON request body |

## Example
```
curl "https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-get" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Appwrite API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/dev-tools:appwrite-client/account-get with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Appwrite API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Appwrite itself also needs your own key from appwrite.io.

### Can AI agents use the Appwrite API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key dev-tools:appwrite-client.

### What is the status of the Appwrite API?
Needs your own provider key (bring your own key)
