openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 143 kB
JSON
{"openapi":"3.0.0","servers":[{"url":"https://appwrite.io/v1"}],"info":{"contact":{"email":"team@appwrite.io","name":"Appwrite Team","url":"https://appwrite.io/support"},"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](https://appwrite.io/docs)","license":{"name":"BSD-3-Clause","url":"https://raw.githubusercontent.com/appwrite/appwrite/master/LICENSE"},"termsOfService":"https://appwrite.io/policy/terms","title":"Appwrite","version":"0.9.3","x-apisguru-categories":["developer_tools"],"x-logo":{"url":"/images/apple.png"},"x-origin":[{"format":"openapi","url":"https://appwrite.io/specs/open-api3?platform=server","version":"3.0"}],"x-providerName":"appwrite.io","x-serviceName":"server"},"externalDocs":{"description":"Full API docs, specs and tutorials","url":"https://appwrite.io/docs"},"tags":[{"description":"The Account service allows you to authenticate and manage a user account.","name":"account"},{"description":"The Avatars service aims to help you complete everyday tasks related to your app image, icons, and avatars.","name":"avatars"},{"description":"The Database service allows you to create structured collections of documents, query and filter lists of documents","name":"database"},{"description":"The Locale service allows you to customize your app based on your users' location.","name":"locale"},{"description":"The Health service allows you to both validate and monitor your Appwrite server's health.","name":"health"},{"description":"The Project service allows you to manage all the projects in your Appwrite server.","name":"projects"},{"description":"The Storage service allows you to manage your project files.","name":"storage"},{"description":"The Teams service allows you to group users of your project and to enable them to share read and write access to your project resources","name":"teams"},{"description":"The Users service allows you to manage your project users.","name":"users"},{"description":"The Functions Service allows you view, create and manage your Cloud Functions.","name":"functions"}],"paths":{"/account":{"delete":{"description":"Delete a currently logged in user account. Behind the scene, the user record is not deleted but permanently blocked from any access. This is done to avoid deleted accounts being overtaken by new users with the same email address. Any user-related resources like documents or storage files should be deleted separately.","operationId":"accountDelete","responses":{"204":{"description":"No content"}},"security":[{"JWT":[],"Project":[]}],"summary":"Delete Account","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/delete.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/delete.md","method":"delete","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"account","type":"","weight":53}},"get":{"description":"Get currently logged in user data as JSON object.","operationId":"accountGet","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/user"}}},"description":"User"}},"security":[{"JWT":[],"Project":[]}],"summary":"Get Account","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/get.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/get.md","method":"get","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"account","type":"","weight":44}}},"/account/email":{"patch":{"description":"Update currently logged in user account email address. After changing user address, user confirmation status is being reset and a new confirmation mail is sent. For security measures, user password is required to complete this request.\nThis endpoint can also be used to convert an anonymous account to a normal one, by passing an email address and a new password.","operationId":"accountUpdateEmail","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"User email.","type":"string","x-example":null},"password":{"description":"User password. Must be between 6 to 32 chars.","type":"string","x-example":null}},"required":["email","password"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/user"}}},"description":"User"}},"security":[{"JWT":[],"Project":[]}],"summary":"Update Account Email","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/update-email.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/update-email.md","method":"updateEmail","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"account","type":"","weight":51}}},"/account/logs":{"get":{"description":"Get currently logged in user list of latest security activity logs. Each log returns user IP address, location and date and time of log.","operationId":"accountGetLogs","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/logList"}}},"description":"Logs List"}},"security":[{"JWT":[],"Project":[]}],"summary":"Get Account Logs","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/get-logs.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/get-logs.md","method":"getLogs","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"account","type":"","weight":47}}},"/account/name":{"patch":{"description":"Update currently logged in user account name.","operationId":"accountUpdateName","requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"description":"User name. Max length: 128 chars.","type":"string","x-example":null}},"required":["name"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/user"}}},"description":"User"}},"security":[{"JWT":[],"Project":[]}],"summary":"Update Account Name","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/update-name.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/update-name.md","method":"updateName","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"account","type":"","weight":49}}},"/account/password":{"patch":{"description":"Update currently logged in user password. For validation, user is required to pass in the new password, and the old password. For users created with OAuth and Team Invites, oldPassword is optional.","operationId":"accountUpdatePassword","requestBody":{"content":{"application/json":{"schema":{"properties":{"oldPassword":{"description":"Old user password. Must be between 6 to 32 chars.","type":"string","x-example":null},"password":{"description":"New user password. Must be between 6 to 32 chars.","type":"string","x-example":null}},"required":["password"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/user"}}},"description":"User"}},"security":[{"JWT":[],"Project":[]}],"summary":"Update Account Password","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/update-password.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/update-password.md","method":"updatePassword","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"account","type":"","weight":50}}},"/account/prefs":{"get":{"description":"Get currently logged in user preferences as a key-value object.","operationId":"accountGetPrefs","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/preferences"}}},"description":"Preferences"}},"security":[{"JWT":[],"Project":[]}],"summary":"Get Account Preferences","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/get-prefs.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/get-prefs.md","method":"getPrefs","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"account","type":"","weight":45}},"patch":{"description":"Update currently logged in user account preferences. You can pass only the specific settings you wish to update.","operationId":"accountUpdatePrefs","requestBody":{"content":{"application/json":{"schema":{"properties":{"prefs":{"description":"Prefs key-value JSON object.","type":"object","x-example":null}},"required":["prefs"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/user"}}},"description":"User"}},"security":[{"JWT":[],"Project":[]}],"summary":"Update Account Preferences","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/update-prefs.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/update-prefs.md","method":"updatePrefs","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"account","type":"","weight":52}}},"/account/recovery":{"post":{"description":"Sends the user an email with a temporary secret key for password reset. When the user clicks the confirmation link he is redirected back to your app password reset URL with the secret key and email address values attached to the URL query string. Use the query string params to submit a request to the [PUT /account/recovery](/docs/client/account#accountUpdateRecovery) endpoint to complete the process. The verification link sent to the user's email address is valid for 1 hour.","operationId":"accountCreateRecovery","requestBody":{"content":{"application/json":{"schema":{"properties":{"email":{"description":"User email.","type":"string","x-example":null},"url":{"description":"URL to redirect the user back to your app from the recovery email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.","type":"string","x-example":null}},"required":["email","url"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/token"}}},"description":"Token"}},"security":[{"JWT":[],"Project":[]}],"summary":"Create Password Recovery","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/create-recovery.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/create-recovery.md","method":"createRecovery","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},email:{param-email}","rate-limit":10,"rate-time":3600,"scope":"public","type":"","weight":56}},"put":{"description":"Use this endpoint to complete the user account password reset. Both the **userId** and **secret** arguments will be passed as query parameters to the redirect URL you have provided when sending your request to the [POST /account/recovery](/docs/client/account#accountCreateRecovery) endpoint.\n\nPlease note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md) the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.","operationId":"accountUpdateRecovery","requestBody":{"content":{"application/json":{"schema":{"properties":{"password":{"description":"New password. Must be between 6 to 32 chars.","type":"string","x-example":null},"passwordAgain":{"description":"New password again. Must be between 6 to 32 chars.","type":"string","x-example":null},"secret":{"description":"Valid reset token.","type":"string","x-example":null},"userId":{"description":"User account UID address.","type":"string","x-example":null}},"required":["userId","secret","password","passwordAgain"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/token"}}},"description":"Token"}},"security":[{"JWT":[],"Project":[]}],"summary":"Complete Password Recovery","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/update-recovery.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/update-recovery.md","method":"updateRecovery","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},userId:{param-userId}","rate-limit":10,"rate-time":3600,"scope":"public","type":"","weight":57}}},"/account/sessions":{"delete":{"description":"Delete all sessions from the user account and remove any sessions cookies from the end client.","operationId":"accountDeleteSessions","responses":{"204":{"description":"No content"}},"security":[{"JWT":[],"Project":[]}],"summary":"Delete All Account Sessions","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/delete-sessions.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/delete-sessions.md","method":"deleteSessions","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":100,"rate-time":3600,"scope":"account","type":"","weight":55}},"get":{"description":"Get currently logged in user list of active sessions across different devices.","operationId":"accountGetSessions","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/sessionList"}}},"description":"Sessions List"}},"security":[{"JWT":[],"Project":[]}],"summary":"Get Account Sessions","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/get-sessions.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/get-sessions.md","method":"getSessions","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"account","type":"","weight":46}}},"/account/sessions/{sessionId}":{"delete":{"description":"Use this endpoint to log out the currently logged in user from all their account sessions across all of their different devices. When using the option id argument, only the session unique ID provider will be deleted.","operationId":"accountDeleteSession","parameters":[{"description":"Session unique ID. Use the string 'current' to delete the current device session.","in":"path","name":"sessionId","required":true,"schema":{"type":"string","x-example":"[SESSION_ID]"}}],"responses":{"204":{"description":"No content"}},"security":[{"JWT":[],"Project":[]}],"summary":"Delete Account Session","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/delete-session.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/delete-session.md","method":"deleteSession","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":100,"rate-time":3600,"scope":"account","type":"","weight":54}},"get":{"description":"Use this endpoint to get a logged in user's session using a Session ID. Inputting 'current' will return the current session being used.","operationId":"accountGetSession","parameters":[{"description":"Session unique ID. Use the string 'current' to get the current device session.","in":"path","name":"sessionId","required":true,"schema":{"type":"string","x-example":"[SESSION_ID]"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/session"}}},"description":"Session"}},"security":[{"JWT":[],"Project":[]}],"summary":"Get Session By ID","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/get-session.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/get-session.md","method":"getSession","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"account","type":"","weight":48}}},"/account/verification":{"post":{"description":"Use this endpoint to send a verification message to your user email address to confirm they are the valid owners of that address. Both the **userId** and **secret** arguments will be passed as query parameters to the URL you have provided to be attached to the verification email. The provided URL should redirect the user back to your app and allow you to complete the verification process by verifying both the **userId** and **secret** parameters. Learn more about how to [complete the verification process](/docs/client/account#accountUpdateVerification). The verification link sent to the user's email address is valid for 7 days.\n\nPlease note that in order to avoid a [Redirect Attack](https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.md), the only valid redirect URLs are the ones from domains you have set when adding your platforms in the console interface.\n","operationId":"accountCreateVerification","requestBody":{"content":{"application/json":{"schema":{"properties":{"url":{"description":"URL to redirect the user back to your app from the verification email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.","type":"string","x-example":null}},"required":["url"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/token"}}},"description":"Token"}},"security":[{"JWT":[],"Project":[]}],"summary":"Create Email Verification","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/create-verification.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/create-verification.md","method":"createVerification","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},userId:{userId}","rate-limit":10,"rate-time":3600,"scope":"account","type":"","weight":58}},"put":{"description":"Use this endpoint to complete the user email verification process. Use both the **userId** and **secret** parameters that were attached to your app URL to verify the user email ownership. If confirmed this route will return a 200 status code.","operationId":"accountUpdateVerification","requestBody":{"content":{"application/json":{"schema":{"properties":{"secret":{"description":"Valid verification token.","type":"string","x-example":null},"userId":{"description":"User unique ID.","type":"string","x-example":null}},"required":["userId","secret"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/token"}}},"description":"Token"}},"security":[{"JWT":[],"Project":[]}],"summary":"Complete Email Verification","tags":["account"],"x-appwrite":{"auth":{"JWT":[],"Project":[]},"cookies":false,"demo":"account/update-verification.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/account/update-verification.md","method":"updateVerification","packaging":false,"platforms":["client","server"],"rate-key":"url:{url},userId:{param-userId}","rate-limit":10,"rate-time":3600,"scope":"public","type":"","weight":59}}},"/avatars/browsers/{code}":{"get":{"description":"You can use this endpoint to show different browser icons to your users. The code argument receives the browser code as it appears in your user /account/sessions endpoint. Use width, height and quality arguments to change the output settings.","operationId":"avatarsGetBrowser","parameters":[{"description":"Browser Code.","in":"path","name":"code","required":true,"schema":{"type":"string","x-example":"aa"}},{"description":"Image width. Pass an integer between 0 to 2000. Defaults to 100.","in":"query","name":"width","required":false,"schema":{"default":100,"format":"int32","type":"integer","x-example":0}},{"description":"Image height. Pass an integer between 0 to 2000. Defaults to 100.","in":"query","name":"height","required":false,"schema":{"default":100,"format":"int32","type":"integer","x-example":0}},{"description":"Image quality. Pass an integer between 0 to 100. Defaults to 100.","in":"query","name":"quality","required":false,"schema":{"default":100,"format":"int32","type":"integer","x-example":0}}],"responses":{"200":{"description":"Image"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"Get Browser Icon","tags":["avatars"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"avatars/get-browser.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/avatars/get-browser.md","method":"getBrowser","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"avatars.read","type":"location","weight":61}}},"/avatars/credit-cards/{code}":{"get":{"description":"The credit card endpoint will return you the icon of the credit card provider you need. Use width, height and quality arguments to change the output settings.","operationId":"avatarsGetCreditCard","parameters":[{"description":"Credit Card Code. Possible values: amex, argencard, cabal, censosud, diners, discover, elo, hipercard, jcb, mastercard, naranja, targeta-shopping, union-china-pay, visa, mir, maestro.","in":"path","name":"code","required":true,"schema":{"type":"string","x-example":"amex"}},{"description":"Image width. Pass an integer between 0 to 2000. Defaults to 100.","in":"query","name":"width","required":false,"schema":{"default":100,"format":"int32","type":"integer","x-example":0}},{"description":"Image height. Pass an integer between 0 to 2000. Defaults to 100.","in":"query","name":"height","required":false,"schema":{"default":100,"format":"int32","type":"integer","x-example":0}},{"description":"Image quality. Pass an integer between 0 to 100. Defaults to 100.","in":"query","name":"quality","required":false,"schema":{"default":100,"format":"int32","type":"integer","x-example":0}}],"responses":{"200":{"description":"Image"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"Get Credit Card Icon","tags":["avatars"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"avatars/get-credit-card.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/avatars/get-credit-card.md","method":"getCreditCard","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"avatars.read","type":"location","weight":60}}},"/avatars/favicon":{"get":{"description":"Use this endpoint to fetch the favorite icon (AKA favicon) of any remote website URL.\n","operationId":"avatarsGetFavicon","parameters":[{"description":"Website URL which you want to fetch the favicon from.","in":"query","name":"url","required":true,"schema":{"format":"url","type":"string","x-example":"https://example.com"}}],"responses":{"200":{"description":"Image"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"Get Favicon","tags":["avatars"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"avatars/get-favicon.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/avatars/get-favicon.md","method":"getFavicon","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"avatars.read","type":"location","weight":64}}},"/avatars/flags/{code}":{"get":{"description":"You can use this endpoint to show different country flags icons to your users. The code argument receives the 2 letter country code. Use width, height and quality arguments to change the output settings.","operationId":"avatarsGetFlag","parameters":[{"description":"Country Code. ISO Alpha-2 country code format.","in":"path","name":"code","required":true,"schema":{"type":"string","x-example":"af"}},{"description":"Image width. Pass an integer between 0 to 2000. Defaults to 100.","in":"query","name":"width","required":false,"schema":{"default":100,"format":"int32","type":"integer","x-example":0}},{"description":"Image height. Pass an integer between 0 to 2000. Defaults to 100.","in":"query","name":"height","required":false,"schema":{"default":100,"format":"int32","type":"integer","x-example":0}},{"description":"Image quality. Pass an integer between 0 to 100. Defaults to 100.","in":"query","name":"quality","required":false,"schema":{"default":100,"format":"int32","type":"integer","x-example":0}}],"responses":{"200":{"description":"Image"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"Get Country Flag","tags":["avatars"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"avatars/get-flag.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/avatars/get-flag.md","method":"getFlag","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"avatars.read","type":"location","weight":62}}},"/avatars/image":{"get":{"description":"Use this endpoint to fetch a remote image URL and crop it to any image size you want. This endpoint is very useful if you need to crop and display remote images in your app or in case you want to make sure a 3rd party image is properly served using a TLS protocol.","operationId":"avatarsGetImage","parameters":[{"description":"Image URL which you want to crop.","in":"query","name":"url","required":true,"schema":{"format":"url","type":"string","x-example":"https://example.com"}},{"description":"Resize preview image width, Pass an integer between 0 to 2000.","in":"query","name":"width","required":false,"schema":{"default":400,"format":"int32","type":"integer","x-example":0}},{"description":"Resize preview image height, Pass an integer between 0 to 2000.","in":"query","name":"height","required":false,"schema":{"default":400,"format":"int32","type":"integer","x-example":0}}],"responses":{"200":{"description":"Image"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"Get Image from URL","tags":["avatars"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"avatars/get-image.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/avatars/get-image.md","method":"getImage","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"avatars.read","type":"location","weight":63}}},"/avatars/initials":{"get":{"description":"Use this endpoint to show your user initials avatar icon on your website or app. By default, this route will try to print your logged-in user name or email initials. You can also overwrite the user name if you pass the 'name' parameter. If no name is given and no user is logged, an empty avatar will be returned.\n\nYou can use the color and background params to change the avatar colors. By default, a random theme will be selected. The random theme will persist for the user's initials when reloading the same theme will always return for the same initials.","operationId":"avatarsGetInitials","parameters":[{"description":"Full Name. When empty, current user name or email will be used. Max length: 128 chars.","in":"query","name":"name","required":false,"schema":{"default":"","type":"string","x-example":"[NAME]"}},{"description":"Image width. Pass an integer between 0 to 2000. Defaults to 100.","in":"query","name":"width","required":false,"schema":{"default":500,"format":"int32","type":"integer","x-example":0}},{"description":"Image height. Pass an integer between 0 to 2000. Defaults to 100.","in":"query","name":"height","required":false,"schema":{"default":500,"format":"int32","type":"integer","x-example":0}},{"description":"Changes text color. By default a random color will be picked and stay will persistent to the given name.","in":"query","name":"color","required":false,"schema":{"default":"","type":"string"}},{"description":"Changes background color. By default a random color will be picked and stay will persistent to the given name.","in":"query","name":"background","required":false,"schema":{"default":"","type":"string"}}],"responses":{"200":{"description":"Image"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"Get User Initials","tags":["avatars"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"avatars/get-initials.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/avatars/get-initials.md","method":"getInitials","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"avatars.read","type":"location","weight":66}}},"/avatars/qr":{"get":{"description":"Converts a given plain text to a QR code image. You can use the query parameters to change the size and style of the resulting image.","operationId":"avatarsGetQR","parameters":[{"description":"Plain text to be converted to QR code image.","in":"query","name":"text","required":true,"schema":{"type":"string","x-example":"[TEXT]"}},{"description":"QR code size. Pass an integer between 0 to 1000. Defaults to 400.","in":"query","name":"size","required":false,"schema":{"default":400,"format":"int32","type":"integer","x-example":0}},{"description":"Margin from edge. Pass an integer between 0 to 10. Defaults to 1.","in":"query","name":"margin","required":false,"schema":{"default":1,"format":"int32","type":"integer","x-example":0}},{"description":"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.","in":"query","name":"download","required":false,"schema":{"default":false,"type":"boolean","x-example":false}}],"responses":{"200":{"description":"Image"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"Get QR Code","tags":["avatars"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"avatars/get-q-r.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/avatars/get-qr.md","method":"getQR","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"avatars.read","type":"location","weight":65}}},"/database/collections":{"get":{"description":"Get a list of all the user collections. You can use the query params to filter your results. On admin mode, this endpoint will return a list of all of the project's collections. [Learn more about different API modes](/docs/admin).","operationId":"databaseListCollections","parameters":[{"description":"Search term to filter your list results. Max length: 256 chars.","in":"query","name":"search","required":false,"schema":{"default":"","type":"string","x-example":"[SEARCH]"}},{"description":"Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.","in":"query","name":"limit","required":false,"schema":{"default":25,"format":"int32","type":"integer","x-example":0}},{"description":"Results offset. The default value is 0. Use this param to manage pagination.","in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer","x-example":0}},{"description":"Order result by ASC or DESC order.","in":"query","name":"orderType","required":false,"schema":{"default":"ASC","type":"string","x-example":"ASC"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/collectionList"}}},"description":"Collections List"}},"security":[{"Key":[],"Project":[]}],"summary":"List Collections","tags":["database"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"database/list-collections.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/database/list-collections.md","method":"listCollections","packaging":false,"platforms":["server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"collections.read","type":"","weight":68}},"post":{"description":"Create a new Collection.","operationId":"databaseCreateCollection","requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"description":"Collection name. Max length: 128 chars.","type":"string","x-example":null},"read":{"description":"An array of strings with read permissions. By default no user is granted with any read permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.","items":{"type":"string"},"type":"array","x-example":null},"rules":{"description":"Array of [rule objects](/docs/rules). Each rule define a collection field name, data type and validation.","items":{"type":"string"},"type":"array","x-example":null},"write":{"description":"An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.","items":{"type":"string"},"type":"array","x-example":null}},"required":["name","read","write","rules"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/collection"}}},"description":"Collection"}},"security":[{"Key":[],"Project":[]}],"summary":"Create Collection","tags":["database"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"database/create-collection.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/database/create-collection.md","method":"createCollection","packaging":false,"platforms":["server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"collections.write","type":"","weight":67}}},"/database/collections/{collectionId}":{"delete":{"description":"Delete a collection by its unique ID. Only users with write permissions have access to delete this resource.","operationId":"databaseDeleteCollection","parameters":[{"description":"Collection unique ID.","in":"path","name":"collectionId","required":true,"schema":{"type":"string","x-example":"[COLLECTION_ID]"}}],"responses":{"204":{"description":"No content"}},"security":[{"Key":[],"Project":[]}],"summary":"Delete Collection","tags":["database"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"database/delete-collection.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/database/delete-collection.md","method":"deleteCollection","packaging":false,"platforms":["server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"collections.write","type":"","weight":71}},"get":{"description":"Get a collection by its unique ID. This endpoint response returns a JSON object with the collection metadata.","operationId":"databaseGetCollection","parameters":[{"description":"Collection unique ID.","in":"path","name":"collectionId","required":true,"schema":{"type":"string","x-example":"[COLLECTION_ID]"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/collection"}}},"description":"Collection"}},"security":[{"Key":[],"Project":[]}],"summary":"Get Collection","tags":["database"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"database/get-collection.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/database/get-collection.md","method":"getCollection","packaging":false,"platforms":["server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"collections.read","type":"","weight":69}},"put":{"description":"Update a collection by its unique ID.","operationId":"databaseUpdateCollection","parameters":[{"description":"Collection unique ID.","in":"path","name":"collectionId","required":true,"schema":{"type":"string","x-example":"[COLLECTION_ID]"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"name":{"description":"Collection name. Max length: 128 chars.","type":"string","x-example":null},"read":{"description":"An array of strings with read permissions. By default inherits the existing read permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.","items":{"type":"string"},"type":"array","x-example":null},"rules":{"description":"Array of [rule objects](/docs/rules). Each rule define a collection field name, data type and validation.","items":{"type":"string"},"type":"array","x-example":null},"write":{"description":"An array of strings with write permissions. By default inherits the existing write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.","items":{"type":"string"},"type":"array","x-example":null}},"required":["name"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/collection"}}},"description":"Collection"}},"security":[{"Key":[],"Project":[]}],"summary":"Update Collection","tags":["database"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"database/update-collection.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/database/update-collection.md","method":"updateCollection","packaging":false,"platforms":["server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"collections.write","type":"","weight":70}}},"/database/collections/{collectionId}/documents":{"get":{"description":"Get a list of all the user documents. You can use the query params to filter your results. On admin mode, this endpoint will return a list of all of the project's documents. [Learn more about different API modes](/docs/admin).","operationId":"databaseListDocuments","parameters":[{"description":"Collection unique ID. You can create a new collection with validation rules using the Database service [server integration](/docs/server/database#createCollection).","in":"path","name":"collectionId","required":true,"schema":{"type":"string","x-example":"[COLLECTION_ID]"}},{"description":"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'.","in":"query","name":"filters","required":false,"schema":{"default":[],"items":{"type":"string"},"type":"array"}},{"description":"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.","in":"query","name":"limit","required":false,"schema":{"default":25,"format":"int32","type":"integer","x-example":0}},{"description":"Offset value. The default value is 0. Use this param to manage pagination.","in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer","x-example":0}},{"description":"Document field that results will be sorted by.","in":"query","name":"orderField","required":false,"schema":{"default":"","type":"string","x-example":"[ORDER_FIELD]"}},{"description":"Order direction. Possible values are DESC for descending order, or ASC for ascending order.","in":"query","name":"orderType","required":false,"schema":{"default":"ASC","type":"string","x-example":"DESC"}},{"description":"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.","in":"query","name":"orderCast","required":false,"schema":{"default":"string","type":"string","x-example":"int"}},{"description":"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.","in":"query","name":"search","required":false,"schema":{"default":"","type":"string","x-example":"[SEARCH]"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/documentList"}}},"description":"Documents List"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"List Documents","tags":["database"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"database/list-documents.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/database/list-documents.md","method":"listDocuments","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"documents.read","type":"","weight":73}},"post":{"description":"Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](/docs/server/database#databaseCreateCollection) API or directly from your database console.","operationId":"databaseCreateDocument","parameters":[{"description":"Collection unique ID. You can create a new collection with validation rules using the Database service [server integration](/docs/server/database#createCollection).","in":"path","name":"collectionId","required":true,"schema":{"type":"string","x-example":"[COLLECTION_ID]"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"data":{"description":"Document data as JSON object.","type":"object","x-example":null},"parentDocument":{"description":"Parent document unique ID. Use when you want your new document to be a child of a parent document.","type":"string","x-example":null},"parentProperty":{"description":"Parent document property name. Use when you want your new document to be a child of a parent document.","type":"string","x-example":null},"parentPropertyType":{"description":"Parent document property connection type. You can set this value to **assign**, **append** or **prepend**, default value is assign. Use when you want your new document to be a child of a parent document.","type":"string","x-example":null},"read":{"description":"An array of strings with read permissions. By default only the current user is granted with read permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.","items":{"type":"string"},"type":"array","x-example":null},"write":{"description":"An array of strings with write permissions. By default only the current user is granted with write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.","items":{"type":"string"},"type":"array","x-example":null}},"required":["data"],"type":"object"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/document"}}},"description":"Document"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"Create Document","tags":["database"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"database/create-document.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/database/create-document.md","method":"createDocument","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"documents.write","type":"","weight":72}}},"/database/collections/{collectionId}/documents/{documentId}":{"delete":{"description":"Delete a document by its unique ID. This endpoint deletes only the parent documents, its attributes and relations to other documents. Child documents **will not** be deleted.","operationId":"databaseDeleteDocument","parameters":[{"description":"Collection unique ID. You can create a new collection with validation rules using the Database service [server integration](/docs/server/database#createCollection).","in":"path","name":"collectionId","required":true,"schema":{"type":"string","x-example":"[COLLECTION_ID]"}},{"description":"Document unique ID.","in":"path","name":"documentId","required":true,"schema":{"type":"string","x-example":"[DOCUMENT_ID]"}}],"responses":{"204":{"description":"No content"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"Delete Document","tags":["database"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"database/delete-document.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/database/delete-document.md","method":"deleteDocument","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"documents.write","type":"","weight":76}},"get":{"description":"Get a document by its unique ID. This endpoint response returns a JSON object with the document data.","operationId":"databaseGetDocument","parameters":[{"description":"Collection unique ID. You can create a new collection with validation rules using the Database service [server integration](/docs/server/database#createCollection).","in":"path","name":"collectionId","required":true,"schema":{"type":"string","x-example":"[COLLECTION_ID]"}},{"description":"Document unique ID.","in":"path","name":"documentId","required":true,"schema":{"type":"string","x-example":"[DOCUMENT_ID]"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/document"}}},"description":"Document"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"Get Document","tags":["database"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"database/get-document.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/database/get-document.md","method":"getDocument","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"documents.read","type":"","weight":74}},"patch":{"description":"Update a document by its unique ID. Using the patch method you can pass only specific fields that will get updated.","operationId":"databaseUpdateDocument","parameters":[{"description":"Collection unique ID. You can create a new collection with validation rules using the Database service [server integration](/docs/server/database#createCollection).","in":"path","name":"collectionId","required":true,"schema":{"type":"string","x-example":"[COLLECTION_ID]"}},{"description":"Document unique ID.","in":"path","name":"documentId","required":true,"schema":{"type":"string","x-example":"[DOCUMENT_ID]"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"data":{"description":"Document data as JSON object.","type":"object","x-example":null},"read":{"description":"An array of strings with read permissions. By default inherits the existing read permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.","items":{"type":"string"},"type":"array","x-example":null},"write":{"description":"An array of strings with write permissions. By default inherits the existing write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.","items":{"type":"string"},"type":"array","x-example":null}},"required":["data"],"type":"object"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/document"}}},"description":"Document"}},"security":[{"JWT":[],"Key":[],"Project":[]}],"summary":"Update Document","tags":["database"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"database/update-document.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/database/update-document.md","method":"updateDocument","packaging":false,"platforms":["client","server","server"],"rate-key":"url:{url},ip:{ip}","rate-limit":0,"rate-time":3600,"scope":"documents.write","type":"","weight":75}}},"/functions":{"get":{"description":"Get a list of all the project's functions. You can use the query params to filter your results.","operationId":"functionsList","parameters":[{"description":"Search term to filter your list results. Max length: 256 chars.","in":"query","name":"search","required":false,"schema":{"default":"","type":"string","x-example":"[SEARCH]"}},{"description":"Results limit value. By default will return maximum 25 results. Maximum of 100 results allowed per request.","in":"query","name":"limit","required":false,"schema":{"default":25,"format":"int32","type":"integer","x-example":0}},{"description":"Results offset. The default value is 0. Use this param to manage pagination.","in":"query","name":"offset","required":false,"schema":{"default":0,"format":"int32","type":"integer","x-example":0}},{"description":"Order result by ASC or DESC order.","in":"query","name":"orderType","required":false,"schema":{"default":"ASC","type":"string","x-example":"ASC"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/functionList"}}},"description":"Functions List"}},"security":[{"Key":[],"Project":[]}],"summary":"List Functions","tags":["functions"],"x-appwrite":{"auth":{"Key":[],"Project":[]},"cookies":false,"demo":"functions/list.md","edit":"https://github.com/appwrite/appwrite/edit/master/docs/references/functions/list-functions.md","method":"list","packaging