diff --git a/README.md b/README.md index b037b5769..302e26237 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ The Appwrite Website has been built with the following frameworks: ## Development -_If this is your first time setting up the repository, please run `pnpm install` inside the repo's directory._ +_If this is your first time setting up the repository, please run `pnpm install` inside the repo's directory and create a `.env` file based on `.env.example`._ To get the repo up and running in your local environment, use the following command: diff --git a/package.json b/package.json index 6e4d33550..0515bab14 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "@appwrite.io/console": "^0.6.4", "@appwrite.io/pink": "~0.26.0", "@appwrite.io/pink-icons": "~0.26.0", - "@appwrite.io/repo": "github:appwrite/appwrite#1.6.x", + "@appwrite.io/repo": "github:appwrite/appwrite#feat-multi-region-docs", "@eslint/compat": "^1.2.7", "@eslint/js": "^9.21.0", "@fingerprintjs/fingerprintjs": "^4.5.1", @@ -70,8 +70,8 @@ "highlight.js": "^11.11.1", "markdown-it": "^14.1.0", "meilisearch": "^0.37.0", - "melt": "^0.28.2", - "motion": "^12.6.3", + "melt": "^0.29.2", + "motion": "^10.18.0", "node-html-parser": "^6.1.13", "openapi-types": "^12.1.3", "oslllo-svg-fixer": "^3.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8664fd9d0..60b48f3ec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,8 +31,8 @@ importers: specifier: ~0.26.0 version: 0.26.0 '@appwrite.io/repo': - specifier: github:appwrite/appwrite#1.6.x - version: https://codeload.github.com/appwrite/appwrite/tar.gz/2c803b262cbf62b499df28ff11d2ca40e16ab909 + specifier: github:appwrite/appwrite#feat-multi-region-docs + version: https://codeload.github.com/appwrite/appwrite/tar.gz/4d81a901cbc48b94a720392a2611da028ea934b9 '@eslint/compat': specifier: ^1.2.7 version: 1.2.7(eslint@9.22.0(jiti@2.4.2)) @@ -136,11 +136,11 @@ importers: specifier: ^0.37.0 version: 0.37.0(encoding@0.1.13) melt: - specifier: ^0.28.2 - version: 0.28.2(@floating-ui/dom@1.6.13)(svelte@5.25.6) + specifier: ^0.29.2 + version: 0.29.2(@floating-ui/dom@1.6.13)(svelte@5.25.6) motion: - specifier: ^12.6.3 - version: 12.6.3 + specifier: ^10.18.0 + version: 10.18.0 node-html-parser: specifier: ^6.1.13 version: 6.1.13 @@ -263,8 +263,8 @@ packages: '@appwrite.io/pink@0.26.0': resolution: {integrity: sha512-iPeGE56pauzxuIXt15ZswjKCErwp3QdF3XOlJZfyYY7J2nirra85JNTL+3lWuFIf8yYWL7NbvCjhf8ig79TgwA==} - '@appwrite.io/repo@https://codeload.github.com/appwrite/appwrite/tar.gz/2c803b262cbf62b499df28ff11d2ca40e16ab909': - resolution: {tarball: https://codeload.github.com/appwrite/appwrite/tar.gz/2c803b262cbf62b499df28ff11d2ca40e16ab909} + '@appwrite.io/repo@https://codeload.github.com/appwrite/appwrite/tar.gz/4d81a901cbc48b94a720392a2611da028ea934b9': + resolution: {tarball: https://codeload.github.com/appwrite/appwrite/tar.gz/4d81a901cbc48b94a720392a2611da028ea934b9} version: 0.0.0 '@babel/runtime@7.26.10': @@ -614,8 +614,8 @@ packages: '@internationalized/date@3.5.0': resolution: {integrity: sha512-nw0Q+oRkizBWMioseI8+2TeUPEyopJVz5YxoYVzR0W1v+2YytiYah7s/ot35F149q/xAg4F1gT/6eTd+tsUpFQ==} - '@internationalized/date@3.7.0': - resolution: {integrity: sha512-VJ5WS3fcVx0bejE/YHfbDKR/yawZgKqn/if+oEeLqNwBtPzVB06olkfcnojTmEMX+gTpH+FlQ69SHNitJ8/erQ==} + '@internationalized/date@3.8.0': + resolution: {integrity: sha512-J51AJ0fEL68hE4CwGPa6E0PO6JDaVLd8aln48xFCSy7CZkZc96dGEGmLs2OEEbBxcsVZtfrqkXJwI2/MSG8yKw==} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -831,6 +831,24 @@ packages: peerDependencies: svelte: ^3.0.0 || ^4.0.0 || ^5.0.0-next.118 + '@motionone/animation@10.18.0': + resolution: {integrity: sha512-9z2p5GFGCm0gBsZbi8rVMOAJCtw1WqBTIPw3ozk06gDvZInBPIsQcHgYogEJ4yuHJ+akuW8g1SEIOpTOvYs8hw==} + + '@motionone/dom@10.18.0': + resolution: {integrity: sha512-bKLP7E0eyO4B2UaHBBN55tnppwRnaE3KFfh3Ps9HhnAkar3Cb69kUCJY9as8LrccVYKgHA+JY5dOQqJLOPhF5A==} + + '@motionone/easing@10.18.0': + resolution: {integrity: sha512-VcjByo7XpdLS4o9T8t99JtgxkdMcNWD3yHU/n6CLEz3bkmKDRZyYQ/wmSf6daum8ZXqfUAgFeCZSpJZIMxaCzg==} + + '@motionone/generators@10.18.0': + resolution: {integrity: sha512-+qfkC2DtkDj4tHPu+AFKVfR/C30O1vYdvsGYaR13W/1cczPrrcjdvYCj0VLFuRMN+lP1xvpNZHCRNM4fBzn1jg==} + + '@motionone/types@10.17.1': + resolution: {integrity: sha512-KaC4kgiODDz8hswCrS0btrVrzyU2CSQKO7Ps90ibBVSQmjkrt2teqta6/sOG59v7+dPnKMAg13jyqtMKV2yJ7A==} + + '@motionone/utils@10.18.0': + resolution: {integrity: sha512-3XVF7sgyTSI2KWvTf6uLlBJ5iAgRgmvp3bpuOiQJvInd4nZ19ET8lX5unn30SlmRH7hXbBbH+Gxd0m0klJ3Xtw==} + '@napi-rs/nice-android-arm-eabi@1.0.1': resolution: {integrity: sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w==} engines: {node: '>= 10'} @@ -2245,20 +2263,6 @@ packages: resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} engines: {node: '>= 6'} - framer-motion@12.6.3: - resolution: {integrity: sha512-2hsqknz23aloK85bzMc9nSR2/JP+fValQ459ZTVElFQ0xgwR2YqNjYSuDZdFBPOwVCt4Q9jgyTt6hg6sVOALzw==} - peerDependencies: - '@emotion/is-prop-valid': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@emotion/is-prop-valid': - optional: true - react: - optional: true - react-dom: - optional: true - fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} engines: {node: '>=14.14'} @@ -2379,6 +2383,9 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + hey-listen@1.0.8: + resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} + highlight.js@11.11.1: resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==} engines: {node: '>=12.0.0'} @@ -2734,8 +2741,8 @@ packages: meilisearch@0.37.0: resolution: {integrity: sha512-LdbK6JmRghCawrmWKJSEQF0OiE82md+YqJGE/U2JcCD8ROwlhTx0KM6NX4rQt0u0VpV0QZVG9umYiu3CSSIJAQ==} - melt@0.28.2: - resolution: {integrity: sha512-55DGQ4B3bHKnDnK1ECJ46D+xythNKvuil60k0RXWJ3eEY5XsGjT6WZPVpRooYLfMlAki2J7JCWglCMYzvXwxVw==} + melt@0.29.2: + resolution: {integrity: sha512-x0qR8yE8+x2Bu6s1DRJNAxPBN295ANfTVJ/8UcWsNm/hb7M14ws9G64OFpRExZcI45kdh2KZb1LwHFmNsLwUbQ==} peerDependencies: '@floating-ui/dom': ^1.6.0 svelte: ^5.0.0 @@ -2826,25 +2833,8 @@ packages: engines: {node: '>=10'} hasBin: true - motion-dom@12.6.3: - resolution: {integrity: sha512-gRY08RjcnzgFYLemUZ1lo/e9RkBxR+6d4BRvoeZDSeArG4XQXERSPapKl3LNQRu22Sndjf1h+iavgY0O4NrYqA==} - - motion-utils@12.6.3: - resolution: {integrity: sha512-R/b3Ia2VxtTNZ4LTEO5pKYau1OUNHOuUfxuP0WFCTDYdHkeTBR9UtxR1cc8mDmKr8PEhmmfnTKGz3rSMjNRoRg==} - - motion@12.6.3: - resolution: {integrity: sha512-zw/vqUgv5F5m9fkvOl/eCv2AF1+tkeZl3fu2uIlisIaip8sm5e0CouAl6GkdiRoF+G7s29CjqMdIyPMirwUGHA==} - peerDependencies: - '@emotion/is-prop-valid': '*' - react: ^18.0.0 || ^19.0.0 - react-dom: ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - '@emotion/is-prop-valid': - optional: true - react: - optional: true - react-dom: - optional: true + motion@10.18.0: + resolution: {integrity: sha512-MVAZZmwM/cp77BrNe1TxTMldxRPjwBNHheU5aPToqT4rJdZxLiADk58H+a0al5jKLxkB0OdgNq6DiVn11cjvIQ==} move-file@2.1.0: resolution: {integrity: sha512-i9qLW6gqboJ5Ht8bauZi7KlTnQ3QFpBCvMvFfEcHADKgHGeJ9BZMO7SFCTwHPV9Qa0du9DYY1Yx3oqlGt30nXA==} @@ -3965,7 +3955,7 @@ snapshots: normalize.css: 8.0.1 the-new-css-reset: 1.11.3 - '@appwrite.io/repo@https://codeload.github.com/appwrite/appwrite/tar.gz/2c803b262cbf62b499df28ff11d2ca40e16ab909': {} + '@appwrite.io/repo@https://codeload.github.com/appwrite/appwrite/tar.gz/4d81a901cbc48b94a720392a2611da028ea934b9': {} '@babel/runtime@7.26.10': dependencies: @@ -4208,7 +4198,7 @@ snapshots: dependencies: '@swc/helpers': 0.5.15 - '@internationalized/date@3.7.0': + '@internationalized/date@3.8.0': dependencies: '@swc/helpers': 0.5.15 @@ -4513,6 +4503,41 @@ snapshots: nanoid: 5.1.3 svelte: 5.25.6 + '@motionone/animation@10.18.0': + dependencies: + '@motionone/easing': 10.18.0 + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 + tslib: 2.8.1 + + '@motionone/dom@10.18.0': + dependencies: + '@motionone/animation': 10.18.0 + '@motionone/generators': 10.18.0 + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 + hey-listen: 1.0.8 + tslib: 2.8.1 + + '@motionone/easing@10.18.0': + dependencies: + '@motionone/utils': 10.18.0 + tslib: 2.8.1 + + '@motionone/generators@10.18.0': + dependencies: + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 + tslib: 2.8.1 + + '@motionone/types@10.17.1': {} + + '@motionone/utils@10.18.0': + dependencies: + '@motionone/types': 10.17.1 + hey-listen: 1.0.8 + tslib: 2.8.1 + '@napi-rs/nice-android-arm-eabi@1.0.1': optional: true @@ -5305,7 +5330,7 @@ snapshots: dependencies: '@floating-ui/core': 1.6.9 '@floating-ui/dom': 1.6.13 - '@internationalized/date': 3.7.0 + '@internationalized/date': 3.8.0 esm-env: 1.2.2 runed: 0.23.4(svelte@5.25.6) svelte: 5.25.6 @@ -5924,12 +5949,6 @@ snapshots: es-set-tostringtag: 2.1.0 mime-types: 2.1.35 - framer-motion@12.6.3: - dependencies: - motion-dom: 12.6.3 - motion-utils: 12.6.3 - tslib: 2.8.1 - fs-extra@11.2.0: dependencies: graceful-fs: 4.2.11 @@ -6074,6 +6093,8 @@ snapshots: he@1.2.0: {} + hey-listen@1.0.8: {} + highlight.js@11.11.1: {} html-escaper@3.0.3: {} @@ -6427,9 +6448,10 @@ snapshots: transitivePeerDependencies: - encoding - melt@0.28.2(@floating-ui/dom@1.6.13)(svelte@5.25.6): + melt@0.29.2(@floating-ui/dom@1.6.13)(svelte@5.25.6): dependencies: '@floating-ui/dom': 1.6.13 + dequal: 2.0.3 jest-axe: 9.0.0 nanoid: 5.1.3 runed: 0.23.4(svelte@5.25.6) @@ -6513,16 +6535,12 @@ snapshots: mkdirp@1.0.4: {} - motion-dom@12.6.3: + motion@10.18.0: dependencies: - motion-utils: 12.6.3 - - motion-utils@12.6.3: {} - - motion@12.6.3: - dependencies: - framer-motion: 12.6.3 - tslib: 2.8.1 + '@motionone/animation': 10.18.0 + '@motionone/dom': 10.18.0 + '@motionone/types': 10.17.1 + '@motionone/utils': 10.18.0 move-file@2.1.0: dependencies: diff --git a/src/app.css b/src/app.css index 1042119d3..3a15aded5 100644 --- a/src/app.css +++ b/src/app.css @@ -85,8 +85,8 @@ --animate-scale-in: scale-in 200ms ease-out forwards; --animate-scale-out: scale-out 200ms ease-out forwards; --animate-caret-blink: caret-blink 1s ease-in-out infinite; - --animate-text: - fade 0.75s ease-in-out both, blur 0.75s ease-in-out both, up 0.75s ease-in-out both; + --animate-enter: + fade-in 0.75s ease-in-out both, blur 0.75s ease-in-out both, up 0.75s ease-in-out both; --animate-scroll: scroll 60s linear infinite; --animate-fade-in: fade-in 0.5s ease-in-out both; --animate-fade-out: fade-out 0.5s ease-in-out both; diff --git a/src/icons/optimized/edge.svg b/src/icons/optimized/edge.svg new file mode 100644 index 000000000..c144fae4d --- /dev/null +++ b/src/icons/optimized/edge.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/optimized/pop-locations.svg b/src/icons/optimized/pop-locations.svg new file mode 100644 index 000000000..adccef994 --- /dev/null +++ b/src/icons/optimized/pop-locations.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/optimized/regions.svg b/src/icons/optimized/regions.svg new file mode 100644 index 000000000..48427d5c2 --- /dev/null +++ b/src/icons/optimized/regions.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/edge.svg b/src/icons/svg/edge.svg new file mode 100644 index 000000000..455115e10 --- /dev/null +++ b/src/icons/svg/edge.svg @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/src/icons/svg/pop-locations.svg b/src/icons/svg/pop-locations.svg new file mode 100644 index 000000000..95fb2bdbc --- /dev/null +++ b/src/icons/svg/pop-locations.svg @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/src/icons/svg/regions.svg b/src/icons/svg/regions.svg new file mode 100644 index 000000000..68bcef78c --- /dev/null +++ b/src/icons/svg/regions.svg @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/src/lib/actions/animate-in-view.ts b/src/lib/actions/animate-in-view.ts new file mode 100644 index 000000000..36626eee4 --- /dev/null +++ b/src/lib/actions/animate-in-view.ts @@ -0,0 +1,21 @@ +import { inView, type InViewOptions } from 'motion'; +import { writable } from 'svelte/store'; + +export const useAnimateInView = ({ options }: { options?: InViewOptions }) => { + let animate = writable(false); + + const action = (node: HTMLElement) => { + inView( + node, + () => { + animate.set(true); + }, + { ...options } + ); + }; + + return { + animate, + action + }; +}; diff --git a/src/lib/actions/mouse-position.ts b/src/lib/actions/mouse-position.ts new file mode 100644 index 000000000..9023ba0e8 --- /dev/null +++ b/src/lib/actions/mouse-position.ts @@ -0,0 +1,34 @@ +import { inView } from 'motion'; +import { type Writable, writable } from 'svelte/store'; + +export const useMousePosition = () => { + let position = writable<{ x: number; y: number }>({ + x: 0, + y: 0 + }); + + const action = (node: HTMLElement) => { + const handleMouseMove = (event: MouseEvent) => { + position.set({ + x: event.clientX, + y: event.clientY + }); + }; + + inView( + node, + () => { + node.addEventListener('mousemove', handleMouseMove); + }, + { amount: 'all' } + ); + + return { + destroy() { + node.removeEventListener('mousemove', handleMouseMove); + } + }; + }; + + return { action, position }; +}; diff --git a/src/lib/components/appwrite-network/data/pins.ts b/src/lib/components/appwrite-network/data/pins.ts new file mode 100644 index 000000000..cf90c7162 --- /dev/null +++ b/src/lib/components/appwrite-network/data/pins.ts @@ -0,0 +1,607 @@ +export const pins = { + 'pop-locations': [ + { + lat: 39.04, + lng: -77.49, + city: 'Ashburn', + code: 'ASH', + available: true + }, + { + lat: 33.75, + lng: -84.39, + city: 'Atlanta', + code: 'ATL', + available: true + }, + { + lat: 42.36, + lng: -71.06, + city: 'Boston', + code: 'BOS', + available: true + }, + { + lat: 51.05, + lng: -114.07, + city: 'Calgary', + code: 'CAL', + available: true + }, + { + lat: 41.88, + lng: -87.63, + city: 'Chicago', + code: 'CHI', + available: true + }, + { + lat: 39.96, + lng: -82.99, + city: 'Columbus', + code: 'COL', + available: true + }, + { + lat: 32.78, + lng: -96.8, + city: 'Dallas', + code: 'DAL', + available: true + }, + { + lat: 39.74, + lng: -104.99, + city: 'Denver', + code: 'DEN', + available: true + }, + { + lat: 42.33, + lng: -83.05, + city: 'Detroit', + code: 'DET', + available: true + }, + { + lat: 21.31, + lng: -157.86, + city: 'Honolulu', + code: 'HNL', + available: true + }, + { + lat: 29.76, + lng: -95.37, + city: 'Houston', + code: 'HOU', + available: true + }, + { + lat: 30.33, + lng: -81.66, + city: 'Jacksonville', + code: 'JAX', + available: true + }, + { + lat: 39.1, + lng: -94.58, + city: 'Kansas City', + code: 'KC', + available: true + }, + { + lat: 34.05, + lng: -118.24, + city: 'Los Angeles', + code: 'LA', + available: true + }, + { + lat: 25.77, + lng: -80.19, + city: 'Miami', + code: 'MIA', + available: true + }, + { + lat: 44.98, + lng: -93.27, + city: 'Minneapolis', + code: 'MIN', + available: true + }, + { + lat: 45.5, + lng: -73.57, + city: 'Montreal', + code: 'MTL', + available: true + }, + { + lat: 40.71, + lng: -74.01, + city: 'New York', + code: 'NYC', + available: true + }, + { + lat: 33.45, + lng: -112.07, + city: 'Phoenix', + code: 'PHX', + available: true + }, + { + lat: 45.52, + lng: -122.68, + city: 'Portland', + code: 'PDX', + available: true + }, + { + lat: 37.34, + lng: -121.89, + city: 'San Jose', + code: 'SJ', + available: true + }, + { + lat: 47.61, + lng: -122.33, + city: 'Seattle', + code: 'SEA', + available: true + }, + { + lat: 38.63, + lng: -90.2, + city: 'St Louis', + code: 'STL', + available: true + }, + { + lat: 43.65, + lng: -79.38, + city: 'Toronto', + code: 'TOR', + available: true + }, + { + lat: 49.28, + lng: -123.12, + city: 'Vancouver', + code: 'VAN', + available: true + }, + { + lat: 4.71, + lng: -74.07, + city: 'Bogota', + code: 'BOG', + available: true, + x: -0.5 + }, + { + lat: -34.61, + lng: -58.38, + city: 'Buenos Aires', + code: 'BUE', + available: true + }, + { + lat: -25.43, + lng: -49.27, + city: 'Curitiba', + code: 'CUR', + available: true + }, + { + lat: -3.73, + lng: -38.52, + city: 'Fortaleza', + code: 'FOR', + available: true + }, + { + lat: -12.05, + lng: -77.04, + city: 'Lima', + code: 'LIM', + available: true + }, + { + lat: -23.55, + lng: -46.63, + city: 'São Paulo', + code: 'SAO', + available: true + }, + { + lat: -33.45, + lng: -70.67, + city: 'Santiago', + code: 'SCL', + available: true + }, + { + lat: -22.91, + lng: -43.17, + city: 'Rio de Janeiro', + code: 'RIO', + available: true + }, + { + lat: 52.37, + lng: 4.89, + city: 'Amsterdam', + code: 'AMS', + available: true + }, + { + lat: 55.68, + lng: 12.57, + city: 'Copenhagen', + code: 'CPH', + available: true + }, + { + lat: 50.85, + lng: 4.35, + city: 'Brussels', + code: 'BRU', + available: true + }, + { + lat: 53.35, + lng: -6.26, + city: 'Dublin', + code: 'DUB', + available: true + }, + { + lat: 50.11, + lng: 8.68, + city: 'Frankfurt', + code: 'FRA', + available: true + }, + { + lat: 60.17, + lng: 24.94, + city: 'Helsinki', + code: 'HEL', + available: true + }, + { + lat: 38.72, + lng: -9.14, + city: 'Lisbon', + code: 'LIS', + available: true + }, + { + lat: 51.51, + lng: -0.13, + city: 'London', + code: 'LON', + available: true + }, + { + lat: 40.42, + lng: -3.7, + city: 'Madrid', + code: 'MAD', + available: true + }, + { + lat: 53.48, + lng: -2.24, + city: 'Manchester', + code: 'MAN', + available: true + }, + { + lat: 43.3, + lng: 5.37, + city: 'Marseille', + code: 'MRS', + available: true + }, + { + lat: 45.46, + lng: 9.19, + city: 'Milan', + code: 'MIL', + available: true + }, + { + lat: 48.14, + lng: 11.58, + city: 'Munich', + code: 'MUN', + available: true + }, + { + lat: 59.91, + lng: 10.75, + city: 'Oslo', + code: 'OSL', + available: true + }, + { + lat: 38.12, + lng: 13.36, + city: 'Palermo', + code: 'PAL', + available: true + }, + { + lat: 48.86, + lng: 2.35, + city: 'Paris', + code: 'PAR', + available: true + }, + { + lat: 41.9, + lng: 12.5, + city: 'Rome', + code: 'ROM', + available: true + }, + { + lat: 42.7, + lng: 23.32, + city: 'Sofia', + code: 'SOF', + available: true + }, + { + lat: 59.33, + lng: 18.07, + city: 'Stockholm', + code: 'STO', + available: true + }, + { + lat: 48.21, + lng: 16.37, + city: 'Vienna', + code: 'VIE', + available: true + }, + { + lat: 5.56, + lng: -0.2, + city: 'Accra', + code: 'ACC', + available: true + }, + { + lat: -33.93, + lng: 18.42, + city: 'Cape Town', + code: 'CPT', + available: true + }, + { + lat: -26.2, + lng: 28.05, + city: 'Johannesburg', + code: 'JHB', + available: true + }, + { + lat: 13.75, + lng: 100.5, + city: 'Bangkok', + code: 'BKK', + available: true + }, + { + lat: 13.08, + lng: 80.28, + city: 'Chennai', + code: 'CHE', + available: true + }, + { + lat: 25.27, + lng: 55.3, + city: 'Dubai', + code: 'DXB', + available: true + }, + { + lat: 25.12, + lng: 56.33, + city: 'Fujairah', + code: 'FUJ', + available: true + }, + { + lat: 22.32, + lng: 114.17, + city: 'Hong Kong', + code: 'HK', + available: true + }, + { + lat: 17.38, + lng: 78.48, + city: 'Hyderabad', + code: 'HYD', + available: true + }, + { + lat: 22.57, + lng: 88.36, + city: 'Kolkata', + code: 'KOL', + available: true + }, + { + lat: 3.14, + lng: 101.69, + city: 'Kuala Lumpur', + code: 'KL', + available: true + }, + { + lat: 14.6, + lng: 120.98, + city: 'Manila', + code: 'MNL', + available: true + }, + { + lat: 19.08, + lng: 72.88, + city: 'Mumbai', + code: 'MUM', + available: true + }, + { + lat: 28.61, + lng: 77.21, + city: 'New Delhi', + code: 'DEL', + available: true + }, + { + lat: 34.69, + lng: 135.5, + city: 'Osaka', + code: 'OSA', + available: true + }, + { + lat: 37.57, + lng: 126.98, + city: 'Seoul', + code: 'SEL', + available: true + }, + { + lat: 1.35, + lng: 103.82, + city: 'Singapore', + code: 'SIN', + available: true + }, + { + lat: 35.69, + lng: 139.69, + city: 'Tokyo', + code: 'TYO', + available: true + }, + { + lat: -34.93, + lng: 138.6, + city: 'Adelaide', + code: 'ADL', + available: true + }, + { + lat: -36.85, + lng: 174.76, + city: 'Auckland', + code: 'AKL', + available: true + }, + { + lat: -27.47, + lng: 153.03, + city: 'Brisbane', + code: 'BNE', + available: true + }, + { + lat: -43.53, + lng: 172.64, + city: 'Christchurch', + code: 'CHC', + available: true + }, + { + lat: -37.81, + lng: 144.96, + city: 'Melbourne', + code: 'MEL', + available: true + }, + { + lat: -31.95, + lng: 115.85, + city: 'Perth', + code: 'PER', + available: true + }, + { + lat: -33.87, + lng: 151.21, + city: 'Sydney', + code: 'SYD', + available: true + }, + { + lat: -41.29, + lng: 174.78, + city: 'Wellington', + code: 'WLG', + available: true + } + ], + edges: [ + { + lat: 40.71, + lng: -74.01, + city: 'New York', + code: 'NYC', + available: true + }, + { + lat: 50.11, + lng: 8.68, + city: 'Frankfurt', + code: 'FRA', + available: true + }, + { + lat: -33.87, + lng: 151.21, + city: 'Sydney', + code: 'AUS', + available: true + } + ], + regions: [ + { + lat: 40.71, + lng: -74.01, + city: 'New York', + code: 'NYC', + available: true + }, + { + lat: 50.11, + lng: 8.68, + city: 'Frankfurt', + code: 'FRA', + available: true + }, + + { + lat: -33.87, + lng: 151.21, + city: 'Sydney', + code: 'AUS', + available: true + } + ] +}; + +export type PinSegment = keyof typeof pins; diff --git a/src/lib/components/appwrite-network/map-marker.svelte b/src/lib/components/appwrite-network/map-marker.svelte new file mode 100644 index 000000000..232ff51b4 --- /dev/null +++ b/src/lib/components/appwrite-network/map-marker.svelte @@ -0,0 +1,90 @@ + + + + + + + + + + + {city} + ({code}) + {#if available} +
+ Available now +
+ {:else} +
+ Planned +
+ {/if} +
+
diff --git a/src/lib/components/appwrite-network/map-nav.svelte b/src/lib/components/appwrite-network/map-nav.svelte new file mode 100644 index 000000000..2009a0362 --- /dev/null +++ b/src/lib/components/appwrite-network/map-nav.svelte @@ -0,0 +1,55 @@ + + + + + {#each navItems as { label, icon, value }, index} + + + {label} + {/each} + + diff --git a/src/lib/components/appwrite-network/map.svelte b/src/lib/components/appwrite-network/map.svelte new file mode 100644 index 000000000..b5d8c66c9 --- /dev/null +++ b/src/lib/components/appwrite-network/map.svelte @@ -0,0 +1,140 @@ + + + + +
+ + +
+
+
+
+
+ + Map of the world + + + {#each pins[activeSegment as PinSegment].map( (pin) => ({ ...pin, isOpen: activeRegion === slugify(pin.city), position: latLongToSvgPosition( { latitude: pin.lat, longitude: pin.lng, ...dimensions } ) }) ) as pin, index} + + {/each} + +
+
+
+ + (activeSegment = value)} /> diff --git a/src/lib/components/appwrite-network/utils/projections.ts b/src/lib/components/appwrite-network/utils/projections.ts new file mode 100644 index 000000000..822b9017b --- /dev/null +++ b/src/lib/components/appwrite-network/utils/projections.ts @@ -0,0 +1,30 @@ +import { MAP_BOUNDS } from '../map.svelte'; + +type Coordinates = { + latitude: number; + longitude: number; +}; + +export const latLongToSvgPosition = ({ + latitude, + longitude, + width, + height +}: Coordinates & { width: number; height: number }) => { + const { west, east, north, south } = MAP_BOUNDS; + + // Handle longitude wrapping for coordinates crossing the date line + let lng = longitude; + if (lng < west) lng += 360; + else if (lng > east) lng -= 360; + + // Calculate position as percentage of the map bounds + const lngRatio = (lng - west) / (east - west); + const latRatio = (north - latitude) / (north - south); + + // Convert to percentages clamped between 0-100 + const x = Math.max(0, Math.min(100, lngRatio * 100)); + const y = Math.max(0, Math.min(100, latRatio * 100)); + + return { x, y }; +}; diff --git a/src/lib/components/fancy/animated-text.svelte b/src/lib/components/fancy/animated-text.svelte index aa60983fa..552b27578 100644 --- a/src/lib/components/fancy/animated-text.svelte +++ b/src/lib/components/fancy/animated-text.svelte @@ -15,7 +15,7 @@ {#each words as word, i} {word} diff --git a/src/lib/components/ui/gradient-text.svelte b/src/lib/components/ui/gradient-text.svelte index a740e099d..26b1a106c 100644 --- a/src/lib/components/ui/gradient-text.svelte +++ b/src/lib/components/ui/gradient-text.svelte @@ -1,9 +1,14 @@ - + {@render children?.()} diff --git a/src/lib/components/ui/icon/types.ts b/src/lib/components/ui/icon/types.ts index 358791530..a7f9d5688 100644 --- a/src/lib/components/ui/icon/types.ts +++ b/src/lib/components/ui/icon/types.ts @@ -21,6 +21,7 @@ export type IconType = | 'discord' | 'divider-vertical' | 'download' + | 'edge' | 'ext-link' | 'firebase' | 'github' @@ -41,8 +42,10 @@ export type IconType = | 'platform' | 'play' | 'plus' + | 'pop-locations' | 'product-hunt' | 'refine' + | 'regions' | 'rest' | 'search' | 'sendgrid' diff --git a/src/markdoc/tags/Info.svelte b/src/markdoc/tags/Info.svelte index 125d77ae4..dd37d1787 100644 --- a/src/markdoc/tags/Info.svelte +++ b/src/markdoc/tags/Info.svelte @@ -1,9 +1,7 @@ diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index af22f5f16..042a2bb1d 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -134,7 +134,7 @@
trackEvent({ plausible: { name: 'Banner button click' } })} > @@ -142,7 +142,7 @@ New
Announcing new Appwrite MCP serverAnnouncing The Appwrite Network
diff --git a/src/routes/blog/author/christy-jacob/+page.markdoc b/src/routes/blog/author/christy-jacob/+page.markdoc index 2ab908619..4bbb6c45e 100644 --- a/src/routes/blog/author/christy-jacob/+page.markdoc +++ b/src/routes/blog/author/christy-jacob/+page.markdoc @@ -2,7 +2,7 @@ layout: author slug: christy-jacob name: Christy Jacob -role: Engineering lead +role: Head of Engineering bio: Leading Appwrite's Cloud development. avatar: /images/avatars/christy.png twitter: https://twitter.com/christyjacob4 diff --git a/src/routes/blog/post/accessibility-in-pink-design/+page.markdoc b/src/routes/blog/post/accessibility-in-pink-design/+page.markdoc index cccbd8daf..fe1730a45 100644 --- a/src/routes/blog/post/accessibility-in-pink-design/+page.markdoc +++ b/src/routes/blog/post/accessibility-in-pink-design/+page.markdoc @@ -51,7 +51,7 @@ Browsers have a default font size that users can change via the browser setting. import { Client, Account } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID const account = new Account(client); diff --git a/src/routes/blog/post/announcing-mock-numbers-session-alerts/+page.markdoc b/src/routes/blog/post/announcing-mock-numbers-session-alerts/+page.markdoc index 367c545e8..c5f656659 100644 --- a/src/routes/blog/post/announcing-mock-numbers-session-alerts/+page.markdoc +++ b/src/routes/blog/post/announcing-mock-numbers-session-alerts/+page.markdoc @@ -31,7 +31,7 @@ Now, in your Flutter app, you can use these mock numbers for authentication: import 'package:appwrite/appwrite.dart'; Client client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); Account account = Account(client); diff --git a/src/routes/blog/post/announcing-two-factor-authentication/+page.markdoc b/src/routes/blog/post/announcing-two-factor-authentication/+page.markdoc index fc43a28db..a6b8dee6b 100644 --- a/src/routes/blog/post/announcing-two-factor-authentication/+page.markdoc +++ b/src/routes/blog/post/announcing-two-factor-authentication/+page.markdoc @@ -46,7 +46,7 @@ import { Client, Account } from "appwrite"; const client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); diff --git a/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc b/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc index 26f539f93..192a13847 100644 --- a/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc +++ b/src/routes/blog/post/appwrite-1.5-now-available-on-cloud/+page.markdoc @@ -37,7 +37,7 @@ Here is what this would look like using Swift. import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -66,7 +66,7 @@ You can send SMS messages using a Server SDK. To send SMS messages immediately, import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -174,7 +174,7 @@ import { Client, Account } from "appwrite"; const client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); @@ -243,7 +243,7 @@ One of the most common examples of SDK Enums is OAuth providers. To log in with import { Client, Account, OAuthProvider } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); diff --git a/src/routes/blog/post/best-pagination-technique/+page.markdoc b/src/routes/blog/post/best-pagination-technique/+page.markdoc index b4e744e5a..58fe8b283 100644 --- a/src/routes/blog/post/best-pagination-technique/+page.markdoc +++ b/src/routes/blog/post/best-pagination-technique/+page.markdoc @@ -91,7 +91,7 @@ import { Appwrite, Databases, Query } from "appwrite"; const client = new Appwrite(); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('articles-demo'); // Your project ID const databases = new Databases(client); diff --git a/src/routes/blog/post/building-cross-platform-applications-with-react-native/+page.markdoc b/src/routes/blog/post/building-cross-platform-applications-with-react-native/+page.markdoc index 413812ded..4370ed638 100644 --- a/src/routes/blog/post/building-cross-platform-applications-with-react-native/+page.markdoc +++ b/src/routes/blog/post/building-cross-platform-applications-with-react-native/+page.markdoc @@ -95,7 +95,7 @@ import { Client, Account, ID } from 'react-native-appwrite'; const client = new Client(); client - .setEndpoint('http://cloud.appwrite.io/v1') // Your Appwrite Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your Appwrite Endpoint .setProject('455x34dfkj') // Your project ID .setPlatform('com.example.myappwriteapp'); // Your application ID or bundle ID diff --git a/src/routes/blog/post/building-init-giveaway-app/+page.markdoc b/src/routes/blog/post/building-init-giveaway-app/+page.markdoc index 7050bd2ee..c63470cb9 100644 --- a/src/routes/blog/post/building-init-giveaway-app/+page.markdoc +++ b/src/routes/blog/post/building-init-giveaway-app/+page.markdoc @@ -88,7 +88,7 @@ We then entered the application directory, installed the Appwrite Web SDK and Pi ```js // ./src/lib/constants.js -export const APPWRITE_ENDPOINT = 'https://cloud.appwrite.io/v1'; +export const APPWRITE_ENDPOINT = 'https://.cloud.appwrite.io/v1'; export const APPWRITE_PROJECT = ''; diff --git a/src/routes/blog/post/change-regions-with-migrations/+page.markdoc b/src/routes/blog/post/change-regions-with-migrations/+page.markdoc new file mode 100644 index 000000000..1284e7cdf --- /dev/null +++ b/src/routes/blog/post/change-regions-with-migrations/+page.markdoc @@ -0,0 +1,186 @@ +--- +layout: post +title: How to change regions in Appwrite Cloud using migrations +description: Learn how to migrate your Appwrite Cloud project from one region to another. +date: 2025-04-16 +cover: /images/blog/change-regions-with-migrations/cover.png +timeToRead: 10 +author: ebenezer-don +category: tutorial +featured: false +--- + +With the launch of the **Appwrite Network**, Appwrite Cloud now gives you the ability to choose where your project is hosted. This means that you can bring your backend closer to your users, reducing latency, improving responsiveness, and aligning with local data residency laws if needed. + +But what if you've already built and launched your app in one region, and now you need to move it to another? Currently, there's no simple toggle to switch regions, but Appwrite provides a built-in migration tool that allows you to create a new project in your target region and move your data and services to it. + +In this guide, we'll walk through the process of migrating your Appwrite Cloud project to a new region, along with the steps to take after the migration is complete. + +## What you need before starting + +Before we get started, make sure a few things are in place: + +- You have an Appwrite [Cloud account](https://cloud.appwrite.io/). +- You have a project in Appwrite Cloud that's currently hosted in a region you want to move from. This is your **source project**. +- You have permission to create new projects, and full access to the source project's settings. + +Once you've got all that, we can get started. + +## Step 1: Create your destination project + +To get started, head over to the Appwrite Cloud console and create a new project. This is the one that will live in your new region. + +Give it a name that distinguishes it from the original, especially if you want to keep both projects running side-by-side for a while. + +When prompted to choose a region, pick the one you want to migrate into. This is where your project will be hosted going forward. + +Once you've finished setting it up, you'll have a clean project ready to receive everything from your current environment. + +## Step 2: Set up the destination project for import + +Inside your new project, go to **Settings**, and look for the **Migrations** tab. + +![Migrations tab](/images/blog/change-regions-with-migrations/migrations-tab.png) + +There you'll find the option to **Import project data**. Click the button to open the migration configuration screen. + +This is where you'll enter the credentials from your source project, so Appwrite can pull everything over. + +But first, we need to get those credentials. + +## Step 3: Collect your source project credentials + +Back in the Appwrite Cloud console, switch over to your source project. + +You'll need three things from here: + +1. A dedicated **API key** for migration. +2. The **Project ID** of the source project. +3. The **API endpoint** of the source project. + +Here's how to get each one: + +### Create an API key + +From your source project, go to **Settings → API Keys** and create a new key. Give it a name that'll make it easy to identify later. + +![Create API key](/images/blog/change-regions-with-migrations/create-api-key.png) + +Set an expiration date. Since this key is likely to have access to a lot of data, you don't want it hanging around forever. + +When assigning scopes, either select them all, or make sure to include at least: `users.read`, `databases.read`, `storage.read`, `functions.read`, and anything else you know your app uses. + +Once the key is created, copy the secret for migration. + +### Copy the Project ID and API endpoint + +Still in the source project, head to **Settings**, and in the **Overview** tab, **API Credentials**. + +Here, you'll find: + +- The **Project ID**. +- The **API Endpoint** + +With this, you have your API key, project ID, and API endpoint. These are the three things you'll need to migrate your project. + +## Step 4: Start the migration + +Go back to your destination project, and in the **Settings** page, go to the **Migrations** tab. In **Migrations**, select **Import data** in the **Import project data** section. + +Choose **Appwrite** as the source platform. + +![Migrations screen](/images/blog/change-regions-with-migrations/migrations-screen.png) + +Then fill in the details from the source project: + +- **Endpoint** → Paste the API endpoint URL. +- **Project ID** → Paste the source project's ID. +- **API Key** → Paste the secret key you created earlier. + +Click **Next**. + +Appwrite will now reach into the source project, check what's available, and return a list of resources it found: users, databases, collections, documents, storage buckets, files, functions, and so on. + +You'll be prompted to choose what you want to bring over. + +If you're planning to fully migrate the project, click **Select all**. You can also check top-level resources (like "Users", "Functions", "Databases") and then decide whether to include things like documents, teams, and environment variables. + +When ready, click **Create**. + +Now, Appwrite begins the actual data transfer. + +## Step 5: Let the migration run and wait for it to complete + +You'll see a progress indicator as the migration runs. + +How long this takes depends on your data. If your project is lightweight, it might finish in under a minute. But if you have thousands of documents or large media files, it might take longer. + +When the migration is complete, you'll see an indication in the console. + +![Migration complete](/images/blog/change-regions-with-migrations/migrations-complete.png) + +## After migration: what to verify + +Once the migration is done, you can inspect the destination project to ensure everything transferred correctly. + +Here are some things to check (if applicable): + +- **Auth** → Confirm that users and teams are present. +- **Databases** → Can you see your collections and documents? +- **Storage** → Look inside your buckets and confirm that files are present. +- **Functions** → Are your functions listed, and do they include deployments and any environment variables you selected? + +Spend a few minutes to confirm that the migration worked as expected. + +## What Appwrite doesn't migrate and what to do next + +The migration tool brings over the majority of your project's data and config, but there are a few things you'll need to handle manually: + +### Update your app code + +This is an important step, since your app is still communicating with the *old* project. + +Update your codebase to point to the **new Project ID** and **new API Endpoint** from the destination region. That means updating SDK initialization code across your frontend, mobile app, backend scripts, or wherever your app communicates with Appwrite. + +Without this change, your app will continue talking to the source project. + +### Recreate any needed API keys + +The migration-specific API key doesn't stick around, and other existing keys are not carried over. + +So if your app uses long-lived API keys for backend access or integrations, you'll need to recreate them in the destination project. Then update your environments accordingly. + +### Re-register your platforms + +Your registered platforms (iOS, Android, Web, Flutter, etc.) also aren't migrated automatically. You'll need to add them again from **Overview → Integrations → Platforms** in the destination project. + +Pay close attention to this, especially if you use OAuth, custom domains, or push notifications. + +### Check project-level settings + +Some other configurations might also need to be manually re-applied, like: + +- SMTP settings for emails +- Custom domains +- Function execution permissions +- Service limits (if you had them changed) + +It's worth going through the Settings page of both projects side-by-side to spot anything missing. + +## Some final thoughts before you switch + +You don't need to shut down your source project immediately. You might want to run both in parallel for a short time while you test the migrated version. + +When you're ready to switch, make sure your app has been fully updated to use the new configuration, and that everything behaves as expected. + +Schedule a short maintenance window if needed, especially if you're updating backend services or deployment pipelines that rely on Appwrite. + +And as always, test thoroughly. Auth flows, file uploads, database reads/writes, scheduled functions need to be checked. + +## Wrapping up + +Migrating a project between regions in Appwrite Cloud is quite straightforward once you know the steps. The import tool handles the heavy lifting, and with the right preparation (API key, project ID, endpoint) it can move most of your app's backend in minutes. + +Once the migration is complete, you'll have your Appwrite backend running where you want it, aligned with your new requirements, and ready to scale in the right place. + +If you run into issues, the Appwrite docs and Discord community are solid places to troubleshoot and get support. \ No newline at end of file diff --git a/src/routes/blog/post/csr-vs-ssr-with-nextjs/+page.markdoc b/src/routes/blog/post/csr-vs-ssr-with-nextjs/+page.markdoc index af1de6330..577412cbd 100644 --- a/src/routes/blog/post/csr-vs-ssr-with-nextjs/+page.markdoc +++ b/src/routes/blog/post/csr-vs-ssr-with-nextjs/+page.markdoc @@ -61,7 +61,7 @@ The admin client must be set with an API key that has the necessary scopes in or ```jsx const adminClient = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject('') .setKey('') ``` @@ -90,7 +90,7 @@ The session client accepts the generated session secret and sets it using the `c ```jsx const sessionClient = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject('') ``` diff --git a/src/routes/blog/post/enhancing-type-safety/+page.markdoc b/src/routes/blog/post/enhancing-type-safety/+page.markdoc index fdeb33b6d..094a88c8f 100644 --- a/src/routes/blog/post/enhancing-type-safety/+page.markdoc +++ b/src/routes/blog/post/enhancing-type-safety/+page.markdoc @@ -69,7 +69,7 @@ With the latest release of Appwrite, we have taken steps to improve type safety import { Client, Account, OAuthProvider } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); diff --git a/src/routes/blog/post/enums-api-design/+page.markdoc b/src/routes/blog/post/enums-api-design/+page.markdoc index 00dce1338..3191801a0 100644 --- a/src/routes/blog/post/enums-api-design/+page.markdoc +++ b/src/routes/blog/post/enums-api-design/+page.markdoc @@ -78,7 +78,7 @@ With the latest release of Appwrite, we have taken steps to improve type safety import { Client, Account, OAuthProvider } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); diff --git a/src/routes/blog/post/how-to-leverage-dynamic-api-keys-for-better-security/+page.markdoc b/src/routes/blog/post/how-to-leverage-dynamic-api-keys-for-better-security/+page.markdoc index b7bc51921..934d6daf2 100644 --- a/src/routes/blog/post/how-to-leverage-dynamic-api-keys-for-better-security/+page.markdoc +++ b/src/routes/blog/post/how-to-leverage-dynamic-api-keys-for-better-security/+page.markdoc @@ -65,7 +65,7 @@ To define scopes in the Appwrite console, navigate to your function's settings a ```jsx const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Hardcoded API endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Hardcoded API endpoint .setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID) .setKey(process.env.APPWRITE_API_KEY) // Static API key ``` diff --git a/src/routes/blog/post/image-classification/+page.markdoc b/src/routes/blog/post/image-classification/+page.markdoc index 593c5fcf2..5cc2dc483 100644 --- a/src/routes/blog/post/image-classification/+page.markdoc +++ b/src/routes/blog/post/image-classification/+page.markdoc @@ -194,7 +194,7 @@ def main(context): client = ( Client() - .set_endpoint("https://cloud.appwrite.io/v1") + .set_endpoint("https://.cloud.appwrite.io/v1") .set_project(os.environ["APPWRITE_FUNCTION_PROJECT_ID"]) .set_key(os.environ["APPWRITE_API_KEY"]) ) diff --git a/src/routes/blog/post/improve-ux-passwordless-auth/+page.markdoc b/src/routes/blog/post/improve-ux-passwordless-auth/+page.markdoc index aeeb414af..4afaccaa6 100644 --- a/src/routes/blog/post/improve-ux-passwordless-auth/+page.markdoc +++ b/src/routes/blog/post/improve-ux-passwordless-auth/+page.markdoc @@ -73,7 +73,7 @@ First, we initialize the login process by sending an email with the magic URL. I import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); @@ -103,7 +103,7 @@ First, we initialize the login process by sending an email. If the email has nev import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); @@ -138,7 +138,7 @@ First, we initialize the login process by sending an SMS. If the phone number ha import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final account = Account(client); diff --git a/src/routes/blog/post/introducing-appwrite-react-native-sdk/+page.markdoc b/src/routes/blog/post/introducing-appwrite-react-native-sdk/+page.markdoc index 7e63d54c6..d70d2658d 100644 --- a/src/routes/blog/post/introducing-appwrite-react-native-sdk/+page.markdoc +++ b/src/routes/blog/post/introducing-appwrite-react-native-sdk/+page.markdoc @@ -70,7 +70,7 @@ import { Client, Account, ID } from 'react-native-appwrite'; const client = new Client(); client - .setEndpoint('http://cloud.appwrite.io/v1') // Your Appwrite Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your Appwrite Endpoint .setProject('455x34dfkj') // Your project ID .setPlatform('com.example.myappwriteapp'); // Your application ID or bundle ID diff --git a/src/routes/blog/post/introducing-enum-sdk-support/+page.markdoc b/src/routes/blog/post/introducing-enum-sdk-support/+page.markdoc index 8245d739e..b22cd2d6b 100644 --- a/src/routes/blog/post/introducing-enum-sdk-support/+page.markdoc +++ b/src/routes/blog/post/introducing-enum-sdk-support/+page.markdoc @@ -29,7 +29,7 @@ Bringing along benefits such as massively reducing friction when using routes th import { Client, Account, OAuthProvider } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); diff --git a/src/routes/blog/post/introducing-support-for-server-side-rendering/+page.markdoc b/src/routes/blog/post/introducing-support-for-server-side-rendering/+page.markdoc index e1e98dac1..e94c9923b 100644 --- a/src/routes/blog/post/introducing-support-for-server-side-rendering/+page.markdoc +++ b/src/routes/blog/post/introducing-support-for-server-side-rendering/+page.markdoc @@ -75,7 +75,7 @@ The admin client will need to be initialized with an API key in order to bypass import { Client } from "node-appwrite" const adminClient = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject('') .setKey('') ``` @@ -86,7 +86,7 @@ A session client will allow us to make requests as an authenticated end-user wit ```jsx const sessionClient = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject('') const session = req.cookies.session diff --git a/src/routes/blog/post/messaging-explained/+page.markdoc b/src/routes/blog/post/messaging-explained/+page.markdoc index 0f3cbabea..7cda0dd44 100644 --- a/src/routes/blog/post/messaging-explained/+page.markdoc +++ b/src/routes/blog/post/messaging-explained/+page.markdoc @@ -58,7 +58,7 @@ Here’s an example of how you would programmatically send an SMS to a topic usi const sdk = require('node-appwrite'); const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key diff --git a/src/routes/blog/post/mock-numbers-best-practices/+page.markdoc b/src/routes/blog/post/mock-numbers-best-practices/+page.markdoc index 78cb5bf55..3b3c9adec 100644 --- a/src/routes/blog/post/mock-numbers-best-practices/+page.markdoc +++ b/src/routes/blog/post/mock-numbers-best-practices/+page.markdoc @@ -64,7 +64,7 @@ import { Client, Account } from 'appwrite' // Initialize Appwrite client const client = new Client() -client.setEndpoint('https://cloud.appwrite.io/v1').setProject('') +client.setEndpoint('https://.cloud.appwrite.io/v1').setProject('') // Initialize Account const account = new Account(client) diff --git a/src/routes/blog/post/oauth-openid/+page.markdoc b/src/routes/blog/post/oauth-openid/+page.markdoc index c58238685..8914f8946 100644 --- a/src/routes/blog/post/oauth-openid/+page.markdoc +++ b/src/routes/blog/post/oauth-openid/+page.markdoc @@ -94,7 +94,7 @@ Once that is done, you can use any of the Appwrite client SDKs to implement OAut import { Client, Account, OAuthProvider } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); diff --git a/src/routes/blog/post/password-hashing-algorithms/+page.markdoc b/src/routes/blog/post/password-hashing-algorithms/+page.markdoc index b2108eddb..245f5fdf9 100644 --- a/src/routes/blog/post/password-hashing-algorithms/+page.markdoc +++ b/src/routes/blog/post/password-hashing-algorithms/+page.markdoc @@ -80,7 +80,7 @@ Appwrite Authentication also leverages password hashing algorithms to allow deve import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); diff --git a/src/routes/blog/post/product-update-march-2025/+page.markdoc b/src/routes/blog/post/product-update-march-2025/+page.markdoc new file mode 100644 index 000000000..28231917e --- /dev/null +++ b/src/routes/blog/post/product-update-march-2025/+page.markdoc @@ -0,0 +1,91 @@ +--- +layout: post +title: "March product update: Product Hunt launch, Appwrite MCP server, and faster backups." +description: Get a full recap of products, features and programs we released in the month of March. +date: 2025-04-11 +cover: /images/blog/product-update-march-2025/cover-image.png +timeToRead: 10 +author: dennis-ivy +category: product +featured: false +callToAction: true +--- + +Welcome back to the March product update. Here’s what happened the past month: + +- Launched the Appwrite MCP server +- Key optimizations to Appwrite cloud backups +- Update to budget limits in Appwrite Cloud + +Plus, we've got something exciting to share with you. Let’s dive in. + +![Product Hunt announcement](/images/blog/product-update-march-2025/ph.png) + +# Big announcement coming soon + +We’ve got a major announcement on the way. This time, we’re bringing the heat to Product Hunt. The Appwrite community is the first to know! + +Visit our ‘Coming Soon’ page and click Notify Me to get an email when we go live. We can't wait to share what we’ve been working on. + +[Go to Product Hunt](https://www.producthunt.com/products/appwrite) + +![Appwrite MCP server](/images/blog/product-update-march-2025/mcp.png) + +# Appwrite MCP server + +Did you know that Appwrite has launched its own MCP server? This means you can now let AI agents like Cursor or Windsurf analyze database records, access the User API, or perform actions directly on your Appwrite project. + +Not sure where to start? No worries, we’ve got you covered. + +- [Appwrite MCP documentation](https://appwrite.io/docs/tooling/mcp) +- [Appwrite MCP server practical applications](https://www.youtube.com/watch?v=83rNS6W2Nu8) +- [Learn more about MCP and how it works under the hood](https://appwrite.io/blog/post/what-is-mcp) + +The Appwrite MCP server opens up infinite possibilities, and this is just the beginning. We can't wait to see how you’ll use it in your projects. + +![Cloud improvements](/images/blog/product-update-march-2025/cloud-backups.png) + +# Appwrite Cloud backups are now faster + +Appwrite Cloud backups are now significantly faster. We’ve made key optimizations to our infrastructure, reducing backup times by up to 7x. With quicker data recovery and improved reliability, you can spend less time waiting and more time building. + +[Learn more](https://appwrite.io/changelog/entry/2025-03-27) + +# Update to budget limits in Appwrite Cloud + +We’ve improved budget limits in Appwrite Cloud to give you better control over your organization’s scaling. + +Now, setting the budget to 0 means your organization will not exceed its allocated resources, while null will explicitly disable the budget. This update ensures clearer budget management and better control over scaling. + +[Learn more](https://appwrite.io/changelog/entry/2025-03-19) + +![Community recognitions](/images/blog/product-update-march-2025/community.png) + +# Community recognitions + +This month, we’re excited to feature Geohash as part of our Monthly Community recognitions. + +The Geohash application demonstrates how to implement geolocation-based user search with Appwrite. + +A big shout-out to [Clément](https://github.com/clementg13). Check out their product, Geohash, [here](https://github.com/clementg13/Appwrite-Nearby-GeoLocation). + +If you'd like to participate in next month's Community Recognitions, [join our Discord server](https://appwrite.io/discord) to showcase your project. + +# Engineering resources + +**Read** +- [Lynx by ByteDance vs React Native](https://appwrite.io/blog/post/bytedance-lynx-vs-react-native) +- [What exactly is MCP, and why is it trending?](https://appwrite.io/blog/post/what-is-mcp) +- [Image transformation with Appwrite Storage](https://appwrite.io/blog/post/image-transformation-with-appwrite-storage) +- [Building a backendless application with Angular and Appwrite](https://angular.love/building-a-backendless-application-with-angular-appwrite) + +**Watch** +- [Appwrite vs Supabase performance results](https://youtu.be/zWLfLxq2Ws4?si=7NaoZPb-JbDpNVfG) +- [Appwrite MCP server practical examples](https://youtu.be/83rNS6W2Nu8?si=gJUMP4VisK_kG0nE) +- [Appwrite MCP server setup with Cursor](https://www.youtube.com/watch?v=Qzikjm5H7wM) + +# What's to come + +That’s a wrap for March. We have a lot to come in the coming weeks, starting with new Cloud regions! + +Follow us on [X](https://x.com/appwrite) and check our [Changelog](https://appwrite.io/changelog) regularly, as we will release more information in the coming weeks. diff --git a/src/routes/blog/post/push-notifications-best-practices/+page.markdoc b/src/routes/blog/post/push-notifications-best-practices/+page.markdoc index 71fff0989..369d28eac 100644 --- a/src/routes/blog/post/push-notifications-best-practices/+page.markdoc +++ b/src/routes/blog/post/push-notifications-best-practices/+page.markdoc @@ -62,7 +62,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key diff --git a/src/routes/blog/post/rest-vs-graphql-websockets-which-is-best-for-your-app/+page.markdoc b/src/routes/blog/post/rest-vs-graphql-websockets-which-is-best-for-your-app/+page.markdoc index 9c755573c..ca32be10e 100644 --- a/src/routes/blog/post/rest-vs-graphql-websockets-which-is-best-for-your-app/+page.markdoc +++ b/src/routes/blog/post/rest-vs-graphql-websockets-which-is-best-for-your-app/+page.markdoc @@ -106,7 +106,7 @@ All of the Appwrite client SDKs for Web, Flutter, iOS, or Android come with buil import { Client } from "appwrite"; const client = new Client() - .setEndpoint('') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); client.subscribe('account', response => { diff --git a/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc b/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc index ad574a52d..4adab41ed 100644 --- a/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc +++ b/src/routes/blog/post/set-up-google-auth-appwrite-react/+page.markdoc @@ -101,7 +101,7 @@ import { Client, Account, OAuthProvider } from 'appwrite' const client = new Client() client - .setEndpoint('https://cloud.appwrite.io/v1')// The Appwrite API endpoint + .setEndpoint('https://.cloud.appwrite.io/v1')// The Appwrite API endpoint .setProject('project-id')// Your Appwrite project IDexport const account = new Account(client) export { OAuthProvider } diff --git a/src/routes/blog/post/should-you-stop-using-otp-sms/+page.markdoc b/src/routes/blog/post/should-you-stop-using-otp-sms/+page.markdoc index 4f8ad1001..67d4ec96f 100644 --- a/src/routes/blog/post/should-you-stop-using-otp-sms/+page.markdoc +++ b/src/routes/blog/post/should-you-stop-using-otp-sms/+page.markdoc @@ -70,7 +70,7 @@ First, we initialize the login process by sending an email with the magic URL. I import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); @@ -100,7 +100,7 @@ First, we initialize the login process by sending an email. If the email has nev import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); @@ -135,7 +135,7 @@ First, we initialize the login process by sending an SMS. If the phone number ha import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final account = Account(client); diff --git a/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc b/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc index 802b82153..80f715d0d 100644 --- a/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc +++ b/src/routes/blog/post/simplify-messaging-twilio/+page.markdoc @@ -79,7 +79,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; diff --git a/src/routes/blog/post/the-appwrite-network/+page.markdoc b/src/routes/blog/post/the-appwrite-network/+page.markdoc new file mode 100644 index 000000000..4a3081d46 --- /dev/null +++ b/src/routes/blog/post/the-appwrite-network/+page.markdoc @@ -0,0 +1,99 @@ +--- +layout: post +title: "Announcing the Appwrite Network: Appwrite’s vision for a global cloud infrastructure" +description: Announcing more regions for Cloud, and many more to come with the introduction of the Appwrite Network. +date: 2025-04-16 +cover: /images/blog/the-appwrite-network/network-cover-image.png +timeToRead: 05 +author: christy-jacob +category: product +featured: true +callToAction: true +--- + +We are happy to announce the launch of the Appwrite Network, a network of cloud regions and edge locations (edges) to improve Appwrite Cloud availability, performance, and compliance with local regulations. This will provide Appwrite developers and teams with the best tools and infrastructure to build, deploy, and scale your applications. This brings us closer to the Appwrite mission of making software development more accessible and enjoyable for all developers. + +Starting today, all Pro users have access to three regions of choice, including our two new regions in **New York City** ('NYC'), and **Sydney** ('SYD') that are joining our first region in **Frankfurt** ('FRA'). In the next few weeks, this will be available to all Cloud users, with more regions to come. + +![Overview of all the regions](/images/blog/the-appwrite-network/cloud-regions.png) + +# The plan + +The Appwrite Cloud beta journey began with a single region in Frankfurt, which allowed us to focus on delivering the highest quality and performance on a smaller scale. As we approach the General Availability (GA) of Appwrite Cloud, and with a growing number of developers, projects, and organizations on the platform, we are excited to share the plans to expand the network to include additional regions and edges across the globe. + +| Location | Status | Region | Edge | Timeline | +|---------------------|-----------------------|--------|------|---------------| +| Frankfurt (`FRA`) | Ready and operational | Yes | Yes | Available Now | +| Sydney (`SYD`) | Ready and operational | Yes | Yes | Available Now | +| New York City (`NYC`) | Ready and operational | Yes | Yes | Available Now | +| Singapore (`SGP`) | In work | Yes | Yes | Q4 2025 | +| San Francisco (`SFO`) | In work | Yes | Yes | Q4 2025 | +| Bangalore (`BLR`) | In plans | Yes | Yes | TBD | +| Amsterdam (`AMS`) | In plans | Yes | Yes | TBD | +| London (`LON`) | In plans | Yes | Yes | TBD | +| Toronto (`TOR`) | In plans | Yes | Yes | TBD | + + +# Addressing the latency problem + +Latency is a critical factor in the performance of both web and mobile applications. High latency can lead to slow response times, poor user experience, and ultimately, loss of revenue. There are several primary causes of latency: + +- **Physical distance:** The further the data has to travel, the longer it takes. This is known as propagation delay. +- **Network congestion:** Overloaded networks can slow down data transmission. +- **Routing and switching:** Each hop a packet takes through the network can add delays. +- **Server processing time:** The time it takes for a server to process a request and send a response. + +Establishing a global network of regions and edges can significantly reduce latency. For example, without a global network, a request from a user in Sydney to a server in New York could experience latency upwards of 250 milliseconds. With a global network, routing that same request through an edge in Singapore and a region in Frankfurt can reduce latency to under 100 milliseconds. + +A global network allows us to distribute data and processing power closer to the end-users, minimizing the distance that data needs to travel and thus reducing the time it takes for requests and responses to be processed. This results in faster load times, improved performance, and a better overall user experience. + +# Why build the Appwrite Network? + +Building a fully fledged network from scratch is not a decision we take lightly. Here are the key reasons behind this approach: + +**1. Innovation and quality**: By owning the network, we can innovate and optimize in ways that would be impossible with off-the-shelf solutions. This control allows us to deliver a superior developer experience explicitly tailored to your needs. + +**2. Security and trust**: Maintaining control over the infrastructure to ensure the highest standards of security and privacy for Appwrite developers. This helps us ensure you always own and control your data. + +**3. Flexibility and customization**: Having a network allows us to be more agile and responsive to the evolving needs of Appwrite developers. We can quickly adapt and introduce new features and improvements without being constrained by third-party limitations. + +**4. Cost efficiency**: By building and managing the network, we can reduce costs and pass those savings on to Appwrite developers. By maintaining independence, we can ensure predictable costs for compute, and this helps us make Appwrite more affordable for teams of all sizes. + +**5. It’s fun**: At the core of Appwrite, we are geeks who love technology and building stuff from scratch, so you don’t have to. Building a network is not just a business decision but also a passion. It's an opportunity to push the boundaries of what's possible and share that excitement with the Appwrite community of developers. + +# Regions vs Edges vs PoPs + +![Regions vs Edges vs PoPs](/images/blog/the-appwrite-network/regions-edges-pops.png) + +In Appwrite, Regions are where all your core data and services live. This includes your databases, auth, functions, messaging, and storage. Regions are the source of truth, handling heavy workloads and ensuring your application runs reliably while keeping your data compliant with local regulations. + +Edges are about speed. They process requests closer to your users using smart geo-routing, reducing latency by handling compute tasks at the nearest edge location. Edges are perfect for serving cached content, executing lightweight computations, and optimizing user interactions. + +Our global CDN leverages strategically positioned Points of Presence (PoPs) to cache and deliver your content from locations nearest to your users, ensuring rapid load times and enhanced performance. + +In short, a region hosts your data, and the edge executes your functions close to your users. Both regions and edges take advantage of the Appwrite CDN to optimize delivery and security. + +# Data storage and global availability + +One of the key features of the Appwrite Network is the ability to choose where your project's data is stored. You can select your preferred region, ensuring compliance with local data regulations and optimizing performance for your primary user base. However, thanks to the global network of edges, your data will be accessible worldwide on the Appwrite network, ensuring fast and reliable access for users regardless of their location. + +Each region will also function as an edge for other regions, enhancing network coverage and reducing latency. This interconnected approach ensures that we can deliver the best possible performance and reliability for all Appwrite developers and your end-users. + +# Global CDN with integrated DDoS protection + +All Appwrite’s Cloud projects are served by Appwrite’s built-in CDN. Our new global CDN is designed to serve your content rapidly and reliably worldwide. By leveraging a network of strategically located points of presence (PoPs), the CDN ensures that every user request is delivered from the closest possible location, drastically reducing latency and enhancing the overall user experience. + +Moreover, the CDN includes integrated DDoS protection that combines standard traffic analysis, rate limiting, and filtering techniques to help mitigate potential threats in real time. This balanced approach helps maintain solid performance while providing a reliable level of security for your applications. + +# Web application firewall (WAF) + +Our [Web Application Firewall](/docs/products/network/waf) (WAF) is now available exclusively to enterprise customers, providing a crucial protective layer for your applications. Operating at OSI Layer 7, the WAF inspects and filters all HTTP/HTTPS traffic in real time, effectively blocking common web vulnerabilities such as SQL injection, XSS, and CSRF, while also mitigating application-level DDoS attacks. + +Customizable rulesets allow you to tailor the WAF to your application's specific needs, with detailed analysis of request headers, payloads, and query strings to identify and neutralize threats before they reach your infrastructure. Setup and configuration are managed through your dedicated Appwrite success manager, ensuring that the WAF adapts to evolving security challenges and compliance requirements. To learn more about our enterprise plan, you can [contact us](/contact-us/enterprise). + +# The road ahead + +We welcome you to visit the docs to learn more about the [Appwrite Network](/docs/products/network) and how Appwrite handle's other topics like [secure transportation](/docs/products/network/tls), [compression](/docs/products/network/compression), [caching](/docs/products/network/caching) and more. + +We are excited about the future of the Appwrite network and the endless possibilities it will unlock for developers worldwide. Stay tuned for more updates as we continue to build and expand the network. Thank you for being part of the Appwrite community and for your ongoing support. Together, we are building the future of cloud platforms designed for developers. + diff --git a/src/routes/blog/post/understand-data-queries/+page.markdoc b/src/routes/blog/post/understand-data-queries/+page.markdoc index 26c328b3e..5f74da1bb 100644 --- a/src/routes/blog/post/understand-data-queries/+page.markdoc +++ b/src/routes/blog/post/understand-data-queries/+page.markdoc @@ -77,7 +77,7 @@ One of the data retrieval APIs the Appwrite Database offers is a list documents import { Client, Databases, Query } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const databases = new Databases(client); diff --git a/src/routes/blog/post/what-is-mcp/+page.markdoc b/src/routes/blog/post/what-is-mcp/+page.markdoc index bb3d8e77a..b964791ba 100644 --- a/src/routes/blog/post/what-is-mcp/+page.markdoc +++ b/src/routes/blog/post/what-is-mcp/+page.markdoc @@ -7,7 +7,8 @@ cover: /images/blog/what-is-mcp/cover.png timeToRead: 7 author: ebenezer-don category: tutorial -featured: true +featured: false +callToAction: true --- If you've ever tried using an AI assistant for something practical, like pulling real data from your work files, checking a database, or sending a message, then you've probably hit a frustrating wall. diff --git a/src/routes/changelog/(entries)/2025-04-16.markdoc b/src/routes/changelog/(entries)/2025-04-16.markdoc new file mode 100644 index 000000000..e8d8c5e6b --- /dev/null +++ b/src/routes/changelog/(entries)/2025-04-16.markdoc @@ -0,0 +1,22 @@ +--- +layout: changelog +title: "Announcing the Appwrite Network: Appwrite’s vision for a global cloud infrastructure" +date: 2025-04-16 +cover: /images/changelog/2025-04-15.png +--- + +We’re excited to launch the **Appwrite Network**, a global network of cloud regions and edge locations designed to enhance Appwrite Cloud’s availability, performance, and regulatory compliance. + +Starting today, all Pro users can access three regions: **Frankfurt (FRA)**, our first region, and two new regions in **New York City (NYC)** and **Sydney (SYD)**. These new regions will be available to all Cloud users in the coming weeks, with more regions to follow. + +# Key features of the Appwrite Network + +- **Reduced latency with global coverage:** By distributing regions and edge locations worldwide, we minimize physical distance and routing delays, ensuring faster response times and better user experiences. + +- **Regional data control with global access:** Choose where your data resides to meet local regulations and optimize for performance, while still ensuring global availability through Appwrite’s interconnected network. + +- **Global CDN with built-in DDoS protection:** Deliver content faster with our CDN powered by strategically placed PoPs, and stay secure with integrated DDoS mitigation that filters threats in real-time. + +We’re just getting started with the Appwrite Network and can’t wait to share what’s next. Thanks for being part of the journey, together, we’re shaping the future of cloud platforms for developers. + +[Read the announcement to learn more](/blog/post/the-appwrite-network). diff --git a/src/routes/docs/+page.svelte b/src/routes/docs/+page.svelte index a36f85523..eb3c3b075 100644 --- a/src/routes/docs/+page.svelte +++ b/src/routes/docs/+page.svelte @@ -271,6 +271,28 @@

Respond to server events in realtime.

+
  • + + + +

    Network

    +

    + Global infrastructure for serverless compute. +

    +
    +
  • diff --git a/src/routes/docs/Sidebar.svelte b/src/routes/docs/Sidebar.svelte index c93f951d2..589a6849a 100644 --- a/src/routes/docs/Sidebar.svelte +++ b/src/routes/docs/Sidebar.svelte @@ -25,7 +25,7 @@ icon: 'icon-cog' }, { - label: 'API reference', + label: 'API references', href: '/docs/references', icon: 'icon-document', isParent: true @@ -65,6 +65,13 @@ icon: 'icon-folder', isParent: true }, + { + label: 'Network', + href: '/docs/products/network', + icon: 'icon-share', + isParent: true, + new: true + }, { label: 'AI', href: '/docs/products/ai', diff --git a/src/routes/docs/advanced/platform/+page.markdoc b/src/routes/docs/advanced/platform/+page.markdoc index c98aa5523..bd89d51c6 100644 --- a/src/routes/docs/advanced/platform/+page.markdoc +++ b/src/routes/docs/advanced/platform/+page.markdoc @@ -73,7 +73,7 @@ Coming soon. {% /cards_item %} {% cards_item href="/docs/advanced/platform/enterprise" title="Enterprise" %} -Coming soon. +Learn about Appwrite Enterprise, for large organizations with advanced needs. {% /cards_item %} {% cards_item href="/docs/advanced/platform/oss" title="Open source" %} diff --git a/src/routes/docs/advanced/platform/enterprise/+page.markdoc b/src/routes/docs/advanced/platform/enterprise/+page.markdoc index 0119c6cfb..1e876c784 100644 --- a/src/routes/docs/advanced/platform/enterprise/+page.markdoc +++ b/src/routes/docs/advanced/platform/enterprise/+page.markdoc @@ -7,4 +7,4 @@ description: How Appwrite can accelerate enterprise development teams and provid Enterprise development teams face unique challenges and have unique needs. Appwrite can provide tailored solutions for enterprise customers with custom hosting, training, and support needs. -If you're interested to learn about what Appwrite can do for your enterprise development teams, [contact us](https://appwrite.io/contact-us) for more details. \ No newline at end of file +If you're interested to learn about what Appwrite can do for your enterprise development teams, [contact us](https://appwrite.io/contact-us/enterprise) for more details. \ No newline at end of file diff --git a/src/routes/docs/advanced/platform/message-templates/+page.markdoc b/src/routes/docs/advanced/platform/message-templates/+page.markdoc index 2edbaa309..0b6fe9f2b 100644 --- a/src/routes/docs/advanced/platform/message-templates/+page.markdoc +++ b/src/routes/docs/advanced/platform/message-templates/+page.markdoc @@ -130,7 +130,7 @@ const client = new Client(); const account = new Account(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setLocale('fr') // Your locale ; @@ -152,7 +152,7 @@ void main() { // Init SDK Account account = Account(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setLocale('fr') // Your locale ; @@ -172,7 +172,7 @@ import io.appwrite.Client import io.appwrite.services.Account val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setLocale('fr') // Your locale @@ -185,7 +185,7 @@ val response = account.createVerification('https://example.com') import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setLocale('fr') // Your locale diff --git a/src/routes/docs/advanced/platform/permissions/+page.markdoc b/src/routes/docs/advanced/platform/permissions/+page.markdoc index e7e349dec..78a5b0033 100644 --- a/src/routes/docs/advanced/platform/permissions/+page.markdoc +++ b/src/routes/docs/advanced/platform/permissions/+page.markdoc @@ -71,7 +71,7 @@ In the following example, we are creating a document that can be read by anyone, import { Client, Databases, Permission, Role } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const databases = new Databases(client); @@ -104,7 +104,7 @@ In the following example, we are creating a document that can be read by members import { Client, Databases, Permission, Role } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const databases = new Databases(client); diff --git a/src/routes/docs/advanced/platform/webhooks/+page.markdoc b/src/routes/docs/advanced/platform/webhooks/+page.markdoc index 75ddd571a..a133a28a3 100644 --- a/src/routes/docs/advanced/platform/webhooks/+page.markdoc +++ b/src/routes/docs/advanced/platform/webhooks/+page.markdoc @@ -6,7 +6,7 @@ description: Leverage webhooks in the Appwrite platform for real-time updates. L Webhooks allow you to build or set up integrations which subscribe to certain events on Appwrite. When one of those events is triggered, we'll send an HTTP POST payload to the webhook's configured URL. Webhooks can be used to purge cache from CDN, calculate data or send a Slack notification. You're only limited by your imagination. -# Add your webhook {% #addWebhook %} +# Getting started {% #getting-started %} You can set your webhook by adding it from your Appwrite project dashboard. You can access your webhooks settings from your project dashboard or on the left navigation panel. Click the 'Add Webhook' button and choose your webhook name and the events that should trigger it. You can also set an optional basic HTTP authentication username and password to protect your endpoint from unauthorized access. diff --git a/src/routes/docs/advanced/security/https/+page.markdoc b/src/routes/docs/advanced/security/https/+page.markdoc index b1b3751df..e33da7b76 100644 --- a/src/routes/docs/advanced/security/https/+page.markdoc +++ b/src/routes/docs/advanced/security/https/+page.markdoc @@ -12,7 +12,7 @@ Redirected requests will show a `301` response status. ```http HTTP/1.1 301 Moved Permanently Content-Type: application/json -Location: https://cloud.appwrite.io/v1/ +Location: https://.cloud.appwrite.io/v1/ ``` Appwrite Cloud does not support HTTP, which is a common practice in modern development, because unencrypted diff --git a/src/routes/docs/apis/graphql/+page.markdoc b/src/routes/docs/apis/graphql/+page.markdoc index c28f6f62b..b24388846 100644 --- a/src/routes/docs/apis/graphql/+page.markdoc +++ b/src/routes/docs/apis/graphql/+page.markdoc @@ -237,7 +237,7 @@ Appwrite SDKs also support GraphQL in addition to the REST services. import { Client, Graphql } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your Appwrite Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your Appwrite Endpoint .setProject(''); // Your project ID const graphql = new Graphql(client); @@ -274,7 +274,7 @@ mutation.then(response => { import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your Appwrite Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your Appwrite Endpoint .setProject(''); // Your project ID final graphql = Graphql(client); @@ -311,7 +311,7 @@ mutation.then((response) { import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let graphql = Graphql(client) @@ -352,7 +352,7 @@ import io.appwrite.Client import io.appwrite.services.Graphql val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val graphql = Graphql(client) diff --git a/src/routes/docs/apis/realtime/+page.markdoc b/src/routes/docs/apis/realtime/+page.markdoc index 227f460b6..a66c5edfd 100644 --- a/src/routes/docs/apis/realtime/+page.markdoc +++ b/src/routes/docs/apis/realtime/+page.markdoc @@ -15,7 +15,7 @@ This lets you build an interactive and responsive user experience by providing i import { Client } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); // Subscribe to files channel @@ -31,7 +31,7 @@ client.subscribe('files', response => { import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final realtime = Realtime(client); @@ -52,7 +52,7 @@ import Appwrite import AppwriteModels let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let realtime = Realtime(client) @@ -71,7 +71,7 @@ import io.appwrite.Client import io.appwrite.services.Realtime val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val realtime = Realtime(client) @@ -117,7 +117,7 @@ In this example we are subscribing to all updates related to our account by usin import { Client } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); client.subscribe('account', response => { @@ -130,7 +130,7 @@ client.subscribe('account', response => { import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final realtime = Realtime(client); @@ -148,7 +148,7 @@ import Appwrite import AppwriteModels let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let realtime = Realtime(client) @@ -164,7 +164,7 @@ import io.appwrite.Client import io.appwrite.services.Realtime val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val realtime = Realtime(client) @@ -188,7 +188,7 @@ In this example we are listening to the document A and all files by subscribing import { Client } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); client.subscribe(['collections.A.documents.A', 'files'], response => { @@ -201,7 +201,7 @@ client.subscribe(['collections.A.documents.A', 'files'], response => { import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final realtime = Realtime(client); @@ -219,7 +219,7 @@ import Appwrite import AppwriteModels let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let realtime = Realtime(client) @@ -235,7 +235,7 @@ import io.appwrite.Client import io.appwrite.services.Realtime val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val realtime = Realtime(client) @@ -256,7 +256,7 @@ If you no longer want to receive updates from a subscription, you can unsubscrib import { Client } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const unsubscribe = client.subscribe('files', response => { @@ -272,7 +272,7 @@ unsubscribe(); import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final realtime = Realtime(client); @@ -308,7 +308,7 @@ import io.appwrite.Client import io.appwrite.services.Realtime val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val realtime = Realtime(client) @@ -466,35 +466,35 @@ A list of all channels available you can subscribe to. IDs cannot be wildcards. The SDK will guess the endpoint of the Realtime API when setting the endpoint of your Appwrite instance. If you are running Appwrite with a custom proxy and changed the route of the Realtime API, you can call the `setEndpointRealtime` method on the Client SDK and set your new endpoint value. -By default the endpoint is `wss://cloud.appwrite.io/v1/realtime`. +By default the endpoint is `wss://.cloud.appwrite.io/v1/realtime`. {% multicode %} ```client-web import { Client } from "appwrite"; const client = new Client(); -client.setEndpointRealtime('wss://cloud.appwrite.io/v1/realtime'); +client.setEndpointRealtime('wss://.cloud.appwrite.io/v1/realtime'); ``` ```client-flutter import 'package:appwrite/appwrite.dart'; final client = Client(); -client.setEndpointRealtime('wss://cloud.appwrite.io/v1/realtime'); +client.setEndpointRealtime('wss://.cloud.appwrite.io/v1/realtime'); ``` ```client-apple import Appwrite let client = Client() -client.setEndpointRealtime("wss://cloud.appwrite.io/v1/realtime") +client.setEndpointRealtime("wss://.cloud.appwrite.io/v1/realtime") ``` ```client-android-kotlin import io.appwrite.Client val client = Client(context) -client.setEndpointRealtime("wss://cloud.appwrite.io/v1/realtime") +client.setEndpointRealtime("wss://.cloud.appwrite.io/v1/realtime") ``` {% /multicode %} diff --git a/src/routes/docs/products/ai/integrations/elevenlabs/+page.markdoc b/src/routes/docs/products/ai/integrations/elevenlabs/+page.markdoc index 274cd5bb9..785d75832 100644 --- a/src/routes/docs/products/ai/integrations/elevenlabs/+page.markdoc +++ b/src/routes/docs/products/ai/integrations/elevenlabs/+page.markdoc @@ -209,7 +209,7 @@ Next add code to validate the body of the request and initialize the Appwrite SD ```js const client = new Client() - .setEndpoint(process.env.APPWRITE_ENDPOINT ?? "https://cloud.appwrite.io/v1") + .setEndpoint(process.env.APPWRITE_ENDPOINT ?? "https://.cloud.appwrite.io/v1") .setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID) .setKey(process.env.APPWRITE_API_KEY); diff --git a/src/routes/docs/products/ai/integrations/langchain/+page.markdoc b/src/routes/docs/products/ai/integrations/langchain/+page.markdoc index 3c907af81..2ad5d5bee 100644 --- a/src/routes/docs/products/ai/integrations/langchain/+page.markdoc +++ b/src/routes/docs/products/ai/integrations/langchain/+page.markdoc @@ -262,7 +262,7 @@ export default class AppwriteService { const client = new Client(); client .setEndpoint( - process.env.APPWRITE_ENDPOINT ?? 'https://cloud.appwrite.io/v1' + process.env.APPWRITE_ENDPOINT ?? 'https://.cloud.appwrite.io/v1' ) .setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID) .setKey(process.env.APPWRITE_API_KEY); diff --git a/src/routes/docs/products/ai/integrations/lmnt/+page.markdoc b/src/routes/docs/products/ai/integrations/lmnt/+page.markdoc index 37355545c..adbefb2dd 100644 --- a/src/routes/docs/products/ai/integrations/lmnt/+page.markdoc +++ b/src/routes/docs/products/ai/integrations/lmnt/+page.markdoc @@ -216,7 +216,7 @@ import Speech from 'lmnt-node'; Next, add code to validate the body of the request and initialize the Appwrite SDK also within `main.js` following the previously added GET handler: ```js -const endpoint = process.env.APPWRITE_ENDPOINT ?? "https://cloud.appwrite.io/v1"; +const endpoint = process.env.APPWRITE_ENDPOINT ?? "https://.cloud.appwrite.io/v1"; const client = new Client() .setEndpoint(endpoint) diff --git a/src/routes/docs/products/ai/integrations/openai/+page.markdoc b/src/routes/docs/products/ai/integrations/openai/+page.markdoc index 1c880c1e4..9ee55f993 100644 --- a/src/routes/docs/products/ai/integrations/openai/+page.markdoc +++ b/src/routes/docs/products/ai/integrations/openai/+page.markdoc @@ -205,7 +205,7 @@ Add code to validate the body of the request and initialize the Appwrite SDK: ```js const client = new Client() - .setEndpoint(process.env.APPWRITE_ENDPOINT ?? "https://cloud.appwrite.io/v1") + .setEndpoint(process.env.APPWRITE_ENDPOINT ?? "https://.cloud.appwrite.io/v1") .setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID) .setKey(process.env.APPWRITE_API_KEY); diff --git a/src/routes/docs/products/ai/integrations/pinecone/+page.markdoc b/src/routes/docs/products/ai/integrations/pinecone/+page.markdoc index e0ad73eaf..e1f9f286b 100644 --- a/src/routes/docs/products/ai/integrations/pinecone/+page.markdoc +++ b/src/routes/docs/products/ai/integrations/pinecone/+page.markdoc @@ -231,7 +231,7 @@ export default class AppwriteService { const client = new Client(); client .setEndpoint( - process.env.APPWRITE_ENDPOINT ?? 'https://cloud.appwrite.io/v1' + process.env.APPWRITE_ENDPOINT ?? 'https://.cloud.appwrite.io/v1' ) .setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID) .setKey(process.env.APPWRITE_API_KEY); diff --git a/src/routes/docs/products/ai/integrations/togetherai/+page.markdoc b/src/routes/docs/products/ai/integrations/togetherai/+page.markdoc index ee6741474..26c3c1d1b 100644 --- a/src/routes/docs/products/ai/integrations/togetherai/+page.markdoc +++ b/src/routes/docs/products/ai/integrations/togetherai/+page.markdoc @@ -285,7 +285,7 @@ let resJson = await response.json(); // Upload image to Appwrite Storage and return URL if (req.body.type === 'image') { - const endpoint = process.env.APPWRITE_ENDPOINT || 'https://cloud.appwrite.io/v1' + const endpoint = process.env.APPWRITE_ENDPOINT || 'https://.cloud.appwrite.io/v1' const client = new Client() .setEndpoint(endpoint) diff --git a/src/routes/docs/products/ai/tutorials/image-classification/+page.markdoc b/src/routes/docs/products/ai/tutorials/image-classification/+page.markdoc index 24932c769..f5f6c1e3f 100644 --- a/src/routes/docs/products/ai/tutorials/image-classification/+page.markdoc +++ b/src/routes/docs/products/ai/tutorials/image-classification/+page.markdoc @@ -119,7 +119,7 @@ class AppwriteService { const client = new Client(); client .setEndpoint( - process.env.APPWRITE_ENDPOINT ?? 'https://cloud.appwrite.io/v1' + process.env.APPWRITE_ENDPOINT ?? 'https://.cloud.appwrite.io/v1' ) .setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID) .setKey(process.env.APPWRITE_API_KEY); diff --git a/src/routes/docs/products/ai/tutorials/music-generation/+page.markdoc b/src/routes/docs/products/ai/tutorials/music-generation/+page.markdoc index 9cd1f9fb0..9599314b2 100644 --- a/src/routes/docs/products/ai/tutorials/music-generation/+page.markdoc +++ b/src/routes/docs/products/ai/tutorials/music-generation/+page.markdoc @@ -58,7 +58,7 @@ class AppwriteService { const client = new Client(); client .setEndpoint( - process.env.APPWRITE_ENDPOINT ?? 'https://cloud.appwrite.io/v1' + process.env.APPWRITE_ENDPOINT ?? 'https://.cloud.appwrite.io/v1' ) .setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID) .setKey(process.env.APPWRITE_API_KEY); diff --git a/src/routes/docs/products/ai/tutorials/object-detection/+page.markdoc b/src/routes/docs/products/ai/tutorials/object-detection/+page.markdoc index ac9091373..6419aef59 100644 --- a/src/routes/docs/products/ai/tutorials/object-detection/+page.markdoc +++ b/src/routes/docs/products/ai/tutorials/object-detection/+page.markdoc @@ -102,7 +102,7 @@ class AppwriteService { const client = new Client(); client .setEndpoint( - process.env.APPWRITE_ENDPOINT ?? 'https://cloud.appwrite.io/v1' + process.env.APPWRITE_ENDPOINT ?? 'https://.cloud.appwrite.io/v1' ) .setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID) .setKey(process.env.APPWRITE_API_KEY); diff --git a/src/routes/docs/products/ai/tutorials/speech-recognition/+page.markdoc b/src/routes/docs/products/ai/tutorials/speech-recognition/+page.markdoc index fc914d72f..5773de99f 100644 --- a/src/routes/docs/products/ai/tutorials/speech-recognition/+page.markdoc +++ b/src/routes/docs/products/ai/tutorials/speech-recognition/+page.markdoc @@ -57,7 +57,7 @@ class AppwriteService { const client = new Client(); client .setEndpoint( - process.env.APPWRITE_ENDPOINT ?? 'https://cloud.appwrite.io/v1' + process.env.APPWRITE_ENDPOINT ?? 'https://.cloud.appwrite.io/v1' ) .setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID) .setKey(process.env.APPWRITE_API_KEY); diff --git a/src/routes/docs/products/ai/tutorials/text-to-speech/+page.markdoc b/src/routes/docs/products/ai/tutorials/text-to-speech/+page.markdoc index 4a20af529..87371c65b 100644 --- a/src/routes/docs/products/ai/tutorials/text-to-speech/+page.markdoc +++ b/src/routes/docs/products/ai/tutorials/text-to-speech/+page.markdoc @@ -58,7 +58,7 @@ class AppwriteService { const client = new Client(); client .setEndpoint( - process.env.APPWRITE_ENDPOINT ?? 'https://cloud.appwrite.io/v1' + process.env.APPWRITE_ENDPOINT ?? 'https://.cloud.appwrite.io/v1' ) .setProject(process.env.APPWRITE_FUNCTION_PROJECT_ID) .setKey(process.env.APPWRITE_API_KEY); diff --git a/src/routes/docs/products/auth/accounts/+page.markdoc b/src/routes/docs/products/auth/accounts/+page.markdoc index 8515ea8c2..f692d8496 100644 --- a/src/routes/docs/products/auth/accounts/+page.markdoc +++ b/src/routes/docs/products/auth/accounts/+page.markdoc @@ -31,7 +31,7 @@ Preferences are stored as a key-value JSON object. The maximum allowed size for import { Client, Account } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); @@ -48,7 +48,7 @@ promise.then(function (response) { import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID final account = Account(client); @@ -64,7 +64,7 @@ final user = await account.updatePrefs( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let account = Account(client) @@ -81,7 +81,7 @@ import io.appwrite.Client import io.appwrite.services.Account val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val account = Account(client) @@ -115,7 +115,7 @@ After a user's preferences are updated, they can be retrieved using the [get acc import { Client, Account } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); @@ -132,7 +132,7 @@ promise.then(function (response) { import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID final account = Account(client); @@ -144,7 +144,7 @@ import io.appwrite.Client import io.appwrite.services.Account val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val account = Account(client) @@ -155,7 +155,7 @@ val prefs = account.getPrefs() import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let account = Account(client) diff --git a/src/routes/docs/products/auth/anonymous/+page.markdoc b/src/routes/docs/products/auth/anonymous/+page.markdoc index 4caa0ba1b..d9c677ce3 100644 --- a/src/routes/docs/products/auth/anonymous/+page.markdoc +++ b/src/routes/docs/products/auth/anonymous/+page.markdoc @@ -17,7 +17,7 @@ Create an anonymous session with [Create Anonymous Session](/docs/references/clo import { Client, Account } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); @@ -34,7 +34,7 @@ promise.then(function (response) { import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID final account = Account(client); @@ -45,7 +45,7 @@ final user = await account.createAnonymousSession(); import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let account = Account(client) @@ -57,7 +57,7 @@ import io.appwrite.Client import io.appwrite.services.Account val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val account = Account(client) diff --git a/src/routes/docs/products/auth/custom-token/+page.markdoc b/src/routes/docs/products/auth/custom-token/+page.markdoc index 21e4f932f..af509beef 100644 --- a/src/routes/docs/products/auth/custom-token/+page.markdoc +++ b/src/routes/docs/products/auth/custom-token/+page.markdoc @@ -17,7 +17,7 @@ Once you have your server endpoint prepared either in an Appwrite Function or a import { Client, Users } from "node-appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID .setKey(''); // Your project API key @@ -32,7 +32,7 @@ use Appwrite\Client; use Appwrite\Users; $client = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey(''); // Your project API key @@ -49,7 +49,7 @@ from appwrite.users import Users client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your project API key ) @@ -66,7 +66,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your project API key @@ -80,7 +80,7 @@ secret = token['secret'] import { Client, Users } from "https://deno.land/x/appwrite/mod.ts"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey(''); // Your project API key @@ -94,7 +94,7 @@ const secret = token.secret; import 'package:dart_appwrite/dart_appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey(''); // Your project API key @@ -109,7 +109,7 @@ import io.appwrite.Client import io.appwrite.Users val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your project API key @@ -123,7 +123,7 @@ val secret = token.secret import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your project API key @@ -137,7 +137,7 @@ let secret = token.secret using Appwrite; var client = new Client() - .SetEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey(""); // Your project API key @@ -166,7 +166,7 @@ Once the client receives a token secret, we can use it to authenticate the user import { Client, Account } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); @@ -181,7 +181,7 @@ const session = await account.createSession( import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final account = Account(client); @@ -195,7 +195,7 @@ final session = await account.createSession( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); let account = Account(client); @@ -211,7 +211,7 @@ import io.appwrite.Client import io.appwrite.services.Account val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); val account = Account(client); diff --git a/src/routes/docs/products/auth/email-otp/+page.markdoc b/src/routes/docs/products/auth/email-otp/+page.markdoc index aa80e26fd..633f14431 100644 --- a/src/routes/docs/products/auth/email-otp/+page.markdoc +++ b/src/routes/docs/products/auth/email-otp/+page.markdoc @@ -30,7 +30,7 @@ Send an an email to initiate the authentication process. A **new account** will import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); @@ -47,7 +47,7 @@ const userId = sessionToken.userId; import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final account = Account(client); @@ -63,7 +63,7 @@ final userId = sessionToken.userId; import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); let account = Account(client); @@ -82,7 +82,7 @@ import io.appwrite.services.Account import io.appwrite.ID val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); val account = Account(client); @@ -117,7 +117,7 @@ After initiating the email OTP authentication process, the returned user ID and import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); @@ -132,7 +132,7 @@ const session = await account.createSession( import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final account = Account(client); @@ -146,7 +146,7 @@ final session = await account.createSession( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); let account = Account(client); @@ -162,7 +162,7 @@ import io.appwrite.services.Account import io.appwrite.ID val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); val account = Account(client); @@ -199,7 +199,7 @@ By default, security phrases are disabled. To enable a security phrase in Email import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); diff --git a/src/routes/docs/products/auth/jwt/+page.markdoc b/src/routes/docs/products/auth/jwt/+page.markdoc index 57a9a7904..5b55aa436 100644 --- a/src/routes/docs/products/auth/jwt/+page.markdoc +++ b/src/routes/docs/products/auth/jwt/+page.markdoc @@ -27,7 +27,7 @@ You can generate a JWT like this on a [Client SDK](/docs/sdks#client). import { Client, Account } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); @@ -38,7 +38,7 @@ const user = await account.createJWT(); import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID final account = Account(client); @@ -49,7 +49,7 @@ final jwt = await account.createJWT(); import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let account = Account(client) @@ -61,7 +61,7 @@ import io.appwrite.Client import io.appwrite.services.Account val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val account = Account(client) @@ -85,7 +85,7 @@ Use JWTs tokens like this in a [Server SDK](/docs/sdks#server). const { Client } = require('node-appwrite'); const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJJ9.eyJ...886ca'); // Your secret JSON Web Token ``` @@ -94,7 +94,7 @@ const client = new Client() use Appwrite\Client; $client = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setJWT('eyJJ9.eyJ...886ca'); // Your secret JSON Web Token ``` @@ -105,7 +105,7 @@ from appwrite.client import Client client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_jwt('eyJJ9.eyJ...886ca') # Your secret JSON Web Token ) @@ -117,7 +117,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_jwt('eyJJ9.eyJ...886ca') # Your secret JSON Web Token ``` @@ -126,7 +126,7 @@ client = Client.new import { Client } from "https://deno.land/x/appwrite/mod.ts"; let client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJJ9.eyJ...886ca'); // Your secret JSON Web Token ``` @@ -135,7 +135,7 @@ let client = new Client() import 'package:dart_appwrite/dart_appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJJ9.eyJ...886ca'); // Your secret JSON Web Token ``` @@ -144,7 +144,7 @@ final client = Client() import io.appwrite.Client val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setJWT("eyJJ9.eyJ...886ca") // Your secret JSON Web Token ``` @@ -153,7 +153,7 @@ val client = Client() import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setJWT("eyJJ9.eyJ...886ca") // Your secret JSON Web Token ``` @@ -162,7 +162,7 @@ let client = Client() using Appwrite; var client = new Client() - .SetEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetJWT("eyJJ9.eyJ...886ca"); // Your secret JSON Web Token ``` @@ -194,7 +194,7 @@ If you're authenticated on the client-side as `user-a` and created a JWT `'eyJJ9 const { Client } = require('node-appwrite'); const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJJ9.eyJ...886ca'); // Your secret JSON Web Token @@ -210,7 +210,7 @@ const documents = await databases.listDocuments( use Appwrite\Client; $client = (new Client()) - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJJ9.eyJ...886ca'); // Your secret JSON Web Tokens @@ -228,7 +228,7 @@ from appwrite.client import Client client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_jwt('eyJJ9.eyJ...886ca') # Your secret JSON Web Token ) @@ -247,7 +247,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_jwt('eyJJ9.eyJ...886ca') # Your secret JSON Web Token @@ -263,7 +263,7 @@ documents = databases.list_documents( import { Client } from "https://deno.land/x/appwrite/mod.ts"; let client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJJ9.eyJ...886ca'); // Your secret JSON Web Token @@ -279,7 +279,7 @@ let documents = await databases.listDocuments( import 'package:dart_appwrite/dart_appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJJ9.eyJ...886ca'); // Your secret JSON Web Token @@ -295,7 +295,7 @@ final documents = await databases.listDocuments( import io.appwrite.Client val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setJWT("eyJJ9.eyJ...886ca") // Your secret JSON Web Token @@ -311,7 +311,7 @@ val documents = databases.listDocuments( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setJWT("eyJJ9.eyJ...886ca") // Your secret JSON Web Token @@ -329,7 +329,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetJWT("eyJJ9.eyJ...886ca"); // Your secret JSON Web Token @@ -372,7 +372,7 @@ If the same request is made where the [Server SDK](/docs/sdks#server)'s `client` const { Client } = require('node-appwrite'); const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('98fd4...a2ad2'); // Your secret API key @@ -389,7 +389,7 @@ const documents = await databases.listDocuments( use Appwrite\Client; $client = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('98fd4...a2ad2'); // Your secret API key @@ -407,7 +407,7 @@ from appwrite.client import Client client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .set_project('') // Your project ID .set_key('98fd4...a2ad2') // Your secret API key ) @@ -426,7 +426,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('98fd4...a2ad2') # Your secret API key @@ -442,7 +442,7 @@ documents = databases.list_documents( import { Client } from "https://deno.land/x/appwrite/mod.ts"; let client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('98fd4...a2ad2'); // Your secret API key @@ -458,7 +458,7 @@ let documents = await databases.listDocuments( import 'package:dart_appwrite/dart_appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('98fd4...a2ad2'); // Your secret API key @@ -474,7 +474,7 @@ final documents = await databases.listDocuments( import io.appwrite.Client val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey('98fd4...a2ad2'); // Your secret API key @@ -490,7 +490,7 @@ val documents = databases.listDocuments( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey('98fd4...a2ad2'); // Your secret API key @@ -508,7 +508,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey('98fd4...a2ad2'); // Your secret API key diff --git a/src/routes/docs/products/auth/labels/+page.markdoc b/src/routes/docs/products/auth/labels/+page.markdoc index e2d85e5ab..b4c507be2 100644 --- a/src/routes/docs/products/auth/labels/+page.markdoc +++ b/src/routes/docs/products/auth/labels/+page.markdoc @@ -11,7 +11,7 @@ Labels are a good way to categorize a user to grant them access to resources. Fo const sdk = require('node-appwrite'); const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('98fd4...a2ad2'); // Your secret API key @@ -37,7 +37,7 @@ use Appwrite\Role; $client = new Client(); $client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('98fd4...a2ad2'); // Your secret API key @@ -57,7 +57,7 @@ from appwrite.role import Role client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('98fd4...a2ad2') # Your secret API key ) @@ -75,7 +75,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('98fd4...a2ad2') # Your secret API key @@ -91,7 +91,7 @@ response = users.update_labels( import * as sdk from "https://deno.land/x/appwrite/mod.ts"; let client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('98fd4...a2ad2'); // Your secret API key @@ -112,7 +112,7 @@ promise.then(function (response) { import 'package:dart_appwrite/dart_appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('98fd4...a2ad2'); // Your secret API key @@ -129,7 +129,7 @@ import io.appwrite.Role import io.appwrite.services.Users val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("98fd4...a2ad2") // Your secret API key @@ -145,7 +145,7 @@ val response = users.updateLabels( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("98fd4...a2ad2") // Your secret API key @@ -161,7 +161,7 @@ let response = try await users.updateLabels( using Appwrite; var client = new Client() - .SetEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("98fd4...a2ad2"); // Your secret API key diff --git a/src/routes/docs/products/auth/magic-url/+page.markdoc b/src/routes/docs/products/auth/magic-url/+page.markdoc index 4506fbcd9..060473a9f 100644 --- a/src/routes/docs/products/auth/magic-url/+page.markdoc +++ b/src/routes/docs/products/auth/magic-url/+page.markdoc @@ -15,7 +15,7 @@ Initialize the log in process with the [Create Magic URL Token](/docs/references import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); @@ -58,7 +58,7 @@ After the user clicks the magic link in their email, they will be redirected to import { Client, Account } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); diff --git a/src/routes/docs/products/auth/mfa/+page.markdoc b/src/routes/docs/products/auth/mfa/+page.markdoc index 6c3fcd530..949ff124d 100644 --- a/src/routes/docs/products/auth/mfa/+page.markdoc +++ b/src/routes/docs/products/auth/mfa/+page.markdoc @@ -32,7 +32,7 @@ const account = new Account(client); const avatars = new Avatars(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; ``` @@ -46,7 +46,7 @@ void main() { // Init SDK Avatars avatars = Avatars(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; } @@ -56,7 +56,7 @@ void main() { // Init SDK import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let account = Account(client) @@ -68,7 +68,7 @@ import io.appwrite.Client import io.appwrite.services.Account val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val account = Account(client) diff --git a/src/routes/docs/products/auth/oauth2/+page.markdoc b/src/routes/docs/products/auth/oauth2/+page.markdoc index bca15e3d0..1e415d906 100644 --- a/src/routes/docs/products/auth/oauth2/+page.markdoc +++ b/src/routes/docs/products/auth/oauth2/+page.markdoc @@ -28,7 +28,7 @@ Before using OAuth 2 login, you need to enable and configure an OAuth 2 login pr To initialize the OAuth 2 login process, use the [Create OAuth 2 Session](/docs/references/cloud/client-web/account#createOAuth2Session) route. -OAuth2 sessions allow you to specify the scope of the access you want to request from the OAuth2 provider. +OAuth2 sessions allow you to specify the scope of the access you want to request from the OAuth2 provider. The requested scopes describe which resources a session can access. You can pass the scopes to request through the `scopes` parameter when creating a session. @@ -40,7 +40,7 @@ The scope is provider-specific and can be found in the provider's documentation. import { Client, Account, OAuthProvider } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); @@ -78,7 +78,7 @@ import 'package:appwrite/appwrite.dart'; import 'package:appwrite/enums.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID final account = Account(client); @@ -126,7 +126,7 @@ import Appwrite import AppwriteEnums let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let account = Account(client) @@ -140,7 +140,7 @@ try await account.createOAuth2Session( {% /tabsitem %} {% tabsitem #android title="Android" %} -For Android, add the following activity inside the `` tag in your `AndroidManifest.xml`. +For Android, add the following activity inside the `` tag in your `AndroidManifest.xml`. Replace `` with your actual Appwrite project ID. ```xml @@ -160,7 +160,7 @@ import io.appwrite.services.Account import io.appwrite.enums.OAuthProvider val client = Client(context) // Activity or application context - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val account = Account(client) @@ -259,7 +259,7 @@ console.log(session.providerAccessToken); import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID final account = Account(client); @@ -277,7 +277,7 @@ print(session.providerAccessToken); import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let account = Account(client) @@ -296,7 +296,7 @@ import io.appwrite.Client import io.appwrite.services.Account val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val account = Account(client) @@ -326,13 +326,13 @@ You can use the `providerAccessToken` to make requests to your OAuth 2 provider. # Refresh tokens {% #refresh-tokens %} -OAuth 2 sessions expire to protect from security risks. +OAuth 2 sessions expire to protect from security risks. This means the OAuth 2 session with a provider may expire, even when an Appwrite session remains active. -OAuth 2 sessions should be refreshed periodically so access tokens don't expire. +OAuth 2 sessions should be refreshed periodically so access tokens don't expire. -Check the value of `providerAccessTokenExpiry` to know if the token is expired or is about to expire. +Check the value of `providerAccessTokenExpiry` to know if the token is expired or is about to expire. You can refresh the provider session by calling the [Update OAuth Session](/docs/references/cloud/client-web/account#updateSession) endpoint whenever your user visits your app. -Avoid refreshing before every request, which might cause rate limit problems. +Avoid refreshing before every request, which might cause rate limit problems. {% multicode %} ```client-web @@ -348,7 +348,7 @@ promise.then(function (response) { import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID Account account = Account(client); @@ -361,7 +361,7 @@ final result = await account.updateSession( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let account = Account(client) @@ -375,7 +375,7 @@ import io.appwrite.Client import io.appwrite.services.Account val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val account = Account(client) diff --git a/src/routes/docs/products/auth/phone-sms/+page.markdoc b/src/routes/docs/products/auth/phone-sms/+page.markdoc index d755e3850..1a5fdee08 100644 --- a/src/routes/docs/products/auth/phone-sms/+page.markdoc +++ b/src/routes/docs/products/auth/phone-sms/+page.markdoc @@ -24,7 +24,7 @@ Send an SMS message to initiate the authentication process. A **new account** wi import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); @@ -41,7 +41,7 @@ const userId = token.userId; import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final account = Account(client); @@ -57,7 +57,7 @@ final userId = token.userId; import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); let account = Account(client); @@ -76,7 +76,7 @@ import io.appwrite.services.Account import io.appwrite.ID val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); val account = Account(client); @@ -112,7 +112,7 @@ After initiating the phone authentication process, the returned user ID and secr import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const account = new Account(client); @@ -127,7 +127,7 @@ const session = await account.createSession( import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final account = Account(client); @@ -141,7 +141,7 @@ final session = await account.createSession( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); let account = Account(client); @@ -157,7 +157,7 @@ import io.appwrite.services.Account import io.appwrite.ID val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); val account = Account(client); diff --git a/src/routes/docs/products/auth/quick-start/+page.markdoc b/src/routes/docs/products/auth/quick-start/+page.markdoc index f42e9f759..0d21bdf33 100644 --- a/src/routes/docs/products/auth/quick-start/+page.markdoc +++ b/src/routes/docs/products/auth/quick-start/+page.markdoc @@ -14,7 +14,7 @@ You can use the Appwrite [Client SDKs](/docs/sdks#client) to create an account u import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); @@ -29,7 +29,7 @@ const user = await account.create( import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID final account = Account(client); @@ -44,7 +44,7 @@ final user = await account.create( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let account = Account(client) @@ -61,7 +61,7 @@ import io.appwrite.services.Account import io.appwrite.ID val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val account = Account(client) @@ -85,7 +85,7 @@ mutation { ```client-react-native import { Client, Account, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const account = new Account(client); @@ -501,7 +501,7 @@ class Appwrite { public init() { self.client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") self.account = Account(client) @@ -571,7 +571,7 @@ You can find a version of this example in the [Appwrite Android tutorial](/docs/ //... imports object Appwrite { - private const val ENDPOINT = "https://cloud.appwrite.io/v1" + private const val ENDPOINT = "https://.cloud.appwrite.io/v1" private const val PROJECT_ID = "" private lateinit var client: Client diff --git a/src/routes/docs/products/auth/server-side-rendering/+page.markdoc b/src/routes/docs/products/auth/server-side-rendering/+page.markdoc index 4fdab7316..242d928b3 100644 --- a/src/routes/docs/products/auth/server-side-rendering/+page.markdoc +++ b/src/routes/docs/products/auth/server-side-rendering/+page.markdoc @@ -58,7 +58,7 @@ The API key should have the following scope in order to perform authentication: import { Client } from "node-appwrite"; // Using the server SDK const adminClient = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey(''); // Your secret API key ``` @@ -67,7 +67,7 @@ use Appwrite\Client; use Appwrite\Services\Account; $adminClient = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey(''); // Your secret API key @@ -87,7 +87,7 @@ You should create a new client for each request and **never** share the client b {% multicode %} ```server-nodejs const sessionClient = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const session = req.cookies.session; // Get the session cookie from the request @@ -97,7 +97,7 @@ if (session) { ``` ```php $sessionClient = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject(''); // Your project ID $session = $_COOKIE['session']; // Get the session cookie from the request @@ -290,7 +290,7 @@ const client = new sdk.Client(); const account = new sdk.Account(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; @@ -311,7 +311,7 @@ use Appwrite\Services\Account; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ; @@ -346,7 +346,7 @@ Create an initial endpoint that redirects the user to the OAuth2 provider's auth import { Client, Account, OAuthProvider } from "node-appwrite"; // Using the server SDK const adminClient = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey(''); // Your secret API key @@ -369,7 +369,7 @@ use Appwrite\Services\Account; use Appwrite\Enums\OAuthProvider; $adminClient = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey(''); // Your secret API key @@ -420,7 +420,7 @@ use Appwrite\Client; use Appwrite\Services\Account; $adminClient = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey(''); // Your secret API key diff --git a/src/routes/docs/products/auth/teams/+page.markdoc b/src/routes/docs/products/auth/teams/+page.markdoc index 40cccc83b..bf115a887 100644 --- a/src/routes/docs/products/auth/teams/+page.markdoc +++ b/src/routes/docs/products/auth/teams/+page.markdoc @@ -24,7 +24,7 @@ const client = new Client(); const teams = new Teams(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; @@ -48,7 +48,7 @@ void main() { // Init SDK Teams teams = Teams(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; Future result = teams.create( @@ -69,7 +69,7 @@ void main() { // Init SDK import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let teams = Teams(client) @@ -85,7 +85,7 @@ import io.appwrite.Client import io.appwrite.services.Teams val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val teams = Teams(client) @@ -112,7 +112,7 @@ const client = new Client(); const teams = new Teams(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; @@ -136,7 +136,7 @@ void main() { // Init SDK Teams teams = Teams(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; Future result = teams.createMembership( @@ -157,7 +157,7 @@ void main() { // Init SDK import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let teams = Teams(client) @@ -173,7 +173,7 @@ import io.appwrite.Client import io.appwrite.services.Teams val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val teams = Teams(client) diff --git a/src/routes/docs/products/databases/collections/+page.markdoc b/src/routes/docs/products/databases/collections/+page.markdoc index f3ea086dd..68184f0d8 100644 --- a/src/routes/docs/products/databases/collections/+page.markdoc +++ b/src/routes/docs/products/databases/collections/+page.markdoc @@ -31,7 +31,7 @@ const client = new sdk.Client(); const databases = new sdk.Databases(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -53,7 +53,7 @@ let client = new sdk.Client(); let databases = new sdk.Databases(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -76,7 +76,7 @@ use Appwrite\Services\Databases; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -92,7 +92,7 @@ from appwrite.services.databases import Databases client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -107,7 +107,7 @@ require 'Appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -123,7 +123,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -142,7 +142,7 @@ void main() { // Init SDK Databases databases = Databases(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -166,7 +166,7 @@ import io.appwrite.Client import io.appwrite.services.Databases val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -184,7 +184,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Databases; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -208,7 +208,7 @@ databases.createCollection( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/databases/databases/+page.markdoc b/src/routes/docs/products/databases/databases/+page.markdoc index b43608773..4229a7211 100644 --- a/src/routes/docs/products/databases/databases/+page.markdoc +++ b/src/routes/docs/products/databases/databases/+page.markdoc @@ -26,7 +26,7 @@ const client = new sdk.Client(); const databases = new sdk.Databases(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -48,7 +48,7 @@ let client = new sdk.Client(); let databases = new sdk.Databases(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -71,7 +71,7 @@ use Appwrite\Services\Databases; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -87,7 +87,7 @@ from appwrite.services.databases import Databases client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -102,7 +102,7 @@ require 'Appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -118,7 +118,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -136,7 +136,7 @@ void main() { // Init SDK Databases databases = Databases(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -159,7 +159,7 @@ import io.appwrite.Client import io.appwrite.services.Databases val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -176,7 +176,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Databases; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -199,7 +199,7 @@ databases.create( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/databases/documents/+page.markdoc b/src/routes/docs/products/databases/documents/+page.markdoc index 82fea7b71..f868d0b06 100644 --- a/src/routes/docs/products/databases/documents/+page.markdoc +++ b/src/routes/docs/products/databases/documents/+page.markdoc @@ -19,7 +19,7 @@ In most use cases, you will create documents programmatically. import { Client, Databases, ID } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const databases = new Databases(client); @@ -42,7 +42,7 @@ import 'package:appwrite/appwrite.dart'; void main() async { final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final databases = Databases(client); @@ -65,7 +65,7 @@ import AppwriteModels func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let databases = Databases(client) @@ -88,7 +88,7 @@ import io.appwrite.services.Databases suspend fun main() { val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val databases = Databases(client) @@ -148,7 +148,7 @@ You can change this through [pagination](/docs/products/databases/pagination). import { Client, Databases, Query } from "appwrite"; const client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") const databases = new Databases(client); @@ -172,7 +172,7 @@ import 'package:appwrite/appwrite.dart'; void main() async { final client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") final databases = Databases(client); @@ -196,7 +196,7 @@ import AppwriteModels func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let databases = Databases(client) @@ -221,7 +221,7 @@ import io.appwrite.services.Databases suspend fun main() { val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val databases = Databases(client) diff --git a/src/routes/docs/products/databases/order/+page.markdoc b/src/routes/docs/products/databases/order/+page.markdoc index 0304faa92..2efe13c6f 100644 --- a/src/routes/docs/products/databases/order/+page.markdoc +++ b/src/routes/docs/products/databases/order/+page.markdoc @@ -17,7 +17,7 @@ you can specify the order of the documents returned using the `Query.orderAsc()` import { Client, Databases, Query } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const databases = new Databases(client); @@ -36,7 +36,7 @@ import 'package:appwrite/appwrite.dart'; void main() async { final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final databases = Databases(client); @@ -61,7 +61,7 @@ import AppwriteModels func main() async throws { let client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); let databases = Databases(client) @@ -86,7 +86,7 @@ import io.appwrite.services.Databases suspend fun main() { val client = Client(applicationContext) - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); val databases = Databases(client) diff --git a/src/routes/docs/products/databases/pagination/+page.markdoc b/src/routes/docs/products/databases/pagination/+page.markdoc index a7357fc19..f29a3eb62 100644 --- a/src/routes/docs/products/databases/pagination/+page.markdoc +++ b/src/routes/docs/products/databases/pagination/+page.markdoc @@ -24,7 +24,7 @@ The `Query.offset()` is number of records you wish to skip before selecting reco import { Client, Databases, Query } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const databases = new Databases(client); @@ -54,7 +54,7 @@ import 'package:appwrite/appwrite.dart'; void main() async { final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final databases = Databases(client); @@ -84,7 +84,7 @@ import AppwriteModels func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let databases = Databases(client) @@ -115,7 +115,7 @@ import io.appwrite.services.Databases suspend fun main() { val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val databases = Databases(client) @@ -160,7 +160,7 @@ Pass the first document's ID into the `Query.cursorBefore(firstId)` query method import { Databases, Query } from "appwrite"; const client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); const databases = new Databases(client); @@ -192,7 +192,7 @@ import 'package:appwrite/appwrite.dart'; void main() async { final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final databases = Databases(client); @@ -224,7 +224,7 @@ import AppwriteModels func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let databases = Databases(client) @@ -258,7 +258,7 @@ import io.appwrite.services.Databases suspend fun main() { val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val databases = Databases(client) diff --git a/src/routes/docs/products/databases/queries/+page.markdoc b/src/routes/docs/products/databases/queries/+page.markdoc index 79d392b60..785cae4d9 100644 --- a/src/routes/docs/products/databases/queries/+page.markdoc +++ b/src/routes/docs/products/databases/queries/+page.markdoc @@ -28,7 +28,7 @@ You can change this through [pagination](/docs/products/databases/pagination). import { Client, Databases, Query } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const databases = new Databases(client); @@ -47,7 +47,7 @@ import 'package:appwrite/appwrite.dart'; void main() async { final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final databases = Databases(client); @@ -72,7 +72,7 @@ import AppwriteModels func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let databases = Databases(client) @@ -98,7 +98,7 @@ import io.appwrite.services.Databases suspend fun main() { val client = Client(applicationContext) - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); val databases = Databases(client) diff --git a/src/routes/docs/products/databases/quick-start/+page.markdoc b/src/routes/docs/products/databases/quick-start/+page.markdoc index 6330e9f82..95d0fde4d 100644 --- a/src/routes/docs/products/databases/quick-start/+page.markdoc +++ b/src/routes/docs/products/databases/quick-start/+page.markdoc @@ -33,7 +33,7 @@ Then, in the `My books` collection, copy the collection ID, and replace `.cloud.appwrite.io/v1') .setProject(''); const databases = new Databases(client); @@ -56,7 +56,7 @@ import 'package:appwrite/appwrite.dart'; void main() async { final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final databases = Databases(client); @@ -79,7 +79,7 @@ import AppwriteModels func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let databases = Databases(client) @@ -102,7 +102,7 @@ import io.appwrite.services.Databases suspend fun main() { val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val databases = Databases(client) @@ -146,7 +146,7 @@ Like the previous step, replace ``, ``, and`.cloud.appwrite.io/v1") .setProject("") const databases = new Databases(client); @@ -170,7 +170,7 @@ import 'package:appwrite/appwrite.dart'; void main() async { final client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") final databases = Databases(client); @@ -194,7 +194,7 @@ import AppwriteModels func main() async throws{ let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let databases = Databases(client) @@ -219,7 +219,7 @@ import io.appwrite.services.Databases suspend fun main() { val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val databases = Databases(client) diff --git a/src/routes/docs/products/databases/relationships/+page.markdoc b/src/routes/docs/products/databases/relationships/+page.markdoc index bc8f7fb5d..b5cd7a702 100644 --- a/src/routes/docs/products/databases/relationships/+page.markdoc +++ b/src/routes/docs/products/databases/relationships/+page.markdoc @@ -87,7 +87,7 @@ A relationship attribute with the key `reviews` is added to the movies collectio const { Client, Databases } = require('node-appwrite'); const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const databases = new Databases(client); @@ -110,7 +110,7 @@ use \Appwrite\Client; use \Appwrite\Services\Databases; $client = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject(''); // Your project ID $databases = new Databases($client); @@ -133,7 +133,7 @@ from appwrite.client import Client from appwrite.services.databases import Databases client = (Client() - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('')) # Your project ID databases = Databases(client) @@ -157,7 +157,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1')# Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1')# Your API Endpoint .set_project('') # Your project ID databases = Databases.new(client) @@ -179,7 +179,7 @@ databases.create_relationship_attribute( import { Client, Databases } from "https://deno.land/x/appwrite/mod.ts"; const client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject(""); // Your project ID const databases = new Databases(client); @@ -201,7 +201,7 @@ databases.createRelationshipAttribute( import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID final databases = Databases(client); @@ -224,7 +224,7 @@ import io.appwrite.Client import io.appwrite.services.Databases val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val databases = Databases(client) @@ -246,7 +246,7 @@ databases.createRelationshipAttribute( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let databases = Databases(client) @@ -271,7 +271,7 @@ using Appwrite; using Appwrite.Services; var client = new Client() - .SetEndpoint("https://cloud.appwrite.io/v1") + .SetEndpoint("https://.cloud.appwrite.io/v1") .SetProject(""); var databases = new Databases(client); @@ -303,7 +303,7 @@ You can create both the **parent** and **child** at once in a relationship by ne const { Client, Databases, ID } = require('node-appwrite'); const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const databases = new Databases(client); @@ -327,7 +327,7 @@ await databases.createDocument( import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID final databases = Databases(client); @@ -351,7 +351,7 @@ await databases.createDocument( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let databases = Database(client: client) @@ -377,7 +377,7 @@ import io.appwrite.services.Database import io.appwrite.ID val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val databases = Database(client) @@ -412,7 +412,7 @@ Here's an example connecting reviews to a movie. const { Client, Databases, ID } = require('node-appwrite'); const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const databases = new Databases(client); @@ -436,7 +436,7 @@ await databases.createDocument( import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID final databases = Databases(client); @@ -460,7 +460,7 @@ await databases.createDocument( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let databases = Database(client: client) @@ -486,7 +486,7 @@ import io.appwrite.services.Database import io.appwrite.ID val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val databases = Database(client) @@ -520,7 +520,7 @@ Relationships can be updated by updating the relationship attribute. const { Client, Databases } = require('node-appwrite'); const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const databases = new Databases(client); @@ -544,7 +544,7 @@ await databases.updateDocument( import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final databases = Databases(client); @@ -568,7 +568,7 @@ await databases.updateDocument( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let databases = Database(client: client) @@ -593,7 +593,7 @@ import io.appwrite.Client import io.appwrite.services.Database val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val databases = Database(client) @@ -639,7 +639,7 @@ If the on-delete behavior is **cascade**, deleting the parent documents also del const { Client, Databases } = require('node-appwrite'); const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const databases = new Databases(client); @@ -655,7 +655,7 @@ await databases.deleteDocument( import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final databases = Databases(client); @@ -671,7 +671,7 @@ await databases.deleteDocument( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let databases = Database(client: client) @@ -688,7 +688,7 @@ import io.appwrite.Client import io.appwrite.services.Database val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") val databases = Database(client) @@ -715,7 +715,7 @@ You can also provide explicit permissions to the child document if they should b const { Client, Databases, ID } = require('node-appwrite'); const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const databases = new Databases(client); @@ -743,7 +743,7 @@ await databases.createDocument( import 'package:appwrite/appwrite.dart'; final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final databases = Databases(client); @@ -771,7 +771,7 @@ await databases.createDocument( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let databases = Database(client: client) @@ -799,7 +799,7 @@ databases.createDocument( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let databases = Database(client: client) diff --git a/src/routes/docs/products/functions/execute/+page.markdoc b/src/routes/docs/products/functions/execute/+page.markdoc index 4f1a3d704..88b330e4a 100644 --- a/src/routes/docs/products/functions/execute/+page.markdoc +++ b/src/routes/docs/products/functions/execute/+page.markdoc @@ -659,7 +659,7 @@ mutation { ```http -POST https://cloud.appwrite.io/v1/functions//executions HTTP/1.1 +POST https://.cloud.appwrite.io/v1/functions//executions HTTP/1.1 X-Appwrite-Project: "" X-Appwrite-Response-Format: 1.5.0 Content-Type: application/json diff --git a/src/routes/docs/products/messaging/apns/+page.markdoc b/src/routes/docs/products/messaging/apns/+page.markdoc index e1a2172f7..6964a13c1 100644 --- a/src/routes/docs/products/messaging/apns/+page.markdoc +++ b/src/routes/docs/products/messaging/apns/+page.markdoc @@ -110,7 +110,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -134,7 +134,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -158,7 +158,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -182,7 +182,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -205,7 +205,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -229,7 +229,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -254,7 +254,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -283,7 +283,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -313,7 +313,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -341,7 +341,7 @@ messaging.updateApnsProvider( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/messaging/fcm/+page.markdoc b/src/routes/docs/products/messaging/fcm/+page.markdoc index 8981cb169..066856d9c 100644 --- a/src/routes/docs/products/messaging/fcm/+page.markdoc +++ b/src/routes/docs/products/messaging/fcm/+page.markdoc @@ -107,7 +107,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -128,7 +128,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -149,7 +149,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -170,7 +170,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -190,7 +190,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -211,7 +211,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -233,7 +233,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -259,7 +259,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -286,7 +286,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -311,7 +311,7 @@ messaging.updateFCMProvider( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/messaging/mailgun/+page.markdoc b/src/routes/docs/products/messaging/mailgun/+page.markdoc index c33ffafe8..4e3aaea9b 100644 --- a/src/routes/docs/products/messaging/mailgun/+page.markdoc +++ b/src/routes/docs/products/messaging/mailgun/+page.markdoc @@ -94,7 +94,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -110,7 +110,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -126,7 +126,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('') // Your secret API key ; @@ -141,7 +141,7 @@ from appwrite.client import Client client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key ) @@ -156,7 +156,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key @@ -175,7 +175,7 @@ using Appwrite.Enums; using Appwrite.Enums; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey(""); // Your secret API key @@ -196,7 +196,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -221,7 +221,7 @@ import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Messaging val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key @@ -239,7 +239,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey(""); // Your secret API key @@ -263,7 +263,7 @@ messaging.createEmail( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key @@ -303,7 +303,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -377,7 +377,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('') // Your secret API key ; @@ -403,7 +403,7 @@ from appwrite.client import Client client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key ) @@ -429,7 +429,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key @@ -457,7 +457,7 @@ using Appwrite.Models; using Appwrite.Enums; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey(""); // Your secret API key @@ -486,7 +486,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -518,7 +518,7 @@ import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Messaging val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key @@ -544,7 +544,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey(""); // Your secret API key @@ -575,7 +575,7 @@ messaging.updateSendgridProvider( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key diff --git a/src/routes/docs/products/messaging/messages/+page.markdoc b/src/routes/docs/products/messaging/messages/+page.markdoc index 4e45542c1..997696324 100644 --- a/src/routes/docs/products/messaging/messages/+page.markdoc +++ b/src/routes/docs/products/messaging/messages/+page.markdoc @@ -244,7 +244,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -279,7 +279,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -314,7 +314,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -349,7 +349,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -383,7 +383,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -418,7 +418,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -455,7 +455,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -495,7 +495,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -533,7 +533,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -569,7 +569,7 @@ messaging.createPush( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -614,7 +614,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -642,7 +642,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -670,7 +670,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -698,7 +698,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -725,7 +725,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -753,7 +753,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -782,7 +782,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -815,7 +815,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -849,7 +849,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -881,7 +881,7 @@ messaging.createEmail( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -919,7 +919,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -943,7 +943,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -967,7 +967,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -991,7 +991,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -1014,7 +1014,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -1038,7 +1038,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -1063,7 +1063,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -1092,7 +1092,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -1122,7 +1122,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -1150,7 +1150,7 @@ messaging.createSms( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/messaging/msg91/+page.markdoc b/src/routes/docs/products/messaging/msg91/+page.markdoc index 59bf0720d..95c49ae2c 100644 --- a/src/routes/docs/products/messaging/msg91/+page.markdoc +++ b/src/routes/docs/products/messaging/msg91/+page.markdoc @@ -75,7 +75,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -99,7 +99,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -123,7 +123,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -147,7 +147,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -170,7 +170,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -194,7 +194,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -219,7 +219,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -248,7 +248,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -278,7 +278,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -306,7 +306,7 @@ messaging.createSms( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -351,7 +351,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -374,7 +374,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -397,7 +397,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -420,7 +420,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -442,7 +442,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -465,7 +465,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -489,7 +489,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -517,7 +517,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -546,7 +546,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -573,7 +573,7 @@ messaging.updateMsg91Provider( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/messaging/send-email-messages/+page.markdoc b/src/routes/docs/products/messaging/send-email-messages/+page.markdoc index c54879ee1..ebc2c9014 100644 --- a/src/routes/docs/products/messaging/send-email-messages/+page.markdoc +++ b/src/routes/docs/products/messaging/send-email-messages/+page.markdoc @@ -45,7 +45,7 @@ You can also implement forms in your app to collect contact information and add const sdk = require('node-appwrite'); const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -64,7 +64,7 @@ const target = await users.createTarget( import * as sdk from "https://deno.land/x/appwrite/mod.ts"; const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJhbVCJ9.eyJ...'); // Your secret JSON Web Token @@ -87,7 +87,7 @@ use Appwrite\Services\Users; use Appwrite\Enums\MessagingProviderType; $client = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -107,7 +107,7 @@ from appwrite.client import Client from appwrite.enums import MessagingProviderType client = Client() -client.set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint +client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -129,7 +129,7 @@ include Appwrite include Appwrite::Enums client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -153,7 +153,7 @@ using Appwrite.Models; using Appwrite.Enums; Client client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -174,7 +174,7 @@ import 'package:dart_appwrite/enums.dart'; import 'package:dart_appwrite/models.dart'; Client client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -197,7 +197,7 @@ import io.appwrite.services.Users import io.appwrite.enums.MessagingProviderType val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -220,7 +220,7 @@ import io.appwrite.services.Users; import io.appwrite.enums.MessagingProviderType; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -248,7 +248,7 @@ import Appwrite import AppwriteEnums let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -287,7 +287,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -306,7 +306,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -325,7 +325,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -344,7 +344,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -362,7 +362,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -381,7 +381,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -401,7 +401,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -425,7 +425,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -450,7 +450,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -473,7 +473,7 @@ messaging.createTopic( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -499,7 +499,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -528,7 +528,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -557,7 +557,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -585,7 +585,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -612,7 +612,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -640,7 +640,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -669,7 +669,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -702,7 +702,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -736,7 +736,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -768,7 +768,7 @@ messaging.createEmail( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -803,7 +803,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -831,7 +831,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -859,7 +859,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -887,7 +887,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -914,7 +914,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -942,7 +942,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2");// Your secret API key @@ -971,7 +971,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -1004,7 +1004,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -1038,7 +1038,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2");// Your secret API key @@ -1070,7 +1070,7 @@ messaging.createEmail( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/messaging/send-push-notifications/+page.markdoc b/src/routes/docs/products/messaging/send-push-notifications/+page.markdoc index ecf25cfa3..3f9c47244 100644 --- a/src/routes/docs/products/messaging/send-push-notifications/+page.markdoc +++ b/src/routes/docs/products/messaging/send-push-notifications/+page.markdoc @@ -338,7 +338,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -370,7 +370,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -402,7 +402,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -434,7 +434,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -465,7 +465,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -497,7 +497,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -530,7 +530,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -566,7 +566,7 @@ import io.appwrite.Client import io.appwrite.services.Messaging val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -596,7 +596,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -632,7 +632,7 @@ messaging.createPush( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc b/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc index 20a11ff0f..ff6378d4a 100644 --- a/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc +++ b/src/routes/docs/products/messaging/send-sms-messages/+page.markdoc @@ -54,7 +54,7 @@ You can also implement forms in your app to collect contact information and add const sdk = require('node-appwrite'); const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -73,7 +73,7 @@ const target = await users.createTarget( import * as sdk from "https://deno.land/x/appwrite/mod.ts"; const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJhbVCJ9.eyJ...'); // Your secret JSON Web Token @@ -96,7 +96,7 @@ use Appwrite\Services\Users; use Appwrite\Enums\MessagingProviderType; $client = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -116,7 +116,7 @@ from appwrite.client import Client from appwrite.enums import MessagingProviderType client = Client() -client.set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint +client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -138,7 +138,7 @@ include Appwrite include Appwrite::Enums client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -162,7 +162,7 @@ using Appwrite.Models; using Appwrite.Enums; Client client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -183,7 +183,7 @@ import 'package:dart_appwrite/enums.dart'; import 'package:dart_appwrite/models.dart'; Client client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -206,7 +206,7 @@ import io.appwrite.services.Users import io.appwrite.enums.MessagingProviderType val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -229,7 +229,7 @@ import io.appwrite.services.Users; import io.appwrite.enums.MessagingProviderType; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -257,7 +257,7 @@ import Appwrite import AppwriteEnums let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -292,7 +292,7 @@ You can also create topics programmatically using an [Appwrite Server SDK](/docs const sdk = require('node-appwrite'); const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -307,7 +307,7 @@ const topic = await messaging.createTopic( import * as sdk from "https://deno.land/x/appwrite/mod.ts"; const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -325,7 +325,7 @@ use Appwrite\Client; use Appwrite\Services\Messaging; $client = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -341,7 +341,7 @@ from appwrite.client import Client from appwrite.services.messaging import Messaging client = Client() -client.set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint +client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -358,7 +358,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -375,7 +375,7 @@ using Appwrite.Services; using Appwrite.Models; Client client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -391,7 +391,7 @@ import 'package:dart_appwrite/enums.dart'; import 'package:dart_appwrite/models.dart'; Client client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -408,7 +408,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; val client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -425,7 +425,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -448,7 +448,7 @@ messaging.createTopic( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -471,7 +471,7 @@ const sdk = require('node-appwrite'); // Init SDK const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -491,7 +491,7 @@ const message = await messaging.createSms( import * as sdk from "https://deno.land/x/appwrite/mod.ts"; const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -516,7 +516,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -537,7 +537,7 @@ from appwrite.client import Client from appwrite.services.messaging import Messaging client = Client() -client.set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint +client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -559,7 +559,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -581,7 +581,7 @@ using Appwrite.Services; using Appwrite.Models; Client client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -602,7 +602,7 @@ import 'package:dart_appwrite/enums.dart'; import 'package:dart_appwrite/models.dart'; Client client = Client(); - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -624,7 +624,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -646,7 +646,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -674,7 +674,7 @@ messaging.createSms( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -700,7 +700,7 @@ const sdk = require('node-appwrite'); // Init SDK const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -720,7 +720,7 @@ const message = await messaging.createSms( import * as sdk from "https://deno.land/x/appwrite/mod.ts"; const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -745,7 +745,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -766,7 +766,7 @@ from appwrite.client import Client from appwrite.services.messaging import Messaging client = Client() -client.set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint +client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -788,7 +788,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -810,7 +810,7 @@ using Appwrite.Services; using Appwrite.Models; Client client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -831,7 +831,7 @@ import 'package:dart_appwrite/enums.dart'; import 'package:dart_appwrite/models.dart'; Client client = Client(); - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2'); // Your secret API key @@ -853,7 +853,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -875,7 +875,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -903,7 +903,7 @@ messaging.createSms( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/messaging/sendgrid/+page.markdoc b/src/routes/docs/products/messaging/sendgrid/+page.markdoc index f1547e2ae..430a477cc 100644 --- a/src/routes/docs/products/messaging/sendgrid/+page.markdoc +++ b/src/routes/docs/products/messaging/sendgrid/+page.markdoc @@ -86,7 +86,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -102,7 +102,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -119,7 +119,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('') // Your secret API key ; @@ -134,7 +134,7 @@ from appwrite.client import Client client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key ) @@ -149,7 +149,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key @@ -168,7 +168,7 @@ using Appwrite.Enums; using Appwrite.Enums; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey(""); // Your secret API key @@ -189,7 +189,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -214,7 +214,7 @@ import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Messaging val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key @@ -232,7 +232,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey(""); // Your secret API key @@ -256,7 +256,7 @@ messaging.createEmail( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key @@ -296,7 +296,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -321,7 +321,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -346,7 +346,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('') // Your secret API key ; @@ -371,7 +371,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key ) @@ -395,7 +395,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key @@ -420,7 +420,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey(""); // Your secret API key @@ -446,7 +446,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -476,7 +476,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey(""); // Your secret API key @@ -507,7 +507,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey(""); // Your secret API key @@ -536,7 +536,7 @@ messaging.updateSendgridProvider( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key diff --git a/src/routes/docs/products/messaging/smtp/+page.markdoc b/src/routes/docs/products/messaging/smtp/+page.markdoc index 988bec65b..19e7e1196 100644 --- a/src/routes/docs/products/messaging/smtp/+page.markdoc +++ b/src/routes/docs/products/messaging/smtp/+page.markdoc @@ -96,7 +96,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -112,7 +112,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -128,7 +128,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('') // Your secret API key ; @@ -143,7 +143,7 @@ from appwrite.client import Client client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key ) @@ -158,7 +158,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key @@ -177,7 +177,7 @@ using Appwrite.Enums; using Appwrite.Enums; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey(""); // Your secret API key @@ -198,7 +198,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -223,7 +223,7 @@ import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Messaging val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key @@ -241,7 +241,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey(""); // Your secret API key @@ -265,7 +265,7 @@ messaging.createEmail( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key @@ -305,7 +305,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -379,7 +379,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('') // Your secret API key ; @@ -405,7 +405,7 @@ from appwrite.client import Client client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key ) @@ -431,7 +431,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key @@ -459,7 +459,7 @@ using Appwrite.Models; using Appwrite.Enums; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey(""); // Your secret API key @@ -488,7 +488,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('') // Your secret API key ; @@ -520,7 +520,7 @@ import io.appwrite.coroutines.CoroutineCallback import io.appwrite.services.Messaging val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key @@ -546,7 +546,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey(""); // Your secret API key @@ -577,7 +577,7 @@ messaging.updateSendgridProvider( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("") // Your secret API key diff --git a/src/routes/docs/products/messaging/telesign/+page.markdoc b/src/routes/docs/products/messaging/telesign/+page.markdoc index e6d762655..4e858a009 100644 --- a/src/routes/docs/products/messaging/telesign/+page.markdoc +++ b/src/routes/docs/products/messaging/telesign/+page.markdoc @@ -74,7 +74,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -98,7 +98,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -122,7 +122,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -146,7 +146,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -169,7 +169,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -193,7 +193,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -218,7 +218,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -247,7 +247,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -277,7 +277,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -305,7 +305,7 @@ messaging.createSms( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -349,7 +349,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -372,7 +372,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -395,7 +395,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -418,7 +418,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -440,7 +440,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -463,7 +463,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -487,7 +487,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -515,7 +515,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -544,7 +544,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -571,7 +571,7 @@ messaging.updateTelesignProvider( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/messaging/textmagic/+page.markdoc b/src/routes/docs/products/messaging/textmagic/+page.markdoc index eeb01e727..9a6f938a4 100644 --- a/src/routes/docs/products/messaging/textmagic/+page.markdoc +++ b/src/routes/docs/products/messaging/textmagic/+page.markdoc @@ -74,7 +74,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -98,7 +98,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -122,7 +122,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -146,7 +146,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -169,7 +169,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -193,7 +193,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -218,7 +218,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -247,7 +247,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -277,7 +277,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -305,7 +305,7 @@ messaging.createSms( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -349,7 +349,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -372,7 +372,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -395,7 +395,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -418,7 +418,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -440,7 +440,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -463,7 +463,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -487,7 +487,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -515,7 +515,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -544,7 +544,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -571,7 +571,7 @@ messaging.updateTextmagicProvider( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/messaging/topics/+page.markdoc b/src/routes/docs/products/messaging/topics/+page.markdoc index 283369430..38350d418 100644 --- a/src/routes/docs/products/messaging/topics/+page.markdoc +++ b/src/routes/docs/products/messaging/topics/+page.markdoc @@ -53,7 +53,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -74,7 +74,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -94,7 +94,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -115,7 +115,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -134,7 +134,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -154,7 +154,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -175,7 +175,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -200,7 +200,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -226,7 +226,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -250,7 +250,7 @@ messaging.createTopic( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -319,7 +319,7 @@ If you can't find the targets you'd like to add, see the [targets page](/docs/pr const sdk = require('node-appwrite'); const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJhbVCJ9.eyJ...'); // Your secret JSON Web Token @@ -335,7 +335,7 @@ const subscriber = await messaging.createSubscriber( import * as sdk from "https://deno.land/x/appwrite/mod.ts"; const client = new sdk.Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJhbVCJ9.eyJ...'); // Your secret JSON Web Token @@ -356,7 +356,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setJWT('eyJhbVCJ9.eyJ...'); // Your secret JSON Web Token @@ -373,7 +373,7 @@ from appwrite.client import Client from appwrite.services.messaging import Messaging client = Client() -client.set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint +client.set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint client.set_project('') # Your project ID client.set_jwt('eyJhbVCJ9.eyJ...') # Your secret JSON Web Token @@ -391,7 +391,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_jwt('eyJhbVCJ9.eyJ...') # Your secret JSON Web Token @@ -409,7 +409,7 @@ using Appwrite.Services; using Appwrite.Models; Client client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetJWT("eyJhbVCJ9.eyJ..."); // Your secret JSON Web Token @@ -426,7 +426,7 @@ import 'package:dart_appwrite/enums.dart'; import 'package:dart_appwrite/models.dart'; Client client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('eyJhbVCJ9.eyJ...'); // Your secret JSON Web Token @@ -444,7 +444,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setJWT("eyJhbVCJ9.eyJ...") // Your secret JSON Web Token @@ -462,7 +462,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setJWT("eyJhbVCJ9.eyJ..."); // Your secret JSON Web Token @@ -486,7 +486,7 @@ messaging.createSubscriber( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setJWT("eyJhbVCJ9.eyJ...") // Your secret JSON Web Token diff --git a/src/routes/docs/products/messaging/twilio/+page.markdoc b/src/routes/docs/products/messaging/twilio/+page.markdoc index c0b335d27..e072645b6 100644 --- a/src/routes/docs/products/messaging/twilio/+page.markdoc +++ b/src/routes/docs/products/messaging/twilio/+page.markdoc @@ -76,7 +76,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -100,7 +100,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -124,7 +124,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -148,7 +148,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -171,7 +171,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -195,7 +195,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -220,7 +220,7 @@ void main() async { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -249,7 +249,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -279,7 +279,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -307,7 +307,7 @@ messaging.createSms( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -349,7 +349,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -372,7 +372,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -395,7 +395,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -418,7 +418,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -440,7 +440,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -463,7 +463,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -487,7 +487,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -515,7 +515,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -544,7 +544,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -571,7 +571,7 @@ messaging.updateTwilioProvider( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/messaging/vonage/+page.markdoc b/src/routes/docs/products/messaging/vonage/+page.markdoc index 49a4c1d29..ff9bbbced 100644 --- a/src/routes/docs/products/messaging/vonage/+page.markdoc +++ b/src/routes/docs/products/messaging/vonage/+page.markdoc @@ -76,7 +76,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -100,7 +100,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -124,7 +124,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -148,7 +148,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -171,7 +171,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -195,7 +195,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -220,7 +220,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -249,7 +249,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -279,7 +279,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -307,7 +307,7 @@ messaging.createSms( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -351,7 +351,7 @@ const client = new sdk.Client(); const messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -374,7 +374,7 @@ let client = new sdk.Client(); let messaging = new sdk.Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -397,7 +397,7 @@ use Appwrite\Services\Messaging; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -420,7 +420,7 @@ from appwrite.services.messaging import Messaging client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -442,7 +442,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -465,7 +465,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -489,7 +489,7 @@ void main() { // Init SDK Messaging messaging = Messaging(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -517,7 +517,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -546,7 +546,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Messaging; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -573,7 +573,7 @@ messaging.updateVonageProvider( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/network/+layout.svelte b/src/routes/docs/products/network/+layout.svelte new file mode 100644 index 000000000..524bdf72f --- /dev/null +++ b/src/routes/docs/products/network/+layout.svelte @@ -0,0 +1,72 @@ + + + + + + diff --git a/src/routes/docs/products/network/+page.markdoc b/src/routes/docs/products/network/+page.markdoc new file mode 100644 index 000000000..764faabe0 --- /dev/null +++ b/src/routes/docs/products/network/+page.markdoc @@ -0,0 +1,78 @@ +--- +layout: article +title: Network +description: Discover Appwrite's network architecture with global regions, edge nodes, and optimized routing. Explore how it ensures low latency, reliable performance, and scalable infrastructure for modern applications. +--- + +Appwrite's network is designed to deliver low-latency, high-performance experiences for developers and end-users alike. It leverages a robust Content Delivery Network (CDN) with edge locations across multiple regions to ensure fast and reliable data delivery. + +With distributed infrastructure and multiple deployment regions, Appwrite enables developers to build globally scalable applications while maintaining data sovereignty. Its architecture integrates seamlessly with APIs, storage, and databases, optimizing both speed and availability. + +{% only_dark %} +![Network map](/images/docs/network/dark/all-maps.png) +{% /only_dark %} +{% only_light %} +![Network map](/images/docs/network/all-maps.png) +{% /only_light %} + +# Components {% #components %} +The Appwrite Network is composed of multiple components that work together to deliver a seamless experience for developers and end-users. These components include: + +{% cards %} +{% cards_item href="/docs/products/network/regions" title="Regions" %} +Multi-region deployments for geo-redundancy, compliance and low-latency. +{% /cards_item %} +{% cards_item href="/docs/products/network/edges" title="Edges" %} +Edge nodes for fast request processing and reduced round-trip times. +{% /cards_item %} +{% cards_item href="/docs/products/network/cdn" title="CDN" %} +Global infrastructure for optimized routing, enabling faster and more consistent data delivery. +{% /cards_item %} +{% cards_item href="/docs/products/network/endpoints" title="Endpoints" %} +Dedicated endpoints for region-specific, edge, and compute workloads. +{% /cards_item %} +{% /cards %} + +## Region vs Edge {% #region-vs-edge %} + +In Appwrite, Regions are where all your core data and services live. This includes your databases, auth, functions, messaging, and storage. Regions are the source of truth, handling heavy workloads and ensuring your application runs reliably while keeping your data compliant with local regulations. + +Edges are about speed. They process requests closer to your users using smart geo-routing, reducing latency by handling compute tasks at the nearest edge location. Edges are perfect for serving cached content, executing lightweight computations, and optimizing user interactions. + +{% info title="Where to execute?" %} +The Appwrite Network is designed for flexibility. You can choose to run your serverless compute workload in your project's home region by using the `[ID].[REGION].appwrite.run` endpoint, or on the edge using the `[ID].appwrite.network` endpoint. Both your region and edge endpoints can be customized to use your own custom domain. +{% /info %} + +# Architecture {% #architecture %} + +Appwrite's network is designed to provide a balance between centralized compute and distributed delivery: +- Regions: Core infrastructure and data resides in global regions, where all services like databases, auth, functions, messaging, and storage operate. These regions ensure data sovereignty, compliance, and high availability for critical workloads. +- Edges: Distributed edge locations process requests closer to end-users, leveraging smart geo-routing to minimize latency. These edge handle tasks like caching, static content delivery, and lightweight compute to improve performance. +- Private Routing: Data moves between edge nodes and regions through optimized, low-latency connections to ensure fast and reliable communication. + +This setup separates heavy backend processing in regions from latency-sensitive tasks at the edge, enabling efficient handling of global workloads with minimal performance trade-offs. + +{% info title="Self-Hosting?" %} +Appwrite's self-hosted setup is designed and optimized for straightforward, single-region environments - making it an ideal choice for small to medium-scale workloads. +All Cloud users have access to the Appwrite Network. If you need to scale your self-hosted deployment or require additional solutions, please [contact us](/contact-us/enterprise). +{% /info %} + +# Features {% #features %} + +{% cards %} +{% cards_item href="/docs/products/network/ddos" title="DDoS mitigation" %} +Protects against distributed denial-of-service attacks, ensuring uninterrupted access. +{% /cards_item %} +{% cards_item href="/docs/products/network/tls" title="Transport Layer Security (TLS)" %} +Encrypts data in transit for secure and private communication. +{% /cards_item %} +{% cards_item href="/docs/products/network/waf" title="Web Application Firewall (WAF)" %} +Shields applications from common web vulnerabilities and attacks on the application layer. +{% /cards_item %} +{% cards_item href="/docs/products/network/compression" title="Compression" %} +Reduces data size in transit to improve transfer speed and efficiency. +{% /cards_item %} +{% cards_item href="/docs/products/network/caching" title="Caching" %} +Stores frequently accessed data for faster retrieval and lower latency. +{% /cards_item %} +{% /cards %} \ No newline at end of file diff --git a/src/routes/docs/products/network/caching/+page.markdoc b/src/routes/docs/products/network/caching/+page.markdoc new file mode 100644 index 000000000..3efd96ef2 --- /dev/null +++ b/src/routes/docs/products/network/caching/+page.markdoc @@ -0,0 +1,61 @@ +--- +layout: article +title: Caching +description: Learn how Appwrite uses smart caching strategies at the region, edge, and CDN levels to optimize performance and protect dynamic APIs, with advanced options for enterprise customers. +--- + +Appwrite employs a multi-layered caching approach to enhance the performance of your applications. By utilizing caching at the **region**, **edge**, and **CDN** levels, Appwrite ensures faster response times, optimized resource usage, and efficient handling of dynamic workloads. + +# Region-level {% #region-level %} + +At the region level, Appwrite provides smart in-memory caching for various resources: + +- **Documents**: Frequently accessed documents are cached in memory and automatically purged when updated, ensuring data consistency without manual intervention. +- **Storage files**: Frequently accessed files are cached in memory to reduce disk reads and improve performance. +- **Image transformations**: Processed images (e.g., resized or converted) are cached in memory for faster repeated requests, reducing processing overhead. + +Region-level caching is tightly integrated with Appwrite's APIs, optimizing performance while preserving data integrity. + +# Edge-level {% #edge-level %} + +At the edge, Appwrite employs smart caching for specific use cases: + +- **Compute builds**: Caches build artifacts for faster deployments and reduced latency during function executions. +- **Cold starts**: Pre-loads frequently accessed resources, reducing latency for new requests and improving application responsiveness. + +Edge-level caching complements region-level caching, ensuring optimal performance for globally distributed applications. + +# Private caching {% #cdn-caching %} +Appwrite's CDN layer includes **private caching**, a caching strategy designed to handle the dynamic and permission-sensitive nature of Appwrite's APIs and resources securely. + +**What is private caching?** + +In the HTTP context, private caching allows responses to be cached but ensures they are only served to the specific user or client that requested them. This is achieved using HTTP headers that control caching behavior. For example: + +- `Cache-Control: private, max-age=3600` + Indicates that the response can be cached, but only in a private cache (e.g., the user's browser). + +- `Cache-Control: no-store` + Ensures that no part of the response is cached, useful for highly sensitive or frequently changing data. + +- `Vary: Authorization` + Signals that the cached response varies based on the `Authorization` header, ensuring permission-specific responses are cached and served appropriately. + +**Why use private caching?** + +Appwrite's APIs often deliver personalized or restricted content based on user roles and permissions. Private caching ensures: + +- **Security**: Sensitive resources are securely cached and only served to the correct user. +- **Permission awareness**: API responses are tailored to each user's permissions, ensuring consistent behavior. +- **Performance**: By caching user-specific responses, private caching reduces backend load while maintaining secure and accurate data delivery. + +This approach prevents the accidental exposure of user-specific or restricted data through shared caches while still enabling performance optimizations where possible. + +# Caching rules {% #custom-caching %} + +Enterprise customers can collaborate with their Appwrite success manager to define custom caching rules tailored to their applications. This includes: +- Setting custom caching durations for specific resources. +- Defining exclusion rules for sensitive or frequently changing data. +- Optimizing cache invalidation strategies for complex workflows. + +For more information on upgrading to the enterprise plan, [contact sales](https://appwrite.io/contact-us/enterprise). \ No newline at end of file diff --git a/src/routes/docs/products/network/cdn/+page.markdoc b/src/routes/docs/products/network/cdn/+page.markdoc new file mode 100644 index 000000000..bc9d6c549 --- /dev/null +++ b/src/routes/docs/products/network/cdn/+page.markdoc @@ -0,0 +1,34 @@ +--- +layout: article +title: Content Delivery Network (CDN) +description: Learn about Appwrite's CDN, designed to optimize content delivery with compression, and edge optimization for improved performance and reduced latency. +--- + +Appwrite's CDN (Content Delivery Network) is a globally distributed system designed to enhance the speed, reliability, and security of your application's content delivery. With points of presence (PoPs) in over 120 cities worldwide, the CDN ensures low latency and consistent performance for users, no matter their location. + +{% only_dark %} +![PoPs map](/images/docs/network/dark/pops-map.png) +{% /only_dark %} +{% only_light %} +![PoPs map](/images/docs/network/pops-map.png) +{% /only_light %} + +# Key features {% #key-features %} + +- Global coverage: Fast access to content for users across continents through over 120 PoPs worldwide. Available on all projects. +- Reduced latency: By caching static content at edge nodes, the CDN minimizes the distance between the user and the requested data, significantly reducing latency. +- Dynamic content: The CDN supports both static and dynamic content delivery, seamlessly integrating with backend services hosted in Appwrite regions. +- Content optimization: Appwrite's CDN uses advanced compression algorithms to reduce data transfer sizes, further improving delivery times. +- High availability: Distributed edge nodes and redundant routing ensure that content remains accessible even during regional outages or high traffic loads. + +{% info title="Self-Hosting?" %} +Appwrite's self-hosted setup is optimized for local content delivery in single-region environments. Cloud users benefit from the global CDN with 120+ points of presence worldwide. If your self-hosted deployment requires distributed CDN capabilities, please [contact us](/contact-us/enterprise) to discuss custom solutions. +{% /info %} + +# Design {% #design %} + +- Caching strategy: Configurable cache policies for control over TTL and content invalidation. +- Secure delivery: All content is transmitted over TLS for secure, encrypted connections. +- Integration: The CDN works seamlessly with the Appwrite edges and backend regions, providing a unified experience for developers. + +By combining global caching, smart routing, and content optimization, the Appwrite CDN is built to handle the demands of modern, high-performance applications. \ No newline at end of file diff --git a/src/routes/docs/products/network/compression/+page.markdoc b/src/routes/docs/products/network/compression/+page.markdoc new file mode 100644 index 000000000..f588bda1d --- /dev/null +++ b/src/routes/docs/products/network/compression/+page.markdoc @@ -0,0 +1,110 @@ +--- +layout: article +title: Compression +description: +--- + +Appwrite is leveraging compression algorithms to both boost the performance of your app and to reduce and optimize bandwidth and storage costs for Appwrite developers. This page provides an in-depth explanation of the compression algorithms supported by Appwrite for API responses, image transformations, and storage buckets. + +# API {% #api %} + +Appwrite supports two primary algorithms for text-based responses: **Brotli** and **Gzip**. These algorithms are integral for improving data transfer speeds across the HTTP based APIs, especially when dealing with textual content, which tends to be highly compressible. + +- **Brotli**: Chosen for its superior compression efficiency, especially for smaller files. Brotli performs best in HTTP/2 and HTTP/3 environments, where smaller payloads mean faster transfers and lower bandwidth consumption. Its efficiency also allows for quicker decompression on modern clients. +- **Gzip**: Gzip remains supported for backward compatibility and for clients that do not yet fully support Brotli. Though Gzip has a lower compression ratio compared to Brotli, it is still a reliable fallback for older browsers and HTTP/1.1 connections. +- **Zstd**: Zstd offers very high compression ratios and significantly faster decompression speeds, making it ideal for server-to-server communication and large data transfers. While its browser support is limited compared to Brotli and Gzip, Zstd excels in scenarios where performance and efficiency are critical for backend processes. + +## Conditions {% #conditions %} +Compression in Appwrite is triggered dynamically based on several conditions. This ensures that we only compress data when it is beneficial for performance and that we avoid unnecessary overhead for small payloads or non-textual data. + +1. **MIME types**: Only text-based MIME types are eligible for compression. These include: +- `text/plain` +- `text/css` +- `text/javascript` +- `application/javascript` +- `text/html` +- `application/json` +- `image/svg+xml` +- `application/xml+rss` + +This selection is based on the nature of these content types being easily compressible, resulting in significant size reductions without loss of information. + +2. **Response size**: Compression is applied when the size of the response exceeds **1KB**. This threshold has been selected based on testing to minimize the CPU overhead of compression for small payloads, where the gains in bandwidth reduction are negligible. + +3. **Client-side support**: Clients indicate their support for specific compression algorithms via the `Accept-Encoding` HTTP header. Appwrite prioritizes compression based on the following client-provided values: + - `br`: Indicates support for Brotli compression. + - `zstd`: Indicates support for Zstandard compression. + - `gzip`: Indicates support for Gzip compression. + - `identity`: Indicates that no compression is supported or requested. + +## Prioritizations {% #prioritizations %} +Appwrite prioritizes Brotli over Gzip due to Brotli’s more efficient compression ratio, especially when dealing with text-based content like HTML, CSS, and JSON files. Brotli uses a sliding window dictionary that results in higher compression ratios at slower speeds, but in an HTTP/2 or HTTP/3 environment, the benefits outweigh the costs. Gzip is used as a fallback when Brotli is not supported by the client. + +| Algorithm {% width=120 %} | Ratio {% width=120 %} | Browsers | Notes | +|-----------|-------------------|-----------------------|---------------------------------------------------| +| Brotli | High | All modern browsers | Optimal for small text files; highly efficient. | +| Gzip | Medium | Universal | Broad compatibility with older and modern clients.| +| Zstd | Very High | Limited | High performance with faster decompression speeds, ideal for server-to-server communication. | +| Identity | None | Universal | Used when no compression is applied or supported. | + +## Enabling compression {% #enabling-compression-1 %} +Compression is enabled by default for eligible API responses in Appwrite. You do not need to manually enable it; Appwrite dynamically selects the best algorithm based on the client’s `Accept-Encoding` headers and the MIME type of the response. + +# Image transformations {% #image-transformations %} +Appwrite's API supports the [compression of image files](/docs/products/storage/images) during manipulation and preview generation. The primary reason for compressing images is to minimize file sizes while maintaining visual quality, thus reducing both bandwidth usage and storage costs. + +Appwrite supports both legacy and modern image formats, including: + +- **PNG**, **JPEG**, **GIF**: These are traditional formats supported for compatibility reasons. PNG supports lossless compression, while JPEG and GIF are lossy but optimized for small sizes. +- **WebP**: A modern format developed by Google, offering better compression rates than JPEG, PNG, or GIF while maintaining equivalent quality. +- **AVIF**: The most modern image format supported by Appwrite, which offers even higher compression rates than WebP. AVIF is based on the AV1 video codec and is optimized for high-performance image rendering with minimal bandwidth use. + +## Supported API endpoints {% #supported-api-endpoints %} + +Appwrite applies image compression exclusively through the Image Preview API. This ensures that any dynamic operations, such as generating previews, resizing images, or converting between formats, are optimized for performance and reduced file size. Images uploaded through the Storage API remain in their original format and quality without automatic compression to preserve your source of truth. + +## Prioritization {% #prioritization %} + +Appwrite does not apply any image compression by default. Developers have full control over the output compression by specifying it in the query string when using the Image Preview API. This allows for precise customization to suit various use cases. + +Appwrite supports modern image formats like WebP and AVIF for their exceptional compression rates and compatibility with most browsers. While WebP is often the default choice for conversions, AVIF is recommended when seeking optimal performance and minimal file sizes. + +```javascript +import { Client, Storage } from "appwrite"; + +const client = new Client(); +const storage = new Storage(client); + +client + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint + .setProject('') // Your project ID +; + +const result = storage.getFilePreview( + 'photos', // bucket ID + 'sunset.png', // file ID + 1800, // width, will be resized using this value. + 0, // height, ignored when 0 + 'center', // crop center + '90', // slight compression + 5, // border width + 'CDCA30', // border color + 15, // border radius + 1, // full opacity + 0, // no rotation + 'FFFFFF', // background color + 'webp' // output jpg format +); + +console.log(result.href); +``` + +| Algorithm {% width=120 %} | Formats | Ratio {% width=120 %} | Notes | +| --------- | ----------------- | ----------------- | -------------------- | +| WebP | PNG, JPEG, GIF | High | Great balance of compression efficiency and visual quality | +| AVIF | PNG, JPEG, GIF | Best | Highest compression rate for modern use cases | +| JPEG | JPEG | Medium | Legacy support for lossy compression | +| PNG | PNG | Lossless | Necessary for lossless compression requirements | + +## Enabling compression {% #enabling-compression-2 %} +You can enable image compression through the **Image Preview API** by specifying the desired output format in API calls. For example, requesting a WebP or AVIF conversion automatically triggers Appwrite's compression algorithms to optimize the image size. diff --git a/src/routes/docs/products/network/ddos/+page.markdoc b/src/routes/docs/products/network/ddos/+page.markdoc new file mode 100644 index 000000000..5d9b53662 --- /dev/null +++ b/src/routes/docs/products/network/ddos/+page.markdoc @@ -0,0 +1,33 @@ +--- +layout: article +title: DDoS mitigation +description: Learn how Appwrite protects your applications from Distributed Denial-of-Service (DDoS) attacks with built-in, always-on protection for all Appwrite Cloud plans. +--- + +Distributed Denial-of-Service (DDoS) attacks are one of the most common threats to online applications, aimed at overwhelming servers with malicious traffic to disrupt services. Appwrite provides robust, always-on DDoS protection across all Appwrite Cloud plans to ensure the reliability and security of your applications. + +Appwrite's network is designed to detect and mitigate malicious traffic before it reaches your application. Using a combination of automated filtering and intelligent traffic analysis, our DDoS protection: + +- Identifies and blocks large-scale attack patterns in real-time. +- Ensures legitimate traffic continues to flow uninterrupted. +- Prevents application downtime and minimizes performance impacts. + +# Design {% #design %} + +Appwrite's DDoS protection operates across multiple OSI layers to provide comprehensive coverage: + +- **Network Layer (Layer 3)**: Detects and mitigates large-scale attacks such as ICMP floods and UDP amplification. +- **Transport Layer (Layer 4)**: Protects against attacks like SYN floods and TCP-based exploits by identifying anomalous traffic patterns. +- **Application Layer (Layer 7)**: Blocks high-level attacks, such as HTTP floods, by filtering malicious requests while allowing legitimate user traffic. + +# Benefits {% #benefits %} + +- **Cost control**: Malicious traffic blocked by DDoS protection does not count towards your bandwidth or request usage, saving you from unnecessary charges. +- **Reliability**: Keeps your application online and responsive, even during attempted attacks. +- **Zero configuration**: DDoS protection is fully managed by Appwrite and requires no manual setup or maintenance. Protection is enabled by default on all Cloud plans. + +# Availability {% #availability %} + +DDoS mitigation is automatically enabled by default for all Appwrite Cloud plans, ensuring every application hosted on Appwrite benefits from this safeguard without additional costs. This includes: + +This protection is integrated directly into Appwrite's console, edge and region infrastructure, providing seamless coverage without requiring additional setup from developers. \ No newline at end of file diff --git a/src/routes/docs/products/network/edges/+page.markdoc b/src/routes/docs/products/network/edges/+page.markdoc new file mode 100644 index 000000000..5d5434fec --- /dev/null +++ b/src/routes/docs/products/network/edges/+page.markdoc @@ -0,0 +1,61 @@ +--- +layout: article +title: Edges +description: Learn about Appwrite edges, where lightweight compute tasks like caching, request routing, and content delivery are handled. Understand how edges enhance performance by bringing operations closer to end-users. +--- + +Appwrite edges are strategically distributed locations designed to process requests closer to your users. These edge nodes handle latency-sensitive operations, such as caching, routing, and quick computations, to deliver faster, more efficient interactions while reducing the load on your application's core infrastructure. + +{% only_dark %} +![Edges map](/images/docs/network/dark/edges-map.png) +{% /only_dark %} +{% only_light %} +![Edges map](/images/docs/network/edges-map.png) +{% /only_light %} + +{% info title="We're expanding!" %} +Currently, Appwrite's edge network includes 3 locations. We are actively working to expand the number of edge locations globally. New locations will be strategically prioritized to ensure the best possible global coverage and performance for all users. +{% /info %} + +# List {% #list %} + +Appwrite edges are globally distributed, ensuring low-latency interactions for users around the world. Here's a list of locations with active or upcoming edge support: + +| Location | Code{% width=120 %} | Status {% width=120 %} | +|---------------------|--------|-----------------| +| Frankfurt | FRA | Available | +| New York | NYC | Available | +| Sydney | SYD | Available | +| Singapore | SGP | 2025 | +| San Francisco | SFO | 2025 | +| Bangalore | BLR | 2025 | +| Amsterdam | AMS | 2025 | +| London | LON | 2025 | +| Toronto | TOR | 2025 | + +Edges complement Appwrite regions, working together to provide fast, reliable, and scalable application performance. + +# Routing {% #routing %} + +Appwrite's edges handle geo-aware routing to balance traffic across the network efficiently. When a user makes a request, it is directed to the nearest available edge node based on their geographic location. This ensures optimal performance by minimizing latency and distributing traffic evenly across edge nodes. + +Geo-aware routing helps handle high traffic loads by intelligently directing requests to the best-performing edge, reducing congestion and maintaining consistent response times. By leveraging this approach, Appwrite ensures that your application delivers fast and reliable experiences to users worldwide. + +{% info title="Edge vs Region" %} +Use an edge when compute needs to happen close to your users, like serving static content, doing local computation or data processing. Use a region when compute needs to happen closer to your data, such as frequent access to your Appwrite database or storage. +{% /info %} + +# Design {% #design %} + +Edges are optimized to reduce latency and improve user experience by processing operations closer to the source of requests. Key aspects include: + +- Geo-routing: Smart routing ensures user requests are served by the optimal edge node. +- Caching: Frequently accessed data is cached at edges to reduce round-trips to core regions. +- Lightweight compute: Handles quick, resource-efficient computations for real-time tasks. +- Optimization: The edge network planned locations are strategically designed with fewer, high-capacity edges to maximize cache efficiency and achieve higher cache-hit ratios. + +Edges enhance Appwrite's ability to deliver fast, reliable experiences by optimizing interactions and reducing latency for end-users. Together with regions, they create a robust infrastructure designed for modern, globally distributed applications. + +{% info title="Self-Hosting?" %} +Appwrite's self-hosted deployments operate in a single region by default. The geo-distributed edge network with its routing features is available to Cloud users. For edge infrastructure in self-hosted environments or multi-region setups, please [contact us](/contact-us/enterprise) to explore enterprise options. +{% /info %} \ No newline at end of file diff --git a/src/routes/docs/products/network/endpoints/+page.markdoc b/src/routes/docs/products/network/endpoints/+page.markdoc new file mode 100644 index 000000000..09cff0900 --- /dev/null +++ b/src/routes/docs/products/network/endpoints/+page.markdoc @@ -0,0 +1,60 @@ +--- +layout: article +title: Endpoints +description: Understand the differences between Appwrite's endpoints, including geo-balanced edges, region-specific services, and custom domains for compute processes. +--- + +Appwrite offers multiple endpoints to access its services, each designed to optimize specific aspects of performance, routing, and compute. Understanding these endpoints helps you determine the most efficient way to interact with your Appwrite project. + +# Edge {% #edge %} + +The **`appwrite.network`** domain provides geo-balanced endpoints that route traffic to the nearest edge node based on the user's geographic location. + +{% info title="Availability" %} +The `appwrite.network` endpoints will be available in Q2 2025. Currently, you can use the `appwrite.run` domains to run functions in your region of choice. +{% /info %} + +The edge network endpoints are designed for: +- **Latency-sensitive operations**: Quickly serving cached content, routing requests, or performing lightweight edge computations. +- **Global traffic distribution**: Automatically balancing traffic across the edge network for consistent performance. + +Example: +- `https://[ID].appwrite.network` + +Use this endpoint when optimizing for low-latency and global availability is critical for your functions. + +# Region {% #region %} + +The **`[REGION].cloud.appwrite.io`** domain directs traffic specifically to the region hosting your Appwrite project's services. This endpoint ensures that requests are processed close to your core data and infrastructure, making it ideal for: + +- **Data-intensive operations**: Frequent access to databases, storage, authentication, and other region-hosted services. +- **Regulatory compliance**: Ensuring data residency requirements are met by targeting specific regions. + +Example: +- `https://fra.cloud.appwrite.io` +- `https://nyc.cloud.appwrite.io` + +Use this endpoint when direct access to region-specific infrastructure is required, this is the endpoint you will use to access your Appwrite API or if you want to execute functions directly from your Appwrite SDK. + +# Compute {% #compute %} + +The **`[ID].[REGION].appwrite.run`** domain is designed for running server-side functions and compute-heavy tasks directly in the region where your services are hosted. It supports custom domains for seamless integration into your workflows. The `appwrite.run` subdomains are auto-generated for each function you create. This endpoint is best suited for: + +- **Compute-Intensive Tasks**: Executing server-side functions, handling APIs, or processing asynchronous jobs. +- **Custom Domain Support**: Enabling custom domains for specific function endpoints. + +Examples: +- `https://fra.appwrite.run` +- `https://[custom-domain]` + +Use this endpoint for scenarios where compute needs to happen close to your data or for deploying APIs under your own domain. + +# Summary {% #summary %} + +| Endpoint | Use Case | +|--------------------------------------|------------------------------------------------------| +| `https://[ID].appwrite.network` | Geo-balanced edges for low-latency operations | +| `https://[REGION].cloud.appwrite.io` | Direct access to region services | +| `https://[ID].[REGION].appwrite.run` | Region-based compute and function execution | + +Knowing how these endpoints work helps you choose the right one for your needs, ensuring better performance and alignment with your application's compliance requirements. \ No newline at end of file diff --git a/src/routes/docs/products/network/regions/+page.markdoc b/src/routes/docs/products/network/regions/+page.markdoc new file mode 100644 index 000000000..8146d3a30 --- /dev/null +++ b/src/routes/docs/products/network/regions/+page.markdoc @@ -0,0 +1,54 @@ +--- +layout: article +title: Regions +description: Learn about Appwrite regions, where core services like databases, auth, functons, sites and storage are hosted. Understand data sovereignty, fault isolation, and scalability for compliant, high-performance deployments +--- + +Appwrite regions are geographic locations where all your application's core infrastructure is deployed. Each region operates as an independent, highly available cluster, managing the storage, processing, and serving of your data and Appwrite services. + +{% only_dark %} +![Regions map](/images/docs/network/dark/regions-map.png) +{% /only_dark %} +{% only_light %} +![Regions map](/images/docs/network/regions-map.png) +{% /only_light %} + +# List {% #list %} + +Appwrite is currently available in the following list of regions: + +| Region {% width=120 %} | Code{% width=120 %} | Endpoint | Status{% width=120 %} | +|---------------------|--------|-----------------------------------------|-----------------| +| Frankfurt | FRA | `https://fra.cloud.appwrite.io/v1` | Available | +| New York | NYC | `https://nyc.cloud.appwrite.io/v1` | Available | +| Sydney | SYD | `https://syd.cloud.appwrite.io/v1` | Available | +| Singapore | SGP | `coming soon` | Q4 2025 | +| San Francisco | SFO | `coming soon` | Q4 2025 | +| Bangalore | BLR | `coming soon` | TBD | +| Amsterdam | AMS | `coming soon` | TBD | +| London | LON | `coming soon` | TBD | +| Toronto | TOR | `coming soon` | TBD | + +Regions are designed to be entirely independent unless explicitly connected, which provides control over data replication and compliance. We're constantly working to add new regions to our network to provide developers with more options for deploying their applications. + +# Choosing a region {% #choosing-a-region %} + +Selecting a region impacts both your application’s performance and its compliance with local regulations. Regions are isolated from each other, so your data and services remain contained within the selected location. When choosing a region, consider proximity to your primary user base to reduce latency and improve response times. Additionally, ensure the region aligns with legal requirements for data residency and sovereignty specific to your application's domain. + +{% info title="Region vs Edge" %} +Use a region when compute needs to happen close to your data, such as frequent access to your Appwrite database or storage. Use an edge when compute needs to happen closer to your users, like serving static content, performing local computations, or handling data processing at the edge. +{% /info %} + + +# Design {% #design %} + +Regions are isolated environments designed for predictable performance and data security. Key aspects include: + +- Data storage: All data remains within the region and adheres to local data residency laws. +- Fault isolation: Each region is self-contained, so failures in one region do not impact others. +- Scalability: Resources within a region scale dynamically to meet application demands. +- Networking: Regions connect via secure, low-latency private networks. +- High availability: Redundant power, networking, and hardware configurations in data centers. +- Cache efficiency: Fewer, data-dense regions boost hit probability, ensuring popular content is readily available. + +Regions provide the foundation for running scalable, reliable applications with full control over data locality and compliance. \ No newline at end of file diff --git a/src/routes/docs/products/network/tls/+page.markdoc b/src/routes/docs/products/network/tls/+page.markdoc new file mode 100644 index 000000000..920b0fd67 --- /dev/null +++ b/src/routes/docs/products/network/tls/+page.markdoc @@ -0,0 +1,31 @@ +--- +layout: article +title: Transport Layer Security (TLS) +description: Learn how Appwrite uses TLS to encrypt data in transit, ensuring secure and private communication between clients and servers. +--- + +Transport Layer Security (TLS) is a critical feature of the Appwrite Network, ensuring that all data exchanged between clients and servers is encrypted and secure. By using TLS, Appwrite protects sensitive information from interception, tampering, and unauthorized access during transit. + +TLS operates at the **transport layer** of the OSI model (Layer 4), encrypting all data before it is transmitted over the network. This includes securing HTTP traffic via HTTPS. When a client connects to Appwrite services, a TLS handshake is performed to establish a secure connection. This process ensures: + +- **Encryption**: Data is encrypted to prevent unauthorized access during transmission. +- **Integrity**: Ensures that data cannot be tampered with or altered. +- **Authentication**: Verifies the identity of the server to protect against impersonation or spoofing. + +# Key features {% #key-features %} + +1. **Modern protocols** + Appwrite supports TLS 1.2 and TLS 1.3, offering the latest in encryption standards and performance optimization. + +2. **Automatic certificates** + TLS certificates are automatically managed and renewed, ensuring that your applications always run on secure connections without manual intervention. + +3. **Strong ciphers** + Only strong, industry-standard cipher suites are used to ensure robust encryption. + +4. **End-to-end security** + TLS secures every connection in Appwrite's network, including communication between edge nodes and regions, protecting your data at every step. + +# Getting started {% #getting-started %} + +TLS is enabled by default on all Appwrite endpoints, requiring no additional configuration from developers. Simply use HTTPS when interacting with Appwrite services, and your data will be secured automatically. \ No newline at end of file diff --git a/src/routes/docs/products/network/waf/+page.markdoc b/src/routes/docs/products/network/waf/+page.markdoc new file mode 100644 index 000000000..36c13c0dd --- /dev/null +++ b/src/routes/docs/products/network/waf/+page.markdoc @@ -0,0 +1,114 @@ +--- +layout: article +title: Web application firewall (WAF) +description: Appwrite's Web Application Firewall (WAF) provides enterprise-grade protection against web vulnerabilities like SQL injection, XSS, and DDoS attacks. +--- + +The Web Application Firewall (WAF) is a critical feature of the Appwrite Network, designed to protect applications from common web vulnerabilities and attacks. Available exclusively to enterprise customers, WAF can be configured through your Appwrite success manager to meet the specific security needs of your application. + +{% info title="Availability" %} +The WAF feature is available exclusively to enterprise customers as part of the Appwrite enterprise offering. Setup and configuration are managed through your dedicated Appwrite success manager, who ensures that the WAF aligns with your application's requirements and evolves with emerging security threats. +{% /info %} + +The WAF functions as a protective barrier at the application layer (Layer 7) of the OSI model, where it inspects and filters HTTP/HTTPS traffic in real-time. It is specifically designed to safeguard your application by analyzing request headers, payloads, and query strings to identify malicious patterns or anomalies. The WAF intercepts traffic before it reaches your application, blocking threats such as: + +- SQL injection: Malicious input targeting database queries is identified and neutralized by inspecting payloads and request parameters. +- Cross-site scripting (XSS): WAF detects and blocks scripts attempting to manipulate or steal client-side data through injection into the DOM or other contexts. +- Cross-site request forgery (CSRF): By analyzing session headers and request origins, the WAF ensures only legitimate actions are processed. +- DDoS attacks: Although primarily focused on Layer 7 attacks, the WAF works in tandem with other mitigation systems to handle floods of application-level requests. + +# Design {% #design %} + +1. **Traffic inspection** + The WAF analyzes all incoming HTTP/HTTPS requests in real-time, matching them against a dynamic set of security rules. + +2. **Threat mitigation** + Suspicious requests are blocked before they reach your application, ensuring uninterrupted service and secure user interactions. + +3. **Custom rules** + Enterprise customers can work with their success manager to define custom rules tailored to their specific application requirements. + +# Key features {% #key-features %} + +- Real-time protection: Continuous monitoring and blocking of malicious traffic. +- Customizable rulesets: Configure WAF policies to align with your application's unique architecture. +- Compliance support: Meet security standards and regulatory requirements by safeguarding sensitive data. +- Seamless integration: Fully integrated into the Appwrite network, ensuring optimal performance and low-latency security enforcement. + +# Getting started {% #getting-started %} + +If you're an enterprise customer, reach out to your success manager to enable WAF for your applications. They'll guide you through the setup process, help configure custom rules, and ensure your application is fully protected. + +For more information on upgrading to the enterprise plan, [contact sales](https://appwrite.io/contact-us/enterprise). + +## Configuration {% #configuration %} + +Appwrite's WAF is designed to adapt to the specific needs of your applications. Tailored rules and actions can be implemented to address evolving security threats and traffic patterns effectively. + +### Rules {% #rules %} + +The WAF supports the creation of fine-grained rules using logical expressions. These rules define how incoming traffic is inspected and handled. + +1. **Expression-based rules** + Use logical expressions to create granular filters for incoming requests. These expressions operate on HTTP request fields, headers, cookies, and metadata. + + Examples of configurable expressions: + - **URL matching**: Block or allow traffic based on URL patterns (e.g., `/v1/functions/*`). + - **Request method**: Filter traffic based on HTTP methods (e.g., `GET`, `POST`, `PUT`). + - **Header inspection**: Inspect headers like `User-Agent`, `Authorization`, or `X-Forwarded-For`. + - **Cookie validation**: Check for specific cookies or validate their values to identify bot or malicious traffic. + - **Rate limiting**: Match requests based on IP or session-level rate thresholds. + - **Geolocation rules**: Allow or block traffic based on the geographic location of the user. + +2. **Regular expressions (Regex)** + Use regex patterns for more advanced filtering, such as matching complex URL structures, payloads, or specific query parameters. + +3. **IP Filtering** + Define rules to block, allow, or challenge traffic from specific IP ranges or CIDR blocks. + +### Actions {% #actions %} + +Based on the defined rules, the WAF can perform various actions to handle traffic appropriately. + +1. **Allow** + Allows the request to pass through to the backend without modification. + +2. **Block** + Rejects the request entirely, responding with an appropriate HTTP status code (e.g., `403 Forbidden`). + +3. **Challenge** + Issues a challenge (e.g., CAPTCHA) to validate whether the request originates from a legitimate user. + +4. **Redirect** + Redirects the request to a specified URL. Useful for handling deprecated endpoints or re-routing unauthorized traffic. + +5. **Log** + Records the request in detailed logs for further analysis without altering the request flow. + +6. **Rate limiting** + Throttles traffic from specific IPs or sessions that exceed defined thresholds, reducing the risk of abuse or overload. + +7. **Modify request** + Dynamically alters request components, such as headers, query parameters, or cookies. + +### Examples {% #examples %} + +#### Blocking malicious bots +- **Expression**: Match requests with suspicious `User-Agent` strings or invalid headers. +- **Action**: Block or issue a CAPTCHA challenge to confirm legitimate traffic. + +#### Preventing SQL injection +- **Expression**: Match payloads or query strings containing SQL keywords like `SELECT`, `DROP`, or `--`. +- **Action**: Block the request and log it for analysis. + +#### Rate limiting by endpoint +- **Expression**: Limit requests to sensitive endpoints (e.g., `/login`) to prevent abuse. +- **Action**: Throttle or temporarily block repeated requests from the same IP. + +#### Geo-based blocking +- **Expression**: Match requests originating from specific regions or countries. +- **Action**: Block or redirect users to a region-specific notice page. + +#### Header enforcement +- **Expression**: Check for required headers (e.g., `Authorization`) on API requests. +- **Action**: Block requests missing critical headers. \ No newline at end of file diff --git a/src/routes/docs/products/storage/buckets/+page.markdoc b/src/routes/docs/products/storage/buckets/+page.markdoc index 456b7605a..59b0fb67d 100644 --- a/src/routes/docs/products/storage/buckets/+page.markdoc +++ b/src/routes/docs/products/storage/buckets/+page.markdoc @@ -36,7 +36,7 @@ const client = new sdk.Client(); const storage = new sdk.Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -58,7 +58,7 @@ let client = new sdk.Client(); let storage = new sdk.Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -81,7 +81,7 @@ use Appwrite\Services\Storage; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -97,7 +97,7 @@ from appwrite.services.storage import Storage client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key ) @@ -112,7 +112,7 @@ require 'Appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_key('919c2d18fb5d4...a2ae413da83346ad2') # Your secret API key @@ -128,7 +128,7 @@ using Appwrite.Services; using Appwrite.Models; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -146,7 +146,7 @@ void main() { // Init SDK Storage storage = Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey('919c2d18fb5d4...a2ae413da83346ad2') // Your secret API key ; @@ -169,7 +169,7 @@ import io.appwrite.Client import io.appwrite.services.Storage val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key @@ -186,7 +186,7 @@ import io.appwrite.coroutines.CoroutineCallback; import io.appwrite.services.Storage; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2"); // Your secret API key @@ -209,7 +209,7 @@ storage.createBucket( import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setKey("919c2d18fb5d4...a2ae413da83346ad2") // Your secret API key diff --git a/src/routes/docs/products/storage/images/+page.markdoc b/src/routes/docs/products/storage/images/+page.markdoc index 6b687a5c0..72b4aeab9 100644 --- a/src/routes/docs/products/storage/images/+page.markdoc +++ b/src/routes/docs/products/storage/images/+page.markdoc @@ -47,7 +47,7 @@ const client = new Client(); const storage = new Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; @@ -77,7 +77,7 @@ void main() { // Init SDK Storage storage = Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; // downloading file @@ -123,7 +123,7 @@ import Appwrite func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let storage = Storage(client) let byteBuffer = try await storage.getFilePreview( @@ -159,7 +159,7 @@ class MainActivity : AppCompatActivity() { setContentView(R.layout.activity_main) val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val storage = Storage(client) diff --git a/src/routes/docs/products/storage/quick-start/+page.markdoc b/src/routes/docs/products/storage/quick-start/+page.markdoc index f18492247..ed69ca390 100644 --- a/src/routes/docs/products/storage/quick-start/+page.markdoc +++ b/src/routes/docs/products/storage/quick-start/+page.markdoc @@ -23,7 +23,7 @@ To upload a file, add this to your app. For web apps, you can use the File objec import { Client, Storage } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const storage = new Storage(client); @@ -66,7 +66,7 @@ To upload a file, add this to your app. For web apps, you can use the File objec void main() { // Init SDK final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final storage = Storage(client); @@ -83,7 +83,7 @@ To upload a file, add this to your app. For web apps, you can use the File objec func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let storage = Storage(client) @@ -104,7 +104,7 @@ To upload a file, add this to your app. For web apps, you can use the File objec suspend fun main() { val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val storage = Storage(client) @@ -155,7 +155,7 @@ const client = new Client(); const storage = new Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; @@ -171,7 +171,7 @@ void main() { // Init SDK Storage storage = Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; // downloading file @@ -206,7 +206,7 @@ import Appwrite func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let storage = Storage(client) let byteBuffer = try await storage.getFileDownload( @@ -231,7 +231,7 @@ class MainActivity : AppCompatActivity() { setContentView(R.layout.activity_main) val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val storage = Storage(client) diff --git a/src/routes/docs/products/storage/upload-download/+page.markdoc b/src/routes/docs/products/storage/upload-download/+page.markdoc index 28916089f..d4be63b95 100644 --- a/src/routes/docs/products/storage/upload-download/+page.markdoc +++ b/src/routes/docs/products/storage/upload-download/+page.markdoc @@ -19,7 +19,7 @@ You can also upload files programmatically using our SDKs: import { Client, Storage } from "appwrite"; const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); const storage = new Storage(client); @@ -62,7 +62,7 @@ You can also upload files programmatically using our SDKs: void main() { // Init SDK final client = Client() - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); final storage = Storage(client); @@ -81,7 +81,7 @@ You can also upload files programmatically using our SDKs: suspend fun main() { val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val storage = Storage(client) @@ -99,7 +99,7 @@ You can also upload files programmatically using our SDKs: func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") let storage = Storage(client) @@ -305,7 +305,7 @@ const client = new Client(); const storage = new Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; @@ -325,7 +325,7 @@ void main() { // Init SDK Storage storage = Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; // downloading file @@ -360,7 +360,7 @@ import Appwrite func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let storage = Storage(client) let byteBuffer = try await storage.getFile( @@ -385,7 +385,7 @@ class MainActivity : AppCompatActivity() { setContentView(R.layout.activity_main) val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val storage = Storage(client) @@ -412,7 +412,7 @@ const client = new Client(); const storage = new Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; @@ -428,7 +428,7 @@ void main() { // Init SDK Storage storage = Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; // downloading file @@ -463,7 +463,7 @@ import Appwrite func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let storage = Storage(client) let byteBuffer = try await storage.getFileDownload( @@ -488,7 +488,7 @@ class MainActivity : AppCompatActivity() { setContentView(R.layout.activity_main) val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val storage = Storage(client) @@ -515,7 +515,7 @@ const client = new Client(); const storage = new Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; @@ -531,7 +531,7 @@ void main() { // Init SDK Storage storage = Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; // downloading file @@ -566,7 +566,7 @@ import Appwrite func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let storage = Storage(client) let byteBuffer = try await storage.getFilePreview( @@ -591,7 +591,7 @@ class MainActivity : AppCompatActivity() { setContentView(R.layout.activity_main) val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val storage = Storage(client) @@ -619,7 +619,7 @@ const client = new Client(); const storage = new Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; @@ -635,7 +635,7 @@ void main() { // Init SDK Storage storage = Storage(client); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; // downloading file @@ -670,7 +670,7 @@ import Appwrite func main() async throws { let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID let storage = Storage(client) let byteBuffer = try await storage.getFileView( @@ -695,7 +695,7 @@ class MainActivity : AppCompatActivity() { setContentView(R.layout.activity_main) val client = Client(applicationContext) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID val storage = Storage(client) diff --git a/src/routes/docs/quick-starts/android/+page.markdoc b/src/routes/docs/quick-starts/android/+page.markdoc index a0d13f726..07059dc6a 100644 --- a/src/routes/docs/quick-starts/android/+page.markdoc +++ b/src/routes/docs/quick-starts/android/+page.markdoc @@ -102,7 +102,7 @@ object Appwrite { fun init(context: Context) { client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("[PROJECT_ID]") account = Account(client) diff --git a/src/routes/docs/quick-starts/angular/+page.markdoc b/src/routes/docs/quick-starts/angular/+page.markdoc index a5cdc77a3..b14880e5d 100644 --- a/src/routes/docs/quick-starts/angular/+page.markdoc +++ b/src/routes/docs/quick-starts/angular/+page.markdoc @@ -74,7 +74,7 @@ import { Client, Account} from 'appwrite'; export const client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); // Replace with your project ID export const account = new Account(client); diff --git a/src/routes/docs/quick-starts/apple/+page.markdoc b/src/routes/docs/quick-starts/apple/+page.markdoc index 37a633ab9..efb7fdb89 100644 --- a/src/routes/docs/quick-starts/apple/+page.markdoc +++ b/src/routes/docs/quick-starts/apple/+page.markdoc @@ -110,7 +110,7 @@ class Appwrite { public init() { self.client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("[PROJECT_ID]") self.account = Account(client) diff --git a/src/routes/docs/quick-starts/dart/+page.markdoc b/src/routes/docs/quick-starts/dart/+page.markdoc index 352ef4e4b..3a8a30d69 100644 --- a/src/routes/docs/quick-starts/dart/+page.markdoc +++ b/src/routes/docs/quick-starts/dart/+page.markdoc @@ -78,7 +78,7 @@ var client = Client(); Future main() async { client - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") .setKey(""); } @@ -200,7 +200,7 @@ Finally, revisit the `main()` function and call the functions created in previou ```dart Future main() async { client - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") .setKey(""); diff --git a/src/routes/docs/quick-starts/deno/+page.markdoc b/src/routes/docs/quick-starts/deno/+page.markdoc index 705741288..df89a95c1 100644 --- a/src/routes/docs/quick-starts/deno/+page.markdoc +++ b/src/routes/docs/quick-starts/deno/+page.markdoc @@ -81,7 +81,7 @@ import { Client, ID, Databases, Models } from "https://deno.land/x/appwrite/mod. const client: Client = new Client(); client - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") .setKey(""); ``` diff --git a/src/routes/docs/quick-starts/dotnet/+page.markdoc b/src/routes/docs/quick-starts/dotnet/+page.markdoc index 00b2a85b8..8d61182db 100644 --- a/src/routes/docs/quick-starts/dotnet/+page.markdoc +++ b/src/routes/docs/quick-starts/dotnet/+page.markdoc @@ -83,7 +83,7 @@ using Appwrite.Services; var client = new Client(); client - .SetEndpoint("https://cloud.appwrite.io/v1") + .SetEndpoint("https://.cloud.appwrite.io/v1") .SetProject("") .SetKey(""); ``` diff --git a/src/routes/docs/quick-starts/flutter/+page.markdoc b/src/routes/docs/quick-starts/flutter/+page.markdoc index 20de921ea..2e3d8c611 100644 --- a/src/routes/docs/quick-starts/flutter/+page.markdoc +++ b/src/routes/docs/quick-starts/flutter/+page.markdoc @@ -183,7 +183,7 @@ import 'package:appwrite/models.dart' as models; void main() { WidgetsFlutterBinding.ensureInitialized(); Client client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); Account account = Account(client); diff --git a/src/routes/docs/quick-starts/kotlin/+page.markdoc b/src/routes/docs/quick-starts/kotlin/+page.markdoc index 7ba712996..195b7fc23 100644 --- a/src/routes/docs/quick-starts/kotlin/+page.markdoc +++ b/src/routes/docs/quick-starts/kotlin/+page.markdoc @@ -91,7 +91,7 @@ import io.appwrite.models.Collection import kotlinx.coroutines.coroutineScope val client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") .setKey(""); ``` diff --git a/src/routes/docs/quick-starts/nextjs/+page.markdoc b/src/routes/docs/quick-starts/nextjs/+page.markdoc index c8c953b32..63e3bc5cc 100644 --- a/src/routes/docs/quick-starts/nextjs/+page.markdoc +++ b/src/routes/docs/quick-starts/nextjs/+page.markdoc @@ -74,7 +74,7 @@ import { Client, Account } from 'appwrite'; export const client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); // Replace with your project ID export const account = new Account(client); diff --git a/src/routes/docs/quick-starts/node/+page.markdoc b/src/routes/docs/quick-starts/node/+page.markdoc index 7736aec23..c50d4ee0a 100644 --- a/src/routes/docs/quick-starts/node/+page.markdoc +++ b/src/routes/docs/quick-starts/node/+page.markdoc @@ -76,7 +76,7 @@ const sdk = require("node-appwrite"); const client = new sdk.Client(); client - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") .setKey(""); ``` diff --git a/src/routes/docs/quick-starts/nuxt/+page.markdoc b/src/routes/docs/quick-starts/nuxt/+page.markdoc index cb7680626..9fd449f7c 100644 --- a/src/routes/docs/quick-starts/nuxt/+page.markdoc +++ b/src/routes/docs/quick-starts/nuxt/+page.markdoc @@ -67,7 +67,7 @@ import { Client, Account} from 'appwrite'; export const client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); // Replace with your project ID export const account = new Account(client); diff --git a/src/routes/docs/quick-starts/php/+page.markdoc b/src/routes/docs/quick-starts/php/+page.markdoc index 758617349..4b2359bd5 100644 --- a/src/routes/docs/quick-starts/php/+page.markdoc +++ b/src/routes/docs/quick-starts/php/+page.markdoc @@ -81,7 +81,7 @@ use Appwrite\ID; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') + ->setEndpoint('https://.cloud.appwrite.io/v1') ->setProject('') ->setKey(''); ``` diff --git a/src/routes/docs/quick-starts/python/+page.markdoc b/src/routes/docs/quick-starts/python/+page.markdoc index cd6e3e052..eba0d3157 100644 --- a/src/routes/docs/quick-starts/python/+page.markdoc +++ b/src/routes/docs/quick-starts/python/+page.markdoc @@ -97,7 +97,7 @@ from appwrite.services.databases import Databases from appwrite.id import ID client = Client() -client.set_endpoint('https://cloud.appwrite.io/v1') +client.set_endpoint('https://.cloud.appwrite.io/v1') client.set_project('') client.set_key('') ``` diff --git a/src/routes/docs/quick-starts/react-native/+page.markdoc b/src/routes/docs/quick-starts/react-native/+page.markdoc index f03abf61a..322359825 100644 --- a/src/routes/docs/quick-starts/react-native/+page.markdoc +++ b/src/routes/docs/quick-starts/react-native/+page.markdoc @@ -103,7 +103,7 @@ let account: Account; client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject('66e943139f030e2feaf8') // Your Project ID .setPlatform('com.example.my-app'); // Your package name / bundle identifier diff --git a/src/routes/docs/quick-starts/react/+page.markdoc b/src/routes/docs/quick-starts/react/+page.markdoc index 71900462c..c66e5659c 100644 --- a/src/routes/docs/quick-starts/react/+page.markdoc +++ b/src/routes/docs/quick-starts/react/+page.markdoc @@ -64,7 +64,7 @@ import { Client, Account} from 'appwrite'; export const client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); // Replace with your project ID export const account = new Account(client); diff --git a/src/routes/docs/quick-starts/ruby/+page.markdoc b/src/routes/docs/quick-starts/ruby/+page.markdoc index c7c9f0807..355a99685 100644 --- a/src/routes/docs/quick-starts/ruby/+page.markdoc +++ b/src/routes/docs/quick-starts/ruby/+page.markdoc @@ -79,7 +79,7 @@ include Appwrite client = Client.new() client - .set_endpoint('https://cloud.appwrite.io/v1') # Your Appwrite Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your Appwrite Endpoint .set_project('') # Your project ID .set_key('') # Your secret API key ``` diff --git a/src/routes/docs/quick-starts/solid/+page.markdoc b/src/routes/docs/quick-starts/solid/+page.markdoc index be51229a1..f0e0ee406 100644 --- a/src/routes/docs/quick-starts/solid/+page.markdoc +++ b/src/routes/docs/quick-starts/solid/+page.markdoc @@ -70,7 +70,7 @@ import { Client, Account } from 'appwrite'; export const client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); // Replace with your project ID export const account = new Account(client); diff --git a/src/routes/docs/quick-starts/sveltekit/+page.markdoc b/src/routes/docs/quick-starts/sveltekit/+page.markdoc index 2b4e0a13c..36d68d3c3 100644 --- a/src/routes/docs/quick-starts/sveltekit/+page.markdoc +++ b/src/routes/docs/quick-starts/sveltekit/+page.markdoc @@ -63,7 +63,7 @@ import { Client, Account } from 'appwrite'; export const client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); // Replace with your project ID export const account = new Account(client); diff --git a/src/routes/docs/quick-starts/swift/+page.markdoc b/src/routes/docs/quick-starts/swift/+page.markdoc index bcae01478..42728715b 100644 --- a/src/routes/docs/quick-starts/swift/+page.markdoc +++ b/src/routes/docs/quick-starts/swift/+page.markdoc @@ -85,7 +85,7 @@ import Appwrite import AppwriteModels let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") .setKey("") ``` diff --git a/src/routes/docs/quick-starts/vue/+page.markdoc b/src/routes/docs/quick-starts/vue/+page.markdoc index b5502e54a..acb9bece4 100644 --- a/src/routes/docs/quick-starts/vue/+page.markdoc +++ b/src/routes/docs/quick-starts/vue/+page.markdoc @@ -65,7 +65,7 @@ import { Client, Account} from 'appwrite'; export const client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); // Replace with your project ID export const account = new Account(client); diff --git a/src/routes/docs/quick-starts/web/+page.markdoc b/src/routes/docs/quick-starts/web/+page.markdoc index 11e2bb237..bb46c4623 100644 --- a/src/routes/docs/quick-starts/web/+page.markdoc +++ b/src/routes/docs/quick-starts/web/+page.markdoc @@ -55,7 +55,7 @@ import { Client, Account } from 'appwrite'; export const client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); // Replace with your project ID export const account = new Account(client); @@ -89,7 +89,7 @@ import { type Models } from 'appwrite'; const client: Client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') + .setEndpoint('https://.cloud.appwrite.io/v1') .setProject(''); // Replace with your project ID export const account: Account = new Account(client); diff --git a/src/routes/docs/references/[version]/[platform]/[service]/+page.svelte b/src/routes/docs/references/[version]/[platform]/[service]/+page.svelte index 99c559267..fa073d80f 100644 --- a/src/routes/docs/references/[version]/[platform]/[service]/+page.svelte +++ b/src/routes/docs/references/[version]/[platform]/[service]/+page.svelte @@ -224,7 +224,7 @@ diff --git a/src/routes/docs/references/quick-start/+page.markdoc b/src/routes/docs/references/quick-start/+page.markdoc index f44242b8f..271dd84f1 100644 --- a/src/routes/docs/references/quick-start/+page.markdoc +++ b/src/routes/docs/references/quick-start/+page.markdoc @@ -96,7 +96,7 @@ import { Client } from "appwrite"; const client = new Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; ``` @@ -106,7 +106,7 @@ import 'package:appwrite/appwrite.dart'; Client client = Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID ; ``` @@ -114,14 +114,14 @@ client import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID ``` ```client-android-kotlin import io.appwrite.Client val client = Client(context) - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID ``` {% /multicode %} @@ -139,7 +139,7 @@ const sdk = require('node-appwrite'); const client = new sdk.Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('') // Your secret JSON Web Token ; @@ -151,7 +151,7 @@ import * as sdk from "https://deno.land/x/appwrite/mod.ts"; let client = new sdk.Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('') // Your secret JSON Web Token ; @@ -164,7 +164,7 @@ use Appwrite\Client; $client = new Client(); $client - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setJWT('') // Your secret JSON Web Token ; @@ -175,7 +175,7 @@ from appwrite.client import Client client = Client() (client - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_jwt('') # Your secret JSON Web Token ) @@ -186,7 +186,7 @@ require 'appwrite' include Appwrite client = Client.new - .set_endpoint('https://cloud.appwrite.io/v1') # Your API Endpoint + .set_endpoint('https://.cloud.appwrite.io/v1') # Your API Endpoint .set_project('') # Your project ID .set_jwt('') # Your secret JSON Web Token ``` @@ -195,7 +195,7 @@ using Appwrite; using Appwrite.Services; var client = new Client() - .SetEndPoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .SetProject("") // Your project ID .SetJWT(""); // Your secret JSON Web Token ``` @@ -206,7 +206,7 @@ void main() { // Init SDK Client client = Client(); client - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setJWT('') // Your secret JSON Web Token ; @@ -217,7 +217,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setJWT(""); // Your secret JSON Web Token ``` @@ -226,7 +226,7 @@ import io.appwrite.Client; import io.appwrite.coroutines.CoroutineCallback; Client client = new Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setJWT(""); // Your secret JSON Web Token ``` @@ -234,7 +234,7 @@ Client client = new Client() import Appwrite let client = Client() - .setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint + .setEndpoint("https://.cloud.appwrite.io/v1") // Your API Endpoint .setProject("") // Your project ID .setJWT("") // Your secret JSON Web Token ``` @@ -262,7 +262,7 @@ The API key should have the following scope in order to perform authentication: import { Client } from "node-appwrite"; // Using the server SDK const adminClient = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject('') // Your project ID .setKey(''); // Your secret API key ``` @@ -271,7 +271,7 @@ use Appwrite\Client; use Appwrite\Services\Account; $adminClient = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject('') // Your project ID ->setKey(''); // Your secret API key @@ -291,7 +291,7 @@ You should create a new client for each request and **never** share the client b {% multicode %} ```server-nodejs const sessionClient = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + .setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint .setProject(''); // Your project ID const session = req.cookies.session; // Get the session cookie from the request @@ -301,7 +301,7 @@ if (session) { ``` ```php $sessionClient = (new Client()) - ->setEndpoint('https://cloud.appwrite.io/v1') // Your API Endpoint + ->setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint ->setProject(''); // Your project ID $session = $_COOKIE['session']; // Get the session cookie from the request diff --git a/src/routes/docs/tooling/command-line/installation/+page.markdoc b/src/routes/docs/tooling/command-line/installation/+page.markdoc index 59ddfdd2c..89880b0f9 100644 --- a/src/routes/docs/tooling/command-line/installation/+page.markdoc +++ b/src/routes/docs/tooling/command-line/installation/+page.markdoc @@ -187,7 +187,7 @@ appwrite help At any point, if you would like to change your server's endpoint, project ID, or self-signed certificate acceptance, use the `client` command. ```sh -appwrite client --endpoint https://cloud.appwrite.io/v1 +appwrite client --endpoint https://.cloud.appwrite.io/v1 appwrite client --key 23f24gwrhSDgefaY appwrite client --self-signed true appwrite client --reset // Resets your CLI configuration diff --git a/src/routes/docs/tooling/command-line/non-interactive/+page.markdoc b/src/routes/docs/tooling/command-line/non-interactive/+page.markdoc index fc178ab7e..1eb29210e 100644 --- a/src/routes/docs/tooling/command-line/non-interactive/+page.markdoc +++ b/src/routes/docs/tooling/command-line/non-interactive/+page.markdoc @@ -7,7 +7,7 @@ The Appwrite CLI can be used in a non-interactive and headless manner, without s ```sh appwrite client \ - --endpoint https://cloud.appwrite.io/v1 \ + --endpoint https://.cloud.appwrite.io/v1 \ --project-id [PROJECT_ID] \ --key YOUR_API_KEY ``` diff --git a/src/routes/docs/tutorials/android/step-3/+page.markdoc b/src/routes/docs/tutorials/android/step-3/+page.markdoc index 1db4e47e8..a3108d09d 100644 --- a/src/routes/docs/tutorials/android/step-3/+page.markdoc +++ b/src/routes/docs/tutorials/android/step-3/+page.markdoc @@ -51,7 +51,7 @@ import android.content.Context import io.appwrite.Client object Appwrite { - private const val ENDPOINT = "https://cloud.appwrite.io/v1" + private const val ENDPOINT = "https://.cloud.appwrite.io/v1" private const val PROJECT_ID = "" private lateinit var client: Client diff --git a/src/routes/docs/tutorials/android/step-4/+page.markdoc b/src/routes/docs/tutorials/android/step-4/+page.markdoc index 67527d566..139a41ebf 100644 --- a/src/routes/docs/tutorials/android/step-4/+page.markdoc +++ b/src/routes/docs/tutorials/android/step-4/+page.markdoc @@ -62,7 +62,7 @@ Look for `// Add this line 👇` to find where the changes made here. ```kotlin object Appwrite { - private const val ENDPOINT = "https://cloud.appwrite.io/v1" + private const val ENDPOINT = "https://.cloud.appwrite.io/v1" private const val PROJECT_ID = "" private lateinit var client: Client diff --git a/src/routes/docs/tutorials/android/step-6/+page.markdoc b/src/routes/docs/tutorials/android/step-6/+page.markdoc index defa21fbd..573b70674 100644 --- a/src/routes/docs/tutorials/android/step-6/+page.markdoc +++ b/src/routes/docs/tutorials/android/step-6/+page.markdoc @@ -103,7 +103,7 @@ import android.content.Context import io.appwrite.Client object Appwrite { - private const val ENDPOINT = "https://cloud.appwrite.io/v1" + private const val ENDPOINT = "https://.cloud.appwrite.io/v1" private const val PROJECT_ID = "" private lateinit var client: Client diff --git a/src/routes/docs/tutorials/astro-ssr-auth/step-3/+page.markdoc b/src/routes/docs/tutorials/astro-ssr-auth/step-3/+page.markdoc index 2150a7e06..cdc904caf 100644 --- a/src/routes/docs/tutorials/astro-ssr-auth/step-3/+page.markdoc +++ b/src/routes/docs/tutorials/astro-ssr-auth/step-3/+page.markdoc @@ -83,7 +83,7 @@ For example, your `.env` might look something similar to this. ```env APPWRITE_KEY= -PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1 +PUBLIC_APPWRITE_ENDPOINT=https://.cloud.appwrite.io/v1 PUBLIC_APPWRITE_PROJECT= ``` diff --git a/src/routes/docs/tutorials/nextjs-ssr-auth/step-3/+page.markdoc b/src/routes/docs/tutorials/nextjs-ssr-auth/step-3/+page.markdoc index 09e8c0b3c..9b92587ca 100644 --- a/src/routes/docs/tutorials/nextjs-ssr-auth/step-3/+page.markdoc +++ b/src/routes/docs/tutorials/nextjs-ssr-auth/step-3/+page.markdoc @@ -64,7 +64,7 @@ For example, your `.env` might look something similar to this. ```env NEXT_APPWRITE_KEY= -NEXT_PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1 +NEXT_PUBLIC_APPWRITE_ENDPOINT=https://.cloud.appwrite.io/v1 NEXT_PUBLIC_APPWRITE_PROJECT= ``` diff --git a/src/routes/docs/tutorials/nuxt-ssr-auth/step-3/+page.markdoc b/src/routes/docs/tutorials/nuxt-ssr-auth/step-3/+page.markdoc index 689428427..6c7254097 100644 --- a/src/routes/docs/tutorials/nuxt-ssr-auth/step-3/+page.markdoc +++ b/src/routes/docs/tutorials/nuxt-ssr-auth/step-3/+page.markdoc @@ -103,6 +103,6 @@ For example, your `.env` might look something similar to this. ```env APPWRITE_KEY= -PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1 +PUBLIC_APPWRITE_ENDPOINT=https://.cloud.appwrite.io/v1 PUBLIC_APPWRITE_PROJECT= ``` diff --git a/src/routes/docs/tutorials/nuxt/step-3/+page.markdoc b/src/routes/docs/tutorials/nuxt/step-3/+page.markdoc index bb1fde26c..e4d871e60 100644 --- a/src/routes/docs/tutorials/nuxt/step-3/+page.markdoc +++ b/src/routes/docs/tutorials/nuxt/step-3/+page.markdoc @@ -46,7 +46,7 @@ Your project id is located in the **Settings** page in the Appwrite console. Add a `.env` file to the root directory and add the following code to it, replacing `PROJECT_ID` with your project id. ``` -VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1 +VITE_APPWRITE_ENDPOINT=https://.cloud.appwrite.io/v1 VITE_APPWRITE_PROJECT=PROJECT_ID ``` diff --git a/src/routes/docs/tutorials/react-native/step-3/+page.markdoc b/src/routes/docs/tutorials/react-native/step-3/+page.markdoc index 37068340b..48ca5f3d1 100644 --- a/src/routes/docs/tutorials/react-native/step-3/+page.markdoc +++ b/src/routes/docs/tutorials/react-native/step-3/+page.markdoc @@ -50,7 +50,7 @@ import { Client, Databases, Account } from "react-native-appwrite"; const client = new Client(); client - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject("") // Replace with your project ID .setPlatform('com.example.idea-tracker'); diff --git a/src/routes/docs/tutorials/react/step-3/+page.markdoc b/src/routes/docs/tutorials/react/step-3/+page.markdoc index ca69b8554..00fcc732d 100644 --- a/src/routes/docs/tutorials/react/step-3/+page.markdoc +++ b/src/routes/docs/tutorials/react/step-3/+page.markdoc @@ -49,7 +49,7 @@ import { Client, Databases, Account } from "appwrite"; const client = new Client(); client - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); // Replace with your project ID export const account = new Account(client); diff --git a/src/routes/docs/tutorials/sveltekit-csr-auth/step-3/+page.markdoc b/src/routes/docs/tutorials/sveltekit-csr-auth/step-3/+page.markdoc index c4f9b3c9a..6d31bb903 100644 --- a/src/routes/docs/tutorials/sveltekit-csr-auth/step-3/+page.markdoc +++ b/src/routes/docs/tutorials/sveltekit-csr-auth/step-3/+page.markdoc @@ -39,7 +39,7 @@ export const appwrite = { For example, your `.env` might look something similar to this. ```env -PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1 +PUBLIC_APPWRITE_ENDPOINT=https://.cloud.appwrite.io/v1 PUBLIC_APPWRITE_PROJECT=642sdddf85b440dc7e5bf ``` diff --git a/src/routes/docs/tutorials/sveltekit-ssr-auth/step-3/+page.markdoc b/src/routes/docs/tutorials/sveltekit-ssr-auth/step-3/+page.markdoc index ea8398ed2..699b33712 100644 --- a/src/routes/docs/tutorials/sveltekit-ssr-auth/step-3/+page.markdoc +++ b/src/routes/docs/tutorials/sveltekit-ssr-auth/step-3/+page.markdoc @@ -69,7 +69,7 @@ For example, your `.env` might look something similar to this. ```text APPWRITE_KEY= -PUBLIC_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1 +PUBLIC_APPWRITE_ENDPOINT=https://.cloud.appwrite.io/v1 PUBLIC_APPWRITE_PROJECT= ``` diff --git a/src/routes/docs/tutorials/sveltekit/step-3/+page.markdoc b/src/routes/docs/tutorials/sveltekit/step-3/+page.markdoc index 18ba9a4a1..82298dd9a 100644 --- a/src/routes/docs/tutorials/sveltekit/step-3/+page.markdoc +++ b/src/routes/docs/tutorials/sveltekit/step-3/+page.markdoc @@ -48,7 +48,7 @@ import { Client, Databases, Account } from "appwrite"; const client = new Client(); client - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); // Replace with your project ID export const account = new Account(client); diff --git a/src/routes/docs/tutorials/vue/step-3/+page.markdoc b/src/routes/docs/tutorials/vue/step-3/+page.markdoc index daa37f790..f4d20a8d4 100644 --- a/src/routes/docs/tutorials/vue/step-3/+page.markdoc +++ b/src/routes/docs/tutorials/vue/step-3/+page.markdoc @@ -48,7 +48,7 @@ import { Client, Databases, Account } from "appwrite"; const client = new Client(); client - .setEndpoint("https://cloud.appwrite.io/v1") + .setEndpoint("https://.cloud.appwrite.io/v1") .setProject(""); // Replace with your project ID export const account = new Account(client); diff --git a/src/routes/event-sponsorship/+page.svelte b/src/routes/event-sponsorship/+page.svelte index f189d90fa..c71e3a1c5 100644 --- a/src/routes/event-sponsorship/+page.svelte +++ b/src/routes/event-sponsorship/+page.svelte @@ -258,6 +258,7 @@ class="web-input-text w-full" bind:value={socialHandles} placeholder="List your social media handles or profile URLs" + maxlength="512" > diff --git a/src/routes/pricing/compare-plans.svelte b/src/routes/pricing/compare-plans.svelte index 2a810ae09..3e6bcba4c 100644 --- a/src/routes/pricing/compare-plans.svelte +++ b/src/routes/pricing/compare-plans.svelte @@ -70,14 +70,28 @@ title: 'Platform', rows: [ { - title: 'Organization Members', + title: 'Number of projects', + free: 'Unlimited', + pro: 'Unlimited', + scale: 'Unlimited', + enterprise: 'Unlimited' + }, + { + title: 'Projects pausing', + free: 'Never', + pro: 'Never', + scale: 'Never', + enterprise: 'Never' + }, + { + title: 'Organization members', free: '1', pro: '1', scale: 'Unlimited', enterprise: 'Unlimited' }, { - title: 'Additional Organization members', + title: 'Additional members', free: '-', pro: '$15 per member', scale: '$0', @@ -229,7 +243,7 @@ { title: 'Dedicated databases', free: '-', - pro: 'Coming Soon', + pro: 'Coming soon', scale: 'Coming soon', enterprise: 'Coming soon' } @@ -309,8 +323,8 @@ { title: 'Additional executions', free: '-', - pro: '$2 per 1 Million', - scale: '$2 per 1 Million', + pro: '$2 per 1m', + scale: '$2 per 1m', enterprise: 'Custom' }, { @@ -334,7 +348,7 @@ enterprise: 'Custom' }, { - title: 'Additional concurrent connections', + title: 'Additional connections', free: '-', pro: '$5 per 1,000', scale: '$5 per 1,000', @@ -349,6 +363,68 @@ } ] }, + { + title: 'Network', + rows: [ + { + title: 'Edge compute', + free: true, + pro: true, + scale: true, + enterprise: true + }, + { + title: 'DDoS mitigation', + free: true, + pro: true, + scale: true, + enterprise: true + }, + { + title: 'Content delivery network', + free: true, + pro: true, + scale: true, + enterprise: true + }, + { + title: 'Content compression', + info: 'Support for brotli, zstd and gzip for text compression and webp for image compression', + free: true, + pro: true, + scale: true, + enterprise: true + }, + { + title: 'TLS encryption', + free: true, + pro: true, + scale: true, + enterprise: true + }, + { + title: 'Logs', + free: '-', + pro: '-', + scale: 'Coming soon', + enterprise: 'Coming soon' + }, + { + title: 'Firewall', + free: '-', + pro: '-', + scale: '-', + enterprise: 'Custom rules' + }, + { + title: 'WAF', + free: '-', + pro: '-', + scale: '-', + enterprise: 'Custom rules' + } + ] + }, { title: 'Security', rows: [ @@ -384,22 +460,15 @@ title: 'Custom organization roles', free: '-', pro: '-', - scale: 'Coming Soon', - enterprise: 'Coming Soon' - }, - { - title: 'Network logs', - free: '-', - pro: '-', - scale: 'Coming Soon', - enterprise: 'Coming Soon' + scale: 'Coming soon', + enterprise: 'Coming soon' }, { title: 'Activity logs', free: '-', pro: '-', - scale: 'Coming Soon', - enterprise: 'Coming Soon' + scale: 'Coming soon', + enterprise: 'Coming soon' } ] }, diff --git a/src/routes/the-appwrite-network/+page.svelte b/src/routes/the-appwrite-network/+page.svelte new file mode 100644 index 000000000..2df188bbc --- /dev/null +++ b/src/routes/the-appwrite-network/+page.svelte @@ -0,0 +1,78 @@ + + + + + {title} + + + + + + + + + + + + + + + {@html getInlinedScriptTag(softwareAppSchema())} + + + {@html getInlinedScriptTag(organizationJsonSchema())} + + +
    +
    +
    + Read the announcement +

    + {#each heading.split(' ') as word, i} + {word} + {/each} +

    +
    + +
    +
    + +
    +
    +
    diff --git a/src/styles/typography.css b/src/styles/typography.css index 0e0b6b531..4744a3d3b 100644 --- a/src/styles/typography.css +++ b/src/styles/typography.css @@ -1,4 +1,4 @@ -.prose { +/* .prose { --prose-color: var(--color-gray-700); --prose-heading-color: var(--color-gray-950); --prose-strong-color: var(--color-gray-950); @@ -301,4 +301,4 @@ max-width: calc(100% + calc(var(--spacing) * 8)); } } -} +} */ diff --git a/static/images/blog/change-regions-with-migrations/cover.png b/static/images/blog/change-regions-with-migrations/cover.png new file mode 100644 index 000000000..cbe148dcd Binary files /dev/null and b/static/images/blog/change-regions-with-migrations/cover.png differ diff --git a/static/images/blog/change-regions-with-migrations/create-api-key.png b/static/images/blog/change-regions-with-migrations/create-api-key.png new file mode 100644 index 000000000..216824ff4 Binary files /dev/null and b/static/images/blog/change-regions-with-migrations/create-api-key.png differ diff --git a/static/images/blog/change-regions-with-migrations/migrations-complete.png b/static/images/blog/change-regions-with-migrations/migrations-complete.png new file mode 100644 index 000000000..cd6205e98 Binary files /dev/null and b/static/images/blog/change-regions-with-migrations/migrations-complete.png differ diff --git a/static/images/blog/change-regions-with-migrations/migrations-screen.png b/static/images/blog/change-regions-with-migrations/migrations-screen.png new file mode 100644 index 000000000..650c8c1da Binary files /dev/null and b/static/images/blog/change-regions-with-migrations/migrations-screen.png differ diff --git a/static/images/blog/change-regions-with-migrations/migrations-tab.png b/static/images/blog/change-regions-with-migrations/migrations-tab.png new file mode 100644 index 000000000..966d1fbd5 Binary files /dev/null and b/static/images/blog/change-regions-with-migrations/migrations-tab.png differ diff --git a/static/images/blog/product-update-march-2025/cloud-backups.png b/static/images/blog/product-update-march-2025/cloud-backups.png new file mode 100644 index 000000000..8aee9a7f4 Binary files /dev/null and b/static/images/blog/product-update-march-2025/cloud-backups.png differ diff --git a/static/images/blog/product-update-march-2025/community.png b/static/images/blog/product-update-march-2025/community.png new file mode 100644 index 000000000..a2fd0b2f3 Binary files /dev/null and b/static/images/blog/product-update-march-2025/community.png differ diff --git a/static/images/blog/product-update-march-2025/cover-image.png b/static/images/blog/product-update-march-2025/cover-image.png new file mode 100644 index 000000000..3fb744ec6 Binary files /dev/null and b/static/images/blog/product-update-march-2025/cover-image.png differ diff --git a/static/images/blog/product-update-march-2025/mcp.png b/static/images/blog/product-update-march-2025/mcp.png new file mode 100644 index 000000000..5dcd36a9f Binary files /dev/null and b/static/images/blog/product-update-march-2025/mcp.png differ diff --git a/static/images/blog/product-update-march-2025/ph.png b/static/images/blog/product-update-march-2025/ph.png new file mode 100644 index 000000000..830bb6ac9 Binary files /dev/null and b/static/images/blog/product-update-march-2025/ph.png differ diff --git a/static/images/blog/the-appwrite-network/cloud-regions.png b/static/images/blog/the-appwrite-network/cloud-regions.png new file mode 100644 index 000000000..a969b5fef Binary files /dev/null and b/static/images/blog/the-appwrite-network/cloud-regions.png differ diff --git a/static/images/blog/the-appwrite-network/network-cover-image.png b/static/images/blog/the-appwrite-network/network-cover-image.png new file mode 100644 index 000000000..a73365c70 Binary files /dev/null and b/static/images/blog/the-appwrite-network/network-cover-image.png differ diff --git a/static/images/blog/the-appwrite-network/regions-edges-pops.png b/static/images/blog/the-appwrite-network/regions-edges-pops.png new file mode 100644 index 000000000..4ee001563 Binary files /dev/null and b/static/images/blog/the-appwrite-network/regions-edges-pops.png differ diff --git a/static/images/changelog/2025-04-15.png b/static/images/changelog/2025-04-15.png new file mode 100644 index 000000000..a73365c70 Binary files /dev/null and b/static/images/changelog/2025-04-15.png differ diff --git a/static/images/docs/network/all-maps.png b/static/images/docs/network/all-maps.png new file mode 100644 index 000000000..9eda4a9de Binary files /dev/null and b/static/images/docs/network/all-maps.png differ diff --git a/static/images/docs/network/dark/all-maps.png b/static/images/docs/network/dark/all-maps.png new file mode 100644 index 000000000..7b38c1a9d Binary files /dev/null and b/static/images/docs/network/dark/all-maps.png differ diff --git a/static/images/docs/network/dark/edges-map.png b/static/images/docs/network/dark/edges-map.png new file mode 100644 index 000000000..40b4d945a Binary files /dev/null and b/static/images/docs/network/dark/edges-map.png differ diff --git a/static/images/docs/network/dark/pops-map.png b/static/images/docs/network/dark/pops-map.png new file mode 100644 index 000000000..70300f3ed Binary files /dev/null and b/static/images/docs/network/dark/pops-map.png differ diff --git a/static/images/docs/network/dark/regions-map.png b/static/images/docs/network/dark/regions-map.png new file mode 100644 index 000000000..e7413701e Binary files /dev/null and b/static/images/docs/network/dark/regions-map.png differ diff --git a/static/images/docs/network/edges-map.png b/static/images/docs/network/edges-map.png new file mode 100644 index 000000000..6877e936c Binary files /dev/null and b/static/images/docs/network/edges-map.png differ diff --git a/static/images/docs/network/pops-map.png b/static/images/docs/network/pops-map.png new file mode 100644 index 000000000..0a0545e70 Binary files /dev/null and b/static/images/docs/network/pops-map.png differ diff --git a/static/images/docs/network/regions-map.png b/static/images/docs/network/regions-map.png new file mode 100644 index 000000000..96fe9e875 Binary files /dev/null and b/static/images/docs/network/regions-map.png differ diff --git a/static/images/icons/illustrated/dark/network.png b/static/images/icons/illustrated/dark/network.png new file mode 100644 index 000000000..8aec17031 Binary files /dev/null and b/static/images/icons/illustrated/dark/network.png differ diff --git a/static/images/icons/illustrated/light/network.png b/static/images/icons/illustrated/light/network.png new file mode 100644 index 000000000..3ab9c5f4d Binary files /dev/null and b/static/images/icons/illustrated/light/network.png differ diff --git a/static/images/regions/map.svg b/static/images/regions/map.svg index 418dd1a6b..ba9665205 100644 --- a/static/images/regions/map.svg +++ b/static/images/regions/map.svg @@ -1,6 +1,6 @@ - +