@appwrite.io/console 13.0.0 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/sdk.js +1658 -1162
  3. package/dist/cjs/sdk.js.map +1 -1
  4. package/dist/esm/sdk.js +1656 -1163
  5. package/dist/esm/sdk.js.map +1 -1
  6. package/dist/iife/sdk.js +1676 -1180
  7. package/package.json +1 -1
  8. package/types/channel.d.ts +8 -3
  9. package/types/client.d.ts +1 -1
  10. package/types/enums/account-key-scopes.d.ts +5 -0
  11. package/types/enums/appwrite-migration-resource.d.ts +1 -0
  12. package/types/enums/backup-services.d.ts +1 -0
  13. package/types/enums/{resource-type.d.ts → block-resource-type.d.ts} +2 -6
  14. package/types/enums/{theme.d.ts → browser-theme.d.ts} +1 -1
  15. package/types/enums/cache-database.d.ts +5 -0
  16. package/types/enums/cache-target.d.ts +8 -0
  17. package/types/enums/{registration-type.d.ts → domain-registration-type.d.ts} +1 -1
  18. package/types/enums/{filter-type.d.ts → domain-suggestion-type.d.ts} +1 -1
  19. package/types/enums/{model.d.ts → embedding-model.d.ts} +1 -1
  20. package/types/enums/{runtime.d.ts → function-runtime.d.ts} +4 -2
  21. package/types/enums/function-template-use-case.d.ts +9 -0
  22. package/types/enums/{name.d.ts → health-queue-name.d.ts} +1 -1
  23. package/types/enums/{on-duplicate.d.ts → migration-on-duplicate.d.ts} +1 -1
  24. package/types/enums/o-auth-provider.d.ts +1 -3
  25. package/types/enums/organization-addon.d.ts +4 -0
  26. package/types/enums/organization-key-scopes.d.ts +12 -0
  27. package/types/enums/{auth-method.d.ts → project-auth-method-id.d.ts} +1 -1
  28. package/types/enums/{email-template-type.d.ts → project-email-template-id.d.ts} +1 -1
  29. package/types/enums/{email-template-locale.d.ts → project-email-template-locale.d.ts} +1 -1
  30. package/types/enums/{scopes.d.ts → project-key-scopes.d.ts} +10 -8
  31. package/types/enums/{prompt.d.ts → project-o-auth-2-google-prompt.d.ts} +1 -1
  32. package/types/enums/project-o-auth-provider-id.d.ts +45 -0
  33. package/types/enums/{project-policy.d.ts → project-policy-id.d.ts} +1 -1
  34. package/types/enums/{protocol-id.d.ts → project-protocol-id.d.ts} +1 -1
  35. package/types/enums/{service-id.d.ts → project-service-id.d.ts} +3 -2
  36. package/types/enums/project-smtp-secure.d.ts +4 -0
  37. package/types/enums/project-status.d.ts +3 -0
  38. package/types/enums/query-suggestion-resource.d.ts +10 -1
  39. package/types/enums/redirect-status-code.d.ts +6 -0
  40. package/types/enums/schedule-resource-type.d.ts +6 -0
  41. package/types/enums/{adapter.d.ts → site-adapter.d.ts} +1 -1
  42. package/types/enums/{runtimes.d.ts → site-build-runtime.d.ts} +4 -2
  43. package/types/enums/{framework.d.ts → site-framework.d.ts} +1 -1
  44. package/types/enums/{use-cases.d.ts → site-template-use-case.d.ts} +3 -8
  45. package/types/index.d.ts +35 -27
  46. package/types/models.d.ts +1183 -1187
  47. package/types/services/account.d.ts +9 -9
  48. package/types/services/avatars.d.ts +5 -5
  49. package/types/services/console.d.ts +31 -0
  50. package/types/services/documents-db.d.ts +1 -4
  51. package/types/services/domains.d.ts +216 -216
  52. package/types/services/functions.d.ts +36 -25
  53. package/types/services/health.d.ts +5 -5
  54. package/types/services/manager.d.ts +49 -9
  55. package/types/services/migrations.d.ts +13 -13
  56. package/types/services/organization.d.ts +234 -0
  57. package/types/services/organizations.d.ts +5 -131
  58. package/types/services/presences.d.ts +166 -0
  59. package/types/services/project.d.ts +93 -86
  60. package/types/services/projects.d.ts +10 -159
  61. package/types/services/proxy.d.ts +5 -5
  62. package/types/services/realtime.d.ts +45 -3
  63. package/types/services/sites.d.ts +43 -32
  64. package/types/services/usage.d.ts +50 -0
  65. package/types/services/vectors-db.d.ts +6 -9
  66. package/types/enums/addon.d.ts +0 -3
  67. package/types/enums/build-runtime.d.ts +0 -91
  68. package/types/enums/frameworks.d.ts +0 -17
  69. package/types/enums/secure.d.ts +0 -4
  70. package/types/enums/status-code.d.ts +0 -6
  71. package/types/enums/status.d.ts +0 -3
@@ -1,19 +1,26 @@
1
1
  import { Client } from '../client';
2
2
  import type { Models } from '../models';
3
- import { AuthMethod } from '../enums/auth-method';
4
- import { Scopes } from '../enums/scopes';
5
- import { Prompt } from '../enums/prompt';
6
- import { OAuthProvider } from '../enums/o-auth-provider';
7
- import { ProjectPolicy } from '../enums/project-policy';
8
- import { ProtocolId } from '../enums/protocol-id';
9
- import { ServiceId } from '../enums/service-id';
10
- import { Secure } from '../enums/secure';
11
- import { EmailTemplateType } from '../enums/email-template-type';
12
- import { EmailTemplateLocale } from '../enums/email-template-locale';
3
+ import { ProjectAuthMethodId } from '../enums/project-auth-method-id';
4
+ import { ProjectKeyScopes } from '../enums/project-key-scopes';
5
+ import { ProjectOAuth2GooglePrompt } from '../enums/project-o-auth-2-google-prompt';
6
+ import { ProjectOAuthProviderId } from '../enums/project-o-auth-provider-id';
7
+ import { ProjectPolicyId } from '../enums/project-policy-id';
8
+ import { ProjectProtocolId } from '../enums/project-protocol-id';
9
+ import { ProjectServiceId } from '../enums/project-service-id';
10
+ import { ProjectSMTPSecure } from '../enums/project-smtp-secure';
11
+ import { ProjectEmailTemplateId } from '../enums/project-email-template-id';
12
+ import { ProjectEmailTemplateLocale } from '../enums/project-email-template-locale';
13
13
  import { ProjectUsageRange } from '../enums/project-usage-range';
14
14
  export declare class Project {
15
15
  client: Client;
16
16
  constructor(client: Client);
17
+ /**
18
+ * Get a project.
19
+ *
20
+ * @throws {AppwriteException}
21
+ * @returns {Promise<Models.Project>}
22
+ */
23
+ get(): Promise<Models.Project>;
17
24
  /**
18
25
  * Delete a project.
19
26
  *
@@ -24,25 +31,25 @@ export declare class Project {
24
31
  /**
25
32
  * Update properties of a specific auth method. Use this endpoint to enable or disable a method in your project.
26
33
  *
27
- * @param {AuthMethod} params.methodId - Auth Method ID. Possible values: email-password,magic-url,email-otp,anonymous,invites,jwt,phone
34
+ * @param {ProjectAuthMethodId} params.methodId - Auth Method ID. Possible values: email-password,magic-url,email-otp,anonymous,invites,jwt,phone
28
35
  * @param {boolean} params.enabled - Auth method status.
29
36
  * @throws {AppwriteException}
30
37
  * @returns {Promise<Models.Project>}
31
38
  */
32
39
  updateAuthMethod(params: {
33
- methodId: AuthMethod;
40
+ methodId: ProjectAuthMethodId;
34
41
  enabled: boolean;
35
42
  }): Promise<Models.Project>;
36
43
  /**
37
44
  * Update properties of a specific auth method. Use this endpoint to enable or disable a method in your project.
38
45
  *
39
- * @param {AuthMethod} methodId - Auth Method ID. Possible values: email-password,magic-url,email-otp,anonymous,invites,jwt,phone
46
+ * @param {ProjectAuthMethodId} methodId - Auth Method ID. Possible values: email-password,magic-url,email-otp,anonymous,invites,jwt,phone
40
47
  * @param {boolean} enabled - Auth method status.
41
48
  * @throws {AppwriteException}
42
49
  * @returns {Promise<Models.Project>}
43
50
  * @deprecated Use the object parameter style method for a better developer experience.
44
51
  */
45
- updateAuthMethod(methodId: AuthMethod, enabled: boolean): Promise<Models.Project>;
52
+ updateAuthMethod(methodId: ProjectAuthMethodId, enabled: boolean): Promise<Models.Project>;
46
53
  /**
47
54
  * Get a list of all API keys from the current project.
48
55
  *
@@ -72,7 +79,7 @@ export declare class Project {
72
79
  *
73
80
  * @param {string} params.keyId - Key ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
74
81
  * @param {string} params.name - Key name. Max length: 128 chars.
75
- * @param {Scopes[]} params.scopes - Key scopes list. Maximum of 100 scopes are allowed.
82
+ * @param {ProjectKeyScopes[]} params.scopes - Key scopes list. Maximum of 100 scopes are allowed.
76
83
  * @param {string} params.expire - Expiration time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.
77
84
  * @throws {AppwriteException}
78
85
  * @returns {Promise<Models.Key>}
@@ -80,7 +87,7 @@ export declare class Project {
80
87
  createKey(params: {
81
88
  keyId: string;
82
89
  name: string;
83
- scopes: Scopes[];
90
+ scopes: ProjectKeyScopes[];
84
91
  expire?: string;
85
92
  }): Promise<Models.Key>;
86
93
  /**
@@ -90,25 +97,25 @@ export declare class Project {
90
97
  *
91
98
  * @param {string} keyId - Key ID. Choose a custom ID or generate a random ID with `ID.unique()`. Valid chars are a-z, A-Z, 0-9, period, hyphen, and underscore. Can't start with a special char. Max length is 36 chars.
92
99
  * @param {string} name - Key name. Max length: 128 chars.
93
- * @param {Scopes[]} scopes - Key scopes list. Maximum of 100 scopes are allowed.
100
+ * @param {ProjectKeyScopes[]} scopes - Key scopes list. Maximum of 100 scopes are allowed.
94
101
  * @param {string} expire - Expiration time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.
95
102
  * @throws {AppwriteException}
96
103
  * @returns {Promise<Models.Key>}
97
104
  * @deprecated Use the object parameter style method for a better developer experience.
98
105
  */
99
- createKey(keyId: string, name: string, scopes: Scopes[], expire?: string): Promise<Models.Key>;
106
+ createKey(keyId: string, name: string, scopes: ProjectKeyScopes[], expire?: string): Promise<Models.Key>;
100
107
  /**
101
108
  * Create a new ephemeral API key. It's recommended to have multiple API keys with strict scopes for separate functions within your project.
102
109
  *
103
110
  * You can also create a standard API key if you need a longer-lived key instead.
104
111
  *
105
- * @param {Scopes[]} params.scopes - Key scopes list. Maximum of 100 scopes are allowed.
112
+ * @param {ProjectKeyScopes[]} params.scopes - Key scopes list. Maximum of 100 scopes are allowed.
106
113
  * @param {number} params.duration - Time in seconds before ephemeral key expires. Maximum duration is 3600 seconds.
107
114
  * @throws {AppwriteException}
108
115
  * @returns {Promise<Models.EphemeralKey>}
109
116
  */
110
117
  createEphemeralKey(params: {
111
- scopes: Scopes[];
118
+ scopes: ProjectKeyScopes[];
112
119
  duration: number;
113
120
  }): Promise<Models.EphemeralKey>;
114
121
  /**
@@ -116,13 +123,13 @@ export declare class Project {
116
123
  *
117
124
  * You can also create a standard API key if you need a longer-lived key instead.
118
125
  *
119
- * @param {Scopes[]} scopes - Key scopes list. Maximum of 100 scopes are allowed.
126
+ * @param {ProjectKeyScopes[]} scopes - Key scopes list. Maximum of 100 scopes are allowed.
120
127
  * @param {number} duration - Time in seconds before ephemeral key expires. Maximum duration is 3600 seconds.
121
128
  * @throws {AppwriteException}
122
129
  * @returns {Promise<Models.EphemeralKey>}
123
130
  * @deprecated Use the object parameter style method for a better developer experience.
124
131
  */
125
- createEphemeralKey(scopes: Scopes[], duration: number): Promise<Models.EphemeralKey>;
132
+ createEphemeralKey(scopes: ProjectKeyScopes[], duration: number): Promise<Models.EphemeralKey>;
126
133
  /**
127
134
  * Get a key by its unique ID.
128
135
  *
@@ -147,7 +154,7 @@ export declare class Project {
147
154
  *
148
155
  * @param {string} params.keyId - Key ID.
149
156
  * @param {string} params.name - Key name. Max length: 128 chars.
150
- * @param {Scopes[]} params.scopes - Key scopes list. Maximum of 100 scopes are allowed.
157
+ * @param {ProjectKeyScopes[]} params.scopes - Key scopes list. Maximum of 100 scopes are allowed.
151
158
  * @param {string} params.expire - Expiration time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.
152
159
  * @throws {AppwriteException}
153
160
  * @returns {Promise<Models.Key>}
@@ -155,7 +162,7 @@ export declare class Project {
155
162
  updateKey(params: {
156
163
  keyId: string;
157
164
  name: string;
158
- scopes: Scopes[];
165
+ scopes: ProjectKeyScopes[];
159
166
  expire?: string;
160
167
  }): Promise<Models.Key>;
161
168
  /**
@@ -163,13 +170,13 @@ export declare class Project {
163
170
  *
164
171
  * @param {string} keyId - Key ID.
165
172
  * @param {string} name - Key name. Max length: 128 chars.
166
- * @param {Scopes[]} scopes - Key scopes list. Maximum of 100 scopes are allowed.
173
+ * @param {ProjectKeyScopes[]} scopes - Key scopes list. Maximum of 100 scopes are allowed.
167
174
  * @param {string} expire - Expiration time in [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) format. Use null for unlimited expiration.
168
175
  * @throws {AppwriteException}
169
176
  * @returns {Promise<Models.Key>}
170
177
  * @deprecated Use the object parameter style method for a better developer experience.
171
178
  */
172
- updateKey(keyId: string, name: string, scopes: Scopes[], expire?: string): Promise<Models.Key>;
179
+ updateKey(keyId: string, name: string, scopes: ProjectKeyScopes[], expire?: string): Promise<Models.Key>;
173
180
  /**
174
181
  * Delete a key by its unique ID. Once deleted, the key can no longer be used to authenticate API calls.
175
182
  *
@@ -807,7 +814,7 @@ export declare class Project {
807
814
  *
808
815
  * @param {string} params.clientId - 'Client ID' of Google OAuth2 app. For example: 120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com
809
816
  * @param {string} params.clientSecret - 'Client Secret' of Google OAuth2 app. For example: GOCSPX-2k8gsR0000000000000000VNahJj
810
- * @param {Prompt[]} params.prompt - Array of Google OAuth2 prompt values. If "none" is included, it must be the only element. "none" means: don't display any authentication or consent screens. Must not be specified with other values. "consent" means: prompt the user for consent. "select_account" means: prompt the user to select an account.
817
+ * @param {ProjectOAuth2GooglePrompt[]} params.prompt - Array of Google OAuth2 prompt values. If "none" is included, it must be the only element. "none" means: don't display any authentication or consent screens. Must not be specified with other values. "consent" means: prompt the user for consent. "select_account" means: prompt the user to select an account.
811
818
  * @param {boolean} params.enabled - OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
812
819
  * @throws {AppwriteException}
813
820
  * @returns {Promise<Models.OAuth2Google>}
@@ -815,7 +822,7 @@ export declare class Project {
815
822
  updateOAuth2Google(params?: {
816
823
  clientId?: string;
817
824
  clientSecret?: string;
818
- prompt?: Prompt[];
825
+ prompt?: ProjectOAuth2GooglePrompt[];
819
826
  enabled?: boolean;
820
827
  }): Promise<Models.OAuth2Google>;
821
828
  /**
@@ -823,13 +830,13 @@ export declare class Project {
823
830
  *
824
831
  * @param {string} clientId - 'Client ID' of Google OAuth2 app. For example: 120000000095-92ifjb00000000000000000000g7ijfb.apps.googleusercontent.com
825
832
  * @param {string} clientSecret - 'Client Secret' of Google OAuth2 app. For example: GOCSPX-2k8gsR0000000000000000VNahJj
826
- * @param {Prompt[]} prompt - Array of Google OAuth2 prompt values. If "none" is included, it must be the only element. "none" means: don't display any authentication or consent screens. Must not be specified with other values. "consent" means: prompt the user for consent. "select_account" means: prompt the user to select an account.
833
+ * @param {ProjectOAuth2GooglePrompt[]} prompt - Array of Google OAuth2 prompt values. If "none" is included, it must be the only element. "none" means: don't display any authentication or consent screens. Must not be specified with other values. "consent" means: prompt the user for consent. "select_account" means: prompt the user to select an account.
827
834
  * @param {boolean} enabled - OAuth2 sign-in method status. Set to true to enable new session creation. Setting to true will trigger end-to-end credentials validation, and will throw if the credentials are invalid.
828
835
  * @throws {AppwriteException}
829
836
  * @returns {Promise<Models.OAuth2Google>}
830
837
  * @deprecated Use the object parameter style method for a better developer experience.
831
838
  */
832
- updateOAuth2Google(clientId?: string, clientSecret?: string, prompt?: Prompt[], enabled?: boolean): Promise<Models.OAuth2Google>;
839
+ updateOAuth2Google(clientId?: string, clientSecret?: string, prompt?: ProjectOAuth2GooglePrompt[], enabled?: boolean): Promise<Models.OAuth2Google>;
833
840
  /**
834
841
  * Update the project OAuth2 Keycloak configuration.
835
842
  *
@@ -1435,22 +1442,22 @@ export declare class Project {
1435
1442
  /**
1436
1443
  * Get a single OAuth2 provider configuration. Credential fields (client secret, p8 file, key/team IDs) are write-only and always returned empty.
1437
1444
  *
1438
- * @param {OAuthProvider} params.providerId - OAuth2 provider key. For example: github, google, apple.
1445
+ * @param {ProjectOAuthProviderId} params.providerId - OAuth2 provider key. For example: github, google, apple.
1439
1446
  * @throws {AppwriteException}
1440
1447
  * @returns {Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft>}
1441
1448
  */
1442
1449
  getOAuth2Provider(params: {
1443
- providerId: OAuthProvider;
1450
+ providerId: ProjectOAuthProviderId;
1444
1451
  }): Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft>;
1445
1452
  /**
1446
1453
  * Get a single OAuth2 provider configuration. Credential fields (client secret, p8 file, key/team IDs) are write-only and always returned empty.
1447
1454
  *
1448
- * @param {OAuthProvider} providerId - OAuth2 provider key. For example: github, google, apple.
1455
+ * @param {ProjectOAuthProviderId} providerId - OAuth2 provider key. For example: github, google, apple.
1449
1456
  * @throws {AppwriteException}
1450
1457
  * @returns {Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft>}
1451
1458
  * @deprecated Use the object parameter style method for a better developer experience.
1452
1459
  */
1453
- getOAuth2Provider(providerId: OAuthProvider): Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft>;
1460
+ getOAuth2Provider(providerId: ProjectOAuthProviderId): Promise<Models.OAuth2Github | Models.OAuth2Discord | Models.OAuth2Figma | Models.OAuth2Dropbox | Models.OAuth2Dailymotion | Models.OAuth2Bitbucket | Models.OAuth2Bitly | Models.OAuth2Box | Models.OAuth2Autodesk | Models.OAuth2Google | Models.OAuth2Zoom | Models.OAuth2Zoho | Models.OAuth2Yandex | Models.OAuth2X | Models.OAuth2WordPress | Models.OAuth2Twitch | Models.OAuth2Stripe | Models.OAuth2Spotify | Models.OAuth2Slack | Models.OAuth2Podio | Models.OAuth2Notion | Models.OAuth2Salesforce | Models.OAuth2Yahoo | Models.OAuth2Linkedin | Models.OAuth2Disqus | Models.OAuth2Amazon | Models.OAuth2Etsy | Models.OAuth2Facebook | Models.OAuth2Tradeshift | Models.OAuth2Paypal | Models.OAuth2Gitlab | Models.OAuth2Authentik | Models.OAuth2Auth0 | Models.OAuth2FusionAuth | Models.OAuth2Keycloak | Models.OAuth2Oidc | Models.OAuth2Apple | Models.OAuth2Okta | Models.OAuth2Kick | Models.OAuth2Microsoft>;
1454
1461
  /**
1455
1462
  * Get a list of all platforms in the project. This endpoint returns an array of all platforms and their configurations.
1456
1463
  *
@@ -1784,24 +1791,24 @@ export declare class Project {
1784
1791
  */
1785
1792
  listPolicies(queries?: string[], total?: boolean): Promise<Models.PolicyList>;
1786
1793
  /**
1787
- * Configures if email aliases such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.
1794
+ * Configures if aliased emails such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.
1788
1795
  *
1789
- * @param {boolean} params.enabled - Set whether or not to block email aliases during signup and email updates.
1796
+ * @param {boolean} params.enabled - Set whether or not to block aliased emails during signup and email updates.
1790
1797
  * @throws {AppwriteException}
1791
1798
  * @returns {Promise<Models.Project>}
1792
1799
  */
1793
- updateDenyCanonicalEmailPolicy(params: {
1800
+ updateDenyAliasedEmailPolicy(params: {
1794
1801
  enabled: boolean;
1795
1802
  }): Promise<Models.Project>;
1796
1803
  /**
1797
- * Configures if email aliases such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.
1804
+ * Configures if aliased emails such as subaddresses and emails with suffixes are denied during new users sign-ups and email updates.
1798
1805
  *
1799
- * @param {boolean} enabled - Set whether or not to block email aliases during signup and email updates.
1806
+ * @param {boolean} enabled - Set whether or not to block aliased emails during signup and email updates.
1800
1807
  * @throws {AppwriteException}
1801
1808
  * @returns {Promise<Models.Project>}
1802
1809
  * @deprecated Use the object parameter style method for a better developer experience.
1803
1810
  */
1804
- updateDenyCanonicalEmailPolicy(enabled: boolean): Promise<Models.Project>;
1811
+ updateDenyAliasedEmailPolicy(enabled: boolean): Promise<Models.Project>;
1805
1812
  /**
1806
1813
  * Configures if disposable emails from known temporary domains are denied during new users sign-ups and email updates.
1807
1814
  *
@@ -2030,78 +2037,78 @@ export declare class Project {
2030
2037
  /**
2031
2038
  * Get a policy by its unique ID. This endpoint returns the current configuration for the requested project policy.
2032
2039
  *
2033
- * @param {ProjectPolicy} params.policyId - Policy ID. Can be one of: password-dictionary, password-history, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy.
2040
+ * @param {ProjectPolicyId} params.policyId - Policy ID. Can be one of: password-dictionary, password-history, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy.
2034
2041
  * @throws {AppwriteException}
2035
2042
  * @returns {Promise<Models.PolicyPasswordDictionary | Models.PolicyPasswordHistory | Models.PolicyPasswordPersonalData | Models.PolicySessionAlert | Models.PolicySessionDuration | Models.PolicySessionInvalidation | Models.PolicySessionLimit | Models.PolicyUserLimit | Models.PolicyMembershipPrivacy>}
2036
2043
  */
2037
2044
  getPolicy(params: {
2038
- policyId: ProjectPolicy;
2045
+ policyId: ProjectPolicyId;
2039
2046
  }): Promise<Models.PolicyPasswordDictionary | Models.PolicyPasswordHistory | Models.PolicyPasswordPersonalData | Models.PolicySessionAlert | Models.PolicySessionDuration | Models.PolicySessionInvalidation | Models.PolicySessionLimit | Models.PolicyUserLimit | Models.PolicyMembershipPrivacy>;
2040
2047
  /**
2041
2048
  * Get a policy by its unique ID. This endpoint returns the current configuration for the requested project policy.
2042
2049
  *
2043
- * @param {ProjectPolicy} policyId - Policy ID. Can be one of: password-dictionary, password-history, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy.
2050
+ * @param {ProjectPolicyId} policyId - Policy ID. Can be one of: password-dictionary, password-history, password-personal-data, session-alert, session-duration, session-invalidation, session-limit, user-limit, membership-privacy.
2044
2051
  * @throws {AppwriteException}
2045
2052
  * @returns {Promise<Models.PolicyPasswordDictionary | Models.PolicyPasswordHistory | Models.PolicyPasswordPersonalData | Models.PolicySessionAlert | Models.PolicySessionDuration | Models.PolicySessionInvalidation | Models.PolicySessionLimit | Models.PolicyUserLimit | Models.PolicyMembershipPrivacy>}
2046
2053
  * @deprecated Use the object parameter style method for a better developer experience.
2047
2054
  */
2048
- getPolicy(policyId: ProjectPolicy): Promise<Models.PolicyPasswordDictionary | Models.PolicyPasswordHistory | Models.PolicyPasswordPersonalData | Models.PolicySessionAlert | Models.PolicySessionDuration | Models.PolicySessionInvalidation | Models.PolicySessionLimit | Models.PolicyUserLimit | Models.PolicyMembershipPrivacy>;
2055
+ getPolicy(policyId: ProjectPolicyId): Promise<Models.PolicyPasswordDictionary | Models.PolicyPasswordHistory | Models.PolicyPasswordPersonalData | Models.PolicySessionAlert | Models.PolicySessionDuration | Models.PolicySessionInvalidation | Models.PolicySessionLimit | Models.PolicyUserLimit | Models.PolicyMembershipPrivacy>;
2049
2056
  /**
2050
2057
  * Update properties of a specific protocol. Use this endpoint to enable or disable a protocol in your project.
2051
2058
  *
2052
- * @param {ProtocolId} params.protocolId - Protocol name. Can be one of: rest, graphql, websocket
2059
+ * @param {ProjectProtocolId} params.protocolId - Protocol name. Can be one of: rest, graphql, websocket
2053
2060
  * @param {boolean} params.enabled - Protocol status.
2054
2061
  * @throws {AppwriteException}
2055
2062
  * @returns {Promise<Models.Project>}
2056
2063
  */
2057
2064
  updateProtocol(params: {
2058
- protocolId: ProtocolId;
2065
+ protocolId: ProjectProtocolId;
2059
2066
  enabled: boolean;
2060
2067
  }): Promise<Models.Project>;
2061
2068
  /**
2062
2069
  * Update properties of a specific protocol. Use this endpoint to enable or disable a protocol in your project.
2063
2070
  *
2064
- * @param {ProtocolId} protocolId - Protocol name. Can be one of: rest, graphql, websocket
2071
+ * @param {ProjectProtocolId} protocolId - Protocol name. Can be one of: rest, graphql, websocket
2065
2072
  * @param {boolean} enabled - Protocol status.
2066
2073
  * @throws {AppwriteException}
2067
2074
  * @returns {Promise<Models.Project>}
2068
2075
  * @deprecated Use the object parameter style method for a better developer experience.
2069
2076
  */
2070
- updateProtocol(protocolId: ProtocolId, enabled: boolean): Promise<Models.Project>;
2077
+ updateProtocol(protocolId: ProjectProtocolId, enabled: boolean): Promise<Models.Project>;
2071
2078
  /**
2072
2079
  * Update properties of a specific service. Use this endpoint to enable or disable a service in your project.
2073
2080
  *
2074
- * @param {ServiceId} params.serviceId - Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging
2081
+ * @param {ProjectServiceId} params.serviceId - Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging, advisor
2075
2082
  * @param {boolean} params.enabled - Service status.
2076
2083
  * @throws {AppwriteException}
2077
2084
  * @returns {Promise<Models.Project>}
2078
2085
  */
2079
2086
  updateService(params: {
2080
- serviceId: ServiceId;
2087
+ serviceId: ProjectServiceId;
2081
2088
  enabled: boolean;
2082
2089
  }): Promise<Models.Project>;
2083
2090
  /**
2084
2091
  * Update properties of a specific service. Use this endpoint to enable or disable a service in your project.
2085
2092
  *
2086
- * @param {ServiceId} serviceId - Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging
2093
+ * @param {ProjectServiceId} serviceId - Service name. Can be one of: account, avatars, databases, tablesdb, locale, health, project, storage, teams, users, vcs, sites, functions, proxy, graphql, migrations, messaging, advisor
2087
2094
  * @param {boolean} enabled - Service status.
2088
2095
  * @throws {AppwriteException}
2089
2096
  * @returns {Promise<Models.Project>}
2090
2097
  * @deprecated Use the object parameter style method for a better developer experience.
2091
2098
  */
2092
- updateService(serviceId: ServiceId, enabled: boolean): Promise<Models.Project>;
2099
+ updateService(serviceId: ProjectServiceId, enabled: boolean): Promise<Models.Project>;
2093
2100
  /**
2094
2101
  * Update the SMTP configuration for your project. Use this endpoint to configure your project's SMTP provider with your custom settings for sending transactional emails.
2095
2102
  *
2096
2103
  * @param {string} params.host - SMTP server hostname (domain)
2097
2104
  * @param {number} params.port - SMTP server port
2098
- * @param {string} params.username - SMTP server username. Leave empty for no authorization.
2099
- * @param {string} params.password - SMTP server password. Leave empty for no authorization. This property is stored securely and cannot be read in future (write-only).
2100
- * @param {string} params.senderEmail - Email address shown in inbox as the sender of the email.
2101
- * @param {string} params.senderName - Name shown in inbox as the sender of the email.
2102
- * @param {string} params.replyToEmail - Email used when user replies to the email.
2103
- * @param {string} params.replyToName - Name used when user replies to the email.
2104
- * @param {Secure} params.secure - Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.
2105
+ * @param {string} params.username - SMTP server username. Pass an empty string to clear a previously set value.
2106
+ * @param {string} params.password - SMTP server password. Pass an empty string to clear a previously set value. This property is stored securely and cannot be read in future (write-only).
2107
+ * @param {string} params.senderEmail - Email address shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.
2108
+ * @param {string} params.senderName - Name shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.
2109
+ * @param {string} params.replyToEmail - Email used when user replies to the email. Pass an empty string to clear a previously set value.
2110
+ * @param {string} params.replyToName - Name used when user replies to the email. Pass an empty string to clear a previously set value.
2111
+ * @param {ProjectSMTPSecure} params.secure - Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.
2105
2112
  * @param {boolean} params.enabled - Enable or disable custom SMTP. Custom SMTP is useful for branding purposes, but also allows use of custom email templates.
2106
2113
  * @throws {AppwriteException}
2107
2114
  * @returns {Promise<Models.Project>}
@@ -2115,7 +2122,7 @@ export declare class Project {
2115
2122
  senderName?: string;
2116
2123
  replyToEmail?: string;
2117
2124
  replyToName?: string;
2118
- secure?: Secure;
2125
+ secure?: ProjectSMTPSecure;
2119
2126
  enabled?: boolean;
2120
2127
  }): Promise<Models.Project>;
2121
2128
  /**
@@ -2123,19 +2130,19 @@ export declare class Project {
2123
2130
  *
2124
2131
  * @param {string} host - SMTP server hostname (domain)
2125
2132
  * @param {number} port - SMTP server port
2126
- * @param {string} username - SMTP server username. Leave empty for no authorization.
2127
- * @param {string} password - SMTP server password. Leave empty for no authorization. This property is stored securely and cannot be read in future (write-only).
2128
- * @param {string} senderEmail - Email address shown in inbox as the sender of the email.
2129
- * @param {string} senderName - Name shown in inbox as the sender of the email.
2130
- * @param {string} replyToEmail - Email used when user replies to the email.
2131
- * @param {string} replyToName - Name used when user replies to the email.
2132
- * @param {Secure} secure - Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.
2133
+ * @param {string} username - SMTP server username. Pass an empty string to clear a previously set value.
2134
+ * @param {string} password - SMTP server password. Pass an empty string to clear a previously set value. This property is stored securely and cannot be read in future (write-only).
2135
+ * @param {string} senderEmail - Email address shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.
2136
+ * @param {string} senderName - Name shown in inbox as the sender of the email. Pass an empty string to clear a previously set value.
2137
+ * @param {string} replyToEmail - Email used when user replies to the email. Pass an empty string to clear a previously set value.
2138
+ * @param {string} replyToName - Name used when user replies to the email. Pass an empty string to clear a previously set value.
2139
+ * @param {ProjectSMTPSecure} secure - Configures if communication with SMTP server is encrypted. Allowed values are: tls, ssl. Leave empty for no encryption.
2133
2140
  * @param {boolean} enabled - Enable or disable custom SMTP. Custom SMTP is useful for branding purposes, but also allows use of custom email templates.
2134
2141
  * @throws {AppwriteException}
2135
2142
  * @returns {Promise<Models.Project>}
2136
2143
  * @deprecated Use the object parameter style method for a better developer experience.
2137
2144
  */
2138
- updateSMTP(host?: string, port?: number, username?: string, password?: string, senderEmail?: string, senderName?: string, replyToEmail?: string, replyToName?: string, secure?: Secure, enabled?: boolean): Promise<Models.Project>;
2145
+ updateSMTP(host?: string, port?: number, username?: string, password?: string, senderEmail?: string, senderName?: string, replyToEmail?: string, replyToName?: string, secure?: ProjectSMTPSecure, enabled?: boolean): Promise<Models.Project>;
2139
2146
  /**
2140
2147
  * Send a test email to verify SMTP configuration.
2141
2148
  *
@@ -2180,20 +2187,20 @@ export declare class Project {
2180
2187
  /**
2181
2188
  * Update a custom email template for the specified locale and type. Use this endpoint to modify the content of your email templates.
2182
2189
  *
2183
- * @param {EmailTemplateType} params.templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
2184
- * @param {EmailTemplateLocale} params.locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
2190
+ * @param {ProjectEmailTemplateId} params.templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
2191
+ * @param {ProjectEmailTemplateLocale} params.locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
2185
2192
  * @param {string} params.subject - Subject of the email template. Can be up to 255 characters.
2186
2193
  * @param {string} params.message - Plain or HTML body of the email template message. Can be up to 10MB of content.
2187
2194
  * @param {string} params.senderName - Name of the email sender.
2188
- * @param {string} params.senderEmail - Email of the sender.
2189
- * @param {string} params.replyToEmail - Reply to email.
2195
+ * @param {string} params.senderEmail - Email of the sender. Pass an empty string to clear a previously set value.
2196
+ * @param {string} params.replyToEmail - Reply to email. Pass an empty string to clear a previously set value.
2190
2197
  * @param {string} params.replyToName - Reply to name.
2191
2198
  * @throws {AppwriteException}
2192
2199
  * @returns {Promise<Models.EmailTemplate>}
2193
2200
  */
2194
2201
  updateEmailTemplate(params: {
2195
- templateId: EmailTemplateType;
2196
- locale?: EmailTemplateLocale;
2202
+ templateId: ProjectEmailTemplateId;
2203
+ locale?: ProjectEmailTemplateLocale;
2197
2204
  subject?: string;
2198
2205
  message?: string;
2199
2206
  senderName?: string;
@@ -2204,41 +2211,41 @@ export declare class Project {
2204
2211
  /**
2205
2212
  * Update a custom email template for the specified locale and type. Use this endpoint to modify the content of your email templates.
2206
2213
  *
2207
- * @param {EmailTemplateType} templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
2208
- * @param {EmailTemplateLocale} locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
2214
+ * @param {ProjectEmailTemplateId} templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
2215
+ * @param {ProjectEmailTemplateLocale} locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
2209
2216
  * @param {string} subject - Subject of the email template. Can be up to 255 characters.
2210
2217
  * @param {string} message - Plain or HTML body of the email template message. Can be up to 10MB of content.
2211
2218
  * @param {string} senderName - Name of the email sender.
2212
- * @param {string} senderEmail - Email of the sender.
2213
- * @param {string} replyToEmail - Reply to email.
2219
+ * @param {string} senderEmail - Email of the sender. Pass an empty string to clear a previously set value.
2220
+ * @param {string} replyToEmail - Reply to email. Pass an empty string to clear a previously set value.
2214
2221
  * @param {string} replyToName - Reply to name.
2215
2222
  * @throws {AppwriteException}
2216
2223
  * @returns {Promise<Models.EmailTemplate>}
2217
2224
  * @deprecated Use the object parameter style method for a better developer experience.
2218
2225
  */
2219
- updateEmailTemplate(templateId: EmailTemplateType, locale?: EmailTemplateLocale, subject?: string, message?: string, senderName?: string, senderEmail?: string, replyToEmail?: string, replyToName?: string): Promise<Models.EmailTemplate>;
2226
+ updateEmailTemplate(templateId: ProjectEmailTemplateId, locale?: ProjectEmailTemplateLocale, subject?: string, message?: string, senderName?: string, senderEmail?: string, replyToEmail?: string, replyToName?: string): Promise<Models.EmailTemplate>;
2220
2227
  /**
2221
2228
  * Get a custom email template for the specified locale and type. This endpoint returns the template content, subject, and other configuration details.
2222
2229
  *
2223
- * @param {EmailTemplateType} params.templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
2224
- * @param {EmailTemplateLocale} params.locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
2230
+ * @param {ProjectEmailTemplateId} params.templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
2231
+ * @param {ProjectEmailTemplateLocale} params.locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
2225
2232
  * @throws {AppwriteException}
2226
2233
  * @returns {Promise<Models.EmailTemplate>}
2227
2234
  */
2228
2235
  getEmailTemplate(params: {
2229
- templateId: EmailTemplateType;
2230
- locale?: EmailTemplateLocale;
2236
+ templateId: ProjectEmailTemplateId;
2237
+ locale?: ProjectEmailTemplateLocale;
2231
2238
  }): Promise<Models.EmailTemplate>;
2232
2239
  /**
2233
2240
  * Get a custom email template for the specified locale and type. This endpoint returns the template content, subject, and other configuration details.
2234
2241
  *
2235
- * @param {EmailTemplateType} templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
2236
- * @param {EmailTemplateLocale} locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
2242
+ * @param {ProjectEmailTemplateId} templateId - Custom email template type. Can be one of: verification, magicSession, recovery, invitation, mfaChallenge, sessionAlert, otpSession
2243
+ * @param {ProjectEmailTemplateLocale} locale - Custom email template locale. If left empty, the fallback locale (en) will be used.
2237
2244
  * @throws {AppwriteException}
2238
2245
  * @returns {Promise<Models.EmailTemplate>}
2239
2246
  * @deprecated Use the object parameter style method for a better developer experience.
2240
2247
  */
2241
- getEmailTemplate(templateId: EmailTemplateType, locale?: EmailTemplateLocale): Promise<Models.EmailTemplate>;
2248
+ getEmailTemplate(templateId: ProjectEmailTemplateId, locale?: ProjectEmailTemplateLocale): Promise<Models.EmailTemplate>;
2242
2249
  /**
2243
2250
  * Get comprehensive usage statistics for your project. View metrics including network requests, bandwidth, storage, function executions, database usage, and user activity. Specify a time range with startDate and endDate, and optionally set the data granularity with period (1h or 1d). The response includes both total counts and detailed breakdowns by resource, along with historical data over the specified period.
2244
2251
  *