@faable/auth-sdk 2.4.15 → 2.4.17

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.
@@ -88,6 +88,9 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
88
88
  logins_count: number;
89
89
  last_ip?: string | null | undefined;
90
90
  last_login?: string | null | undefined;
91
+ suspended: boolean;
92
+ suspended_at?: string | null | undefined;
93
+ suspended_reason?: string | null | undefined;
91
94
  user_metadata: {
92
95
  [key: string]: unknown;
93
96
  };
@@ -138,6 +141,9 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
138
141
  logins_count: number;
139
142
  last_ip?: string | null | undefined;
140
143
  last_login?: string | null | undefined;
144
+ suspended: boolean;
145
+ suspended_at?: string | null | undefined;
146
+ suspended_reason?: string | null | undefined;
141
147
  user_metadata: {
142
148
  [key: string]: unknown;
143
149
  };
@@ -191,6 +197,9 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
191
197
  logins_count: number;
192
198
  last_ip?: string | null | undefined;
193
199
  last_login?: string | null | undefined;
200
+ suspended: boolean;
201
+ suspended_at?: string | null | undefined;
202
+ suspended_reason?: string | null | undefined;
194
203
  user_metadata: {
195
204
  [key: string]: unknown;
196
205
  };
@@ -243,6 +252,9 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
243
252
  logins_count: number;
244
253
  last_ip?: string | null | undefined;
245
254
  last_login?: string | null | undefined;
255
+ suspended: boolean;
256
+ suspended_at?: string | null | undefined;
257
+ suspended_reason?: string | null | undefined;
246
258
  user_metadata: {
247
259
  [key: string]: unknown;
248
260
  };
@@ -294,6 +306,9 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
294
306
  logins_count: number;
295
307
  last_ip?: string | null | undefined;
296
308
  last_login?: string | null | undefined;
309
+ suspended: boolean;
310
+ suspended_at?: string | null | undefined;
311
+ suspended_reason?: string | null | undefined;
297
312
  user_metadata: {
298
313
  [key: string]: unknown;
299
314
  };
@@ -345,6 +360,9 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
345
360
  logins_count: number;
346
361
  last_ip?: string | null | undefined;
347
362
  last_login?: string | null | undefined;
363
+ suspended: boolean;
364
+ suspended_at?: string | null | undefined;
365
+ suspended_reason?: string | null | undefined;
348
366
  user_metadata: {
349
367
  [key: string]: unknown;
350
368
  };
@@ -660,6 +678,7 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
660
678
  client_secret: string;
661
679
  callbacks: string[];
662
680
  logout_urls: string[];
681
+ web_origins: string[];
663
682
  refresh_token: {
664
683
  expiration_mode: "expire" | "not-expire";
665
684
  infinite_token_lifetime: boolean;
@@ -693,6 +712,7 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
693
712
  client_secret: string;
694
713
  callbacks: string[];
695
714
  logout_urls: string[];
715
+ web_origins: string[];
696
716
  refresh_token: {
697
717
  expiration_mode: "expire" | "not-expire";
698
718
  infinite_token_lifetime: boolean;
@@ -729,6 +749,7 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
729
749
  client_secret: string;
730
750
  callbacks: string[];
731
751
  logout_urls: string[];
752
+ web_origins: string[];
732
753
  refresh_token: {
733
754
  expiration_mode: "expire" | "not-expire";
734
755
  infinite_token_lifetime: boolean;
@@ -764,6 +785,7 @@ export declare class FaableAuthApi extends GeneratedFaableAuthApi {
764
785
  client_secret: string;
765
786
  callbacks: string[];
766
787
  logout_urls: string[];
788
+ web_origins: string[];
767
789
  refresh_token: {
768
790
  expiration_mode: "expire" | "not-expire";
769
791
  infinite_token_lifetime: boolean;
@@ -578,6 +578,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
578
578
  client_secret: string;
579
579
  callbacks: string[];
580
580
  logout_urls: string[];
581
+ web_origins: string[];
581
582
  refresh_token: {
582
583
  expiration_mode: "expire" | "not-expire";
583
584
  infinite_token_lifetime: boolean;
@@ -616,6 +617,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
616
617
  client_secret: string;
617
618
  callbacks: string[];
618
619
  logout_urls: string[];
620
+ web_origins: string[];
619
621
  refresh_token: {
620
622
  expiration_mode: "expire" | "not-expire";
621
623
  infinite_token_lifetime: boolean;
@@ -654,6 +656,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
654
656
  client_secret: string;
655
657
  callbacks: string[];
656
658
  logout_urls: string[];
659
+ web_origins: string[];
657
660
  refresh_token: {
658
661
  expiration_mode: "expire" | "not-expire";
659
662
  infinite_token_lifetime: boolean;
@@ -693,6 +696,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
693
696
  client_secret: string;
694
697
  callbacks: string[];
695
698
  logout_urls: string[];
699
+ web_origins: string[];
696
700
  refresh_token: {
697
701
  expiration_mode: "expire" | "not-expire";
698
702
  infinite_token_lifetime: boolean;
@@ -726,6 +730,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
726
730
  client_secret: string;
727
731
  callbacks: string[];
728
732
  logout_urls: string[];
733
+ web_origins: string[];
729
734
  refresh_token: {
730
735
  expiration_mode: "expire" | "not-expire";
731
736
  infinite_token_lifetime: boolean;
@@ -762,6 +767,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
762
767
  client_secret: string;
763
768
  callbacks: string[];
764
769
  logout_urls: string[];
770
+ web_origins: string[];
765
771
  refresh_token: {
766
772
  expiration_mode: "expire" | "not-expire";
767
773
  infinite_token_lifetime: boolean;
@@ -801,6 +807,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
801
807
  client_secret: string;
802
808
  callbacks: string[];
803
809
  logout_urls: string[];
810
+ web_origins: string[];
804
811
  refresh_token: {
805
812
  expiration_mode: "expire" | "not-expire";
806
813
  infinite_token_lifetime: boolean;
@@ -839,6 +846,7 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
839
846
  client_secret: string;
840
847
  callbacks: string[];
841
848
  logout_urls: string[];
849
+ web_origins: string[];
842
850
  refresh_token: {
843
851
  expiration_mode: "expire" | "not-expire";
844
852
  infinite_token_lifetime: boolean;
@@ -2551,6 +2559,9 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2551
2559
  logins_count: number;
2552
2560
  last_ip?: string | null | undefined;
2553
2561
  last_login?: string | null | undefined;
2562
+ suspended: boolean;
2563
+ suspended_at?: string | null | undefined;
2564
+ suspended_reason?: string | null | undefined;
2554
2565
  user_metadata: {
2555
2566
  [key: string]: unknown;
2556
2567
  };
@@ -2606,6 +2617,9 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2606
2617
  logins_count: number;
2607
2618
  last_ip?: string | null | undefined;
2608
2619
  last_login?: string | null | undefined;
2620
+ suspended: boolean;
2621
+ suspended_at?: string | null | undefined;
2622
+ suspended_reason?: string | null | undefined;
2609
2623
  user_metadata: {
2610
2624
  [key: string]: unknown;
2611
2625
  };
@@ -2661,6 +2675,9 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2661
2675
  logins_count: number;
2662
2676
  last_ip?: string | null | undefined;
2663
2677
  last_login?: string | null | undefined;
2678
+ suspended: boolean;
2679
+ suspended_at?: string | null | undefined;
2680
+ suspended_reason?: string | null | undefined;
2664
2681
  user_metadata: {
2665
2682
  [key: string]: unknown;
2666
2683
  };
@@ -2717,6 +2734,9 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2717
2734
  logins_count: number;
2718
2735
  last_ip?: string | null | undefined;
2719
2736
  last_login?: string | null | undefined;
2737
+ suspended: boolean;
2738
+ suspended_at?: string | null | undefined;
2739
+ suspended_reason?: string | null | undefined;
2720
2740
  user_metadata: {
2721
2741
  [key: string]: unknown;
2722
2742
  };
@@ -2767,6 +2787,9 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2767
2787
  logins_count: number;
2768
2788
  last_ip?: string | null | undefined;
2769
2789
  last_login?: string | null | undefined;
2790
+ suspended: boolean;
2791
+ suspended_at?: string | null | undefined;
2792
+ suspended_reason?: string | null | undefined;
2770
2793
  user_metadata: {
2771
2794
  [key: string]: unknown;
2772
2795
  };
@@ -2820,6 +2843,9 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2820
2843
  logins_count: number;
2821
2844
  last_ip?: string | null | undefined;
2822
2845
  last_login?: string | null | undefined;
2846
+ suspended: boolean;
2847
+ suspended_at?: string | null | undefined;
2848
+ suspended_reason?: string | null | undefined;
2823
2849
  user_metadata: {
2824
2850
  [key: string]: unknown;
2825
2851
  };
@@ -2876,6 +2902,9 @@ export declare abstract class GeneratedFaableAuthApi extends FaableApi {
2876
2902
  logins_count: number;
2877
2903
  last_ip?: string | null | undefined;
2878
2904
  last_login?: string | null | undefined;
2905
+ suspended: boolean;
2906
+ suspended_at?: string | null | undefined;
2907
+ suspended_reason?: string | null | undefined;
2879
2908
  user_metadata: {
2880
2909
  [key: string]: unknown;
2881
2910
  };
@@ -1856,6 +1856,8 @@ export interface components {
1856
1856
  client_secret: string;
1857
1857
  callbacks: string[];
1858
1858
  logout_urls: string[];
1859
+ /** @description Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin. */
1860
+ web_origins: string[];
1859
1861
  refresh_token: {
1860
1862
  /** @enum {unknown} */
1861
1863
  expiration_mode: "expire" | "not-expire";
@@ -1902,6 +1904,7 @@ export interface components {
1902
1904
  description?: string;
1903
1905
  callbacks?: string[];
1904
1906
  logout_urls?: string[];
1907
+ web_origins?: string[];
1905
1908
  /** @description Add Metadata */
1906
1909
  metadata?: {
1907
1910
  [key: string]: unknown;
@@ -1921,6 +1924,8 @@ export interface components {
1921
1924
  callbacks?: string[];
1922
1925
  /** @description Whitelist of allowed `post_logout_redirect_uri` values. */
1923
1926
  logout_urls?: string[];
1927
+ /** @description Whitelist of origins (scheme://host[:port], no path) allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty allows any origin. */
1928
+ web_origins?: string[];
1924
1929
  refresh_token?: {
1925
1930
  /** @enum {unknown} */
1926
1931
  expiration_mode: "expire" | "not-expire";
@@ -2014,6 +2019,15 @@ export interface components {
2014
2019
  last_ip?: string | null;
2015
2020
  /** @description Last date and time this user logged in (ISO_8601 format) */
2016
2021
  last_login?: string | null;
2022
+ /**
2023
+ * @description true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.
2024
+ * @default false
2025
+ */
2026
+ suspended: boolean;
2027
+ /** @description ISO 8601 timestamp of when `suspended` was last flipped to true. */
2028
+ suspended_at?: string | null;
2029
+ /** @description Free-form reason recorded when the user was suspended (e.g. "abuse: RCE payload"). */
2030
+ suspended_reason?: string | null;
2017
2031
  /**
2018
2032
  * @description User Metadata
2019
2033
  * @default {}
@@ -2126,6 +2140,10 @@ export interface components {
2126
2140
  phone?: string;
2127
2141
  /** @description Flip the phone verification flag. Setting `true` marks the phone as verified by the admin (`phone_verified_method=manual`). */
2128
2142
  phone_verified?: boolean;
2143
+ /** @description Suspend (`true`) or reinstate (`false`) the user. While suspended, every login flow, token grant, session use and management-API call is rejected. Setting `true` auto-stamps `suspended_at`; setting `false` clears `suspended_at` / `suspended_reason`. */
2144
+ suspended?: boolean;
2145
+ /** @description Free-form reason for the suspension (e.g. "abuse: RCE payload"). Stored verbatim for audit purposes. */
2146
+ suspended_reason?: string;
2129
2147
  /** @description user country as iso string */
2130
2148
  country_iso?: string;
2131
2149
  /** @description user birth_date */
@@ -3066,6 +3084,8 @@ export interface components {
3066
3084
  frontchannel_logout_uri?: string;
3067
3085
  /** @description OIDC Front-Channel Logout 1.0 — when true, the OP MUST include `iss` and `sid` parameters when calling the frontchannel_logout_uri. */
3068
3086
  frontchannel_logout_session_required?: boolean;
3087
+ /** @description Non-standard (Auth0-compatible) — origins (scheme://host[:port], no path) allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty allows any origin. */
3088
+ web_origins?: string[];
3069
3089
  } & {
3070
3090
  [key: string]: unknown;
3071
3091
  };
@@ -3093,6 +3113,7 @@ export interface components {
3093
3113
  software_version?: string;
3094
3114
  frontchannel_logout_uri?: string;
3095
3115
  frontchannel_logout_session_required?: boolean;
3116
+ web_origins?: string[];
3096
3117
  } & {
3097
3118
  [key: string]: unknown;
3098
3119
  };
@@ -4133,6 +4154,7 @@ export interface operations {
4133
4154
  description?: string;
4134
4155
  callbacks?: string[];
4135
4156
  logout_urls?: string[];
4157
+ web_origins?: string[];
4136
4158
  /** @description Add Metadata */
4137
4159
  metadata?: {
4138
4160
  [key: string]: unknown;
@@ -4156,6 +4178,8 @@ export interface operations {
4156
4178
  client_secret: string;
4157
4179
  callbacks: string[];
4158
4180
  logout_urls: string[];
4181
+ /** @description Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin. */
4182
+ web_origins: string[];
4159
4183
  refresh_token: {
4160
4184
  /** @enum {unknown} */
4161
4185
  expiration_mode: "expire" | "not-expire";
@@ -4219,6 +4243,8 @@ export interface operations {
4219
4243
  client_secret: string;
4220
4244
  callbacks: string[];
4221
4245
  logout_urls: string[];
4246
+ /** @description Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin. */
4247
+ web_origins: string[];
4222
4248
  refresh_token: {
4223
4249
  /** @enum {unknown} */
4224
4250
  expiration_mode: "expire" | "not-expire";
@@ -4277,6 +4303,8 @@ export interface operations {
4277
4303
  callbacks?: string[];
4278
4304
  /** @description Whitelist of allowed `post_logout_redirect_uri` values. */
4279
4305
  logout_urls?: string[];
4306
+ /** @description Whitelist of origins (scheme://host[:port], no path) allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty allows any origin. */
4307
+ web_origins?: string[];
4280
4308
  refresh_token?: {
4281
4309
  /** @enum {unknown} */
4282
4310
  expiration_mode: "expire" | "not-expire";
@@ -4315,6 +4343,8 @@ export interface operations {
4315
4343
  client_secret: string;
4316
4344
  callbacks: string[];
4317
4345
  logout_urls: string[];
4346
+ /** @description Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin. */
4347
+ web_origins: string[];
4318
4348
  refresh_token: {
4319
4349
  /** @enum {unknown} */
4320
4350
  expiration_mode: "expire" | "not-expire";
@@ -4378,6 +4408,8 @@ export interface operations {
4378
4408
  client_secret: string;
4379
4409
  callbacks: string[];
4380
4410
  logout_urls: string[];
4411
+ /** @description Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin. */
4412
+ web_origins: string[];
4381
4413
  refresh_token: {
4382
4414
  /** @enum {unknown} */
4383
4415
  expiration_mode: "expire" | "not-expire";
@@ -4441,6 +4473,8 @@ export interface operations {
4441
4473
  client_secret: string;
4442
4474
  callbacks: string[];
4443
4475
  logout_urls: string[];
4476
+ /** @description Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin. */
4477
+ web_origins: string[];
4444
4478
  refresh_token: {
4445
4479
  /** @enum {unknown} */
4446
4480
  expiration_mode: "expire" | "not-expire";
@@ -4629,6 +4663,15 @@ export interface operations {
4629
4663
  last_ip?: string | null;
4630
4664
  /** @description Last date and time this user logged in (ISO_8601 format) */
4631
4665
  last_login?: string | null;
4666
+ /**
4667
+ * @description true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.
4668
+ * @default false
4669
+ */
4670
+ suspended: boolean;
4671
+ /** @description ISO 8601 timestamp of when `suspended` was last flipped to true. */
4672
+ suspended_at?: string | null;
4673
+ /** @description Free-form reason recorded when the user was suspended (e.g. "abuse: RCE payload"). */
4674
+ suspended_reason?: string | null;
4632
4675
  /**
4633
4676
  * @description User Metadata
4634
4677
  * @default {}
@@ -4750,6 +4793,15 @@ export interface operations {
4750
4793
  last_ip?: string | null;
4751
4794
  /** @description Last date and time this user logged in (ISO_8601 format) */
4752
4795
  last_login?: string | null;
4796
+ /**
4797
+ * @description true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.
4798
+ * @default false
4799
+ */
4800
+ suspended: boolean;
4801
+ /** @description ISO 8601 timestamp of when `suspended` was last flipped to true. */
4802
+ suspended_at?: string | null;
4803
+ /** @description Free-form reason recorded when the user was suspended (e.g. "abuse: RCE payload"). */
4804
+ suspended_reason?: string | null;
4753
4805
  /**
4754
4806
  * @description User Metadata
4755
4807
  * @default {}
@@ -4809,6 +4861,10 @@ export interface operations {
4809
4861
  phone?: string;
4810
4862
  /** @description Flip the phone verification flag. Setting `true` marks the phone as verified by the admin (`phone_verified_method=manual`). */
4811
4863
  phone_verified?: boolean;
4864
+ /** @description Suspend (`true`) or reinstate (`false`) the user. While suspended, every login flow, token grant, session use and management-API call is rejected. Setting `true` auto-stamps `suspended_at`; setting `false` clears `suspended_at` / `suspended_reason`. */
4865
+ suspended?: boolean;
4866
+ /** @description Free-form reason for the suspension (e.g. "abuse: RCE payload"). Stored verbatim for audit purposes. */
4867
+ suspended_reason?: string;
4812
4868
  /** @description user country as iso string */
4813
4869
  country_iso?: string;
4814
4870
  /** @description user birth_date */
@@ -4907,6 +4963,15 @@ export interface operations {
4907
4963
  last_ip?: string | null;
4908
4964
  /** @description Last date and time this user logged in (ISO_8601 format) */
4909
4965
  last_login?: string | null;
4966
+ /**
4967
+ * @description true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.
4968
+ * @default false
4969
+ */
4970
+ suspended: boolean;
4971
+ /** @description ISO 8601 timestamp of when `suspended` was last flipped to true. */
4972
+ suspended_at?: string | null;
4973
+ /** @description Free-form reason recorded when the user was suspended (e.g. "abuse: RCE payload"). */
4974
+ suspended_reason?: string | null;
4910
4975
  /**
4911
4976
  * @description User Metadata
4912
4977
  * @default {}
@@ -5028,6 +5093,15 @@ export interface operations {
5028
5093
  last_ip?: string | null;
5029
5094
  /** @description Last date and time this user logged in (ISO_8601 format) */
5030
5095
  last_login?: string | null;
5096
+ /**
5097
+ * @description true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.
5098
+ * @default false
5099
+ */
5100
+ suspended: boolean;
5101
+ /** @description ISO 8601 timestamp of when `suspended` was last flipped to true. */
5102
+ suspended_at?: string | null;
5103
+ /** @description Free-form reason recorded when the user was suspended (e.g. "abuse: RCE payload"). */
5104
+ suspended_reason?: string | null;
5031
5105
  /**
5032
5106
  * @description User Metadata
5033
5107
  * @default {}
@@ -8486,6 +8560,15 @@ export interface operations {
8486
8560
  last_ip?: string | null;
8487
8561
  /** @description Last date and time this user logged in (ISO_8601 format) */
8488
8562
  last_login?: string | null;
8563
+ /**
8564
+ * @description true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.
8565
+ * @default false
8566
+ */
8567
+ suspended: boolean;
8568
+ /** @description ISO 8601 timestamp of when `suspended` was last flipped to true. */
8569
+ suspended_at?: string | null;
8570
+ /** @description Free-form reason recorded when the user was suspended (e.g. "abuse: RCE payload"). */
8571
+ suspended_reason?: string | null;
8489
8572
  /**
8490
8573
  * @description User Metadata
8491
8574
  * @default {}
@@ -9049,6 +9132,8 @@ export interface operations {
9049
9132
  frontchannel_logout_uri?: string;
9050
9133
  /** @description OIDC Front-Channel Logout 1.0 — when true, the OP MUST include `iss` and `sid` parameters when calling the frontchannel_logout_uri. */
9051
9134
  frontchannel_logout_session_required?: boolean;
9135
+ /** @description Non-standard (Auth0-compatible) — origins (scheme://host[:port], no path) allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty allows any origin. */
9136
+ web_origins?: string[];
9052
9137
  } & {
9053
9138
  [key: string]: unknown;
9054
9139
  };
@@ -9085,6 +9170,7 @@ export interface operations {
9085
9170
  software_version?: string;
9086
9171
  frontchannel_logout_uri?: string;
9087
9172
  frontchannel_logout_session_required?: boolean;
9173
+ web_origins?: string[];
9088
9174
  } & {
9089
9175
  [key: string]: unknown;
9090
9176
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@faable/auth-sdk",
3
- "version": "2.4.15",
3
+ "version": "2.4.17",
4
4
  "author": "Marc Pomar <marc@faable.com>",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/spec/openapi.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "info": {
4
4
  "title": "@faablecloud/auth",
5
5
  "description": "Auth Platform made by Faable. Manage Users and Roles",
6
- "version": "1.23.0",
6
+ "version": "1.25.0",
7
7
  "license": {
8
8
  "name": "private",
9
9
  "url": "https://faable.com/docs/platform/privacy-policy"
@@ -771,6 +771,7 @@
771
771
  "client_secret",
772
772
  "callbacks",
773
773
  "logout_urls",
774
+ "web_origins",
774
775
  "refresh_token",
775
776
  "account",
776
777
  "createdAt"
@@ -804,6 +805,13 @@
804
805
  "type": "string"
805
806
  }
806
807
  },
808
+ "web_origins": {
809
+ "type": "array",
810
+ "items": {
811
+ "type": "string"
812
+ },
813
+ "description": "Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin."
814
+ },
807
815
  "refresh_token": {
808
816
  "type": "object",
809
817
  "required": [
@@ -934,6 +942,12 @@
934
942
  "type": "string"
935
943
  }
936
944
  },
945
+ "web_origins": {
946
+ "type": "array",
947
+ "items": {
948
+ "type": "string"
949
+ }
950
+ },
937
951
  "metadata": {
938
952
  "type": "object",
939
953
  "properties": {},
@@ -975,6 +989,13 @@
975
989
  },
976
990
  "description": "Whitelist of allowed `post_logout_redirect_uri` values."
977
991
  },
992
+ "web_origins": {
993
+ "type": "array",
994
+ "items": {
995
+ "type": "string"
996
+ },
997
+ "description": "Whitelist of origins (scheme://host[:port], no path) allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty allows any origin."
998
+ },
978
999
  "refresh_token": {
979
1000
  "type": "object",
980
1001
  "required": [
@@ -1319,6 +1340,21 @@
1319
1340
  "description": "Last date and time this user logged in (ISO_8601 format)",
1320
1341
  "nullable": true
1321
1342
  },
1343
+ "suspended": {
1344
+ "type": "boolean",
1345
+ "description": "true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.",
1346
+ "default": false
1347
+ },
1348
+ "suspended_at": {
1349
+ "type": "string",
1350
+ "description": "ISO 8601 timestamp of when `suspended` was last flipped to true.",
1351
+ "nullable": true
1352
+ },
1353
+ "suspended_reason": {
1354
+ "type": "string",
1355
+ "description": "Free-form reason recorded when the user was suspended (e.g. \"abuse: RCE payload\").",
1356
+ "nullable": true
1357
+ },
1322
1358
  "user_metadata": {
1323
1359
  "type": "object",
1324
1360
  "properties": {},
@@ -1505,6 +1541,15 @@
1505
1541
  "type": "boolean",
1506
1542
  "description": "Flip the phone verification flag. Setting `true` marks the phone as verified by the admin (`phone_verified_method=manual`)."
1507
1543
  },
1544
+ "suspended": {
1545
+ "type": "boolean",
1546
+ "description": "Suspend (`true`) or reinstate (`false`) the user. While suspended, every login flow, token grant, session use and management-API call is rejected. Setting `true` auto-stamps `suspended_at`; setting `false` clears `suspended_at` / `suspended_reason`."
1547
+ },
1548
+ "suspended_reason": {
1549
+ "type": "string",
1550
+ "maxLength": 512,
1551
+ "description": "Free-form reason for the suspension (e.g. \"abuse: RCE payload\"). Stored verbatim for audit purposes."
1552
+ },
1508
1553
  "country_iso": {
1509
1554
  "type": "string",
1510
1555
  "description": "user country as iso string"
@@ -3746,6 +3791,13 @@
3746
3791
  "frontchannel_logout_session_required": {
3747
3792
  "type": "boolean",
3748
3793
  "description": "OIDC Front-Channel Logout 1.0 — when true, the OP MUST include `iss` and `sid` parameters when calling the frontchannel_logout_uri."
3794
+ },
3795
+ "web_origins": {
3796
+ "type": "array",
3797
+ "items": {
3798
+ "type": "string"
3799
+ },
3800
+ "description": "Non-standard (Auth0-compatible) — origins (scheme://host[:port], no path) allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty allows any origin."
3749
3801
  }
3750
3802
  },
3751
3803
  "additionalProperties": true
@@ -3843,6 +3895,12 @@
3843
3895
  },
3844
3896
  "frontchannel_logout_session_required": {
3845
3897
  "type": "boolean"
3898
+ },
3899
+ "web_origins": {
3900
+ "type": "array",
3901
+ "items": {
3902
+ "type": "string"
3903
+ }
3846
3904
  }
3847
3905
  },
3848
3906
  "additionalProperties": true
@@ -6883,6 +6941,12 @@
6883
6941
  "type": "string"
6884
6942
  }
6885
6943
  },
6944
+ "web_origins": {
6945
+ "type": "array",
6946
+ "items": {
6947
+ "type": "string"
6948
+ }
6949
+ },
6886
6950
  "metadata": {
6887
6951
  "type": "object",
6888
6952
  "properties": {},
@@ -6917,6 +6981,7 @@
6917
6981
  "client_secret",
6918
6982
  "callbacks",
6919
6983
  "logout_urls",
6984
+ "web_origins",
6920
6985
  "refresh_token",
6921
6986
  "account",
6922
6987
  "createdAt"
@@ -6950,6 +7015,13 @@
6950
7015
  "type": "string"
6951
7016
  }
6952
7017
  },
7018
+ "web_origins": {
7019
+ "type": "array",
7020
+ "items": {
7021
+ "type": "string"
7022
+ },
7023
+ "description": "Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin."
7024
+ },
6953
7025
  "refresh_token": {
6954
7026
  "type": "object",
6955
7027
  "required": [
@@ -7093,6 +7165,7 @@
7093
7165
  "client_secret",
7094
7166
  "callbacks",
7095
7167
  "logout_urls",
7168
+ "web_origins",
7096
7169
  "refresh_token",
7097
7170
  "account",
7098
7171
  "createdAt"
@@ -7126,6 +7199,13 @@
7126
7199
  "type": "string"
7127
7200
  }
7128
7201
  },
7202
+ "web_origins": {
7203
+ "type": "array",
7204
+ "items": {
7205
+ "type": "string"
7206
+ },
7207
+ "description": "Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin."
7208
+ },
7129
7209
  "refresh_token": {
7130
7210
  "type": "object",
7131
7211
  "required": [
@@ -7266,6 +7346,13 @@
7266
7346
  },
7267
7347
  "description": "Whitelist of allowed `post_logout_redirect_uri` values."
7268
7348
  },
7349
+ "web_origins": {
7350
+ "type": "array",
7351
+ "items": {
7352
+ "type": "string"
7353
+ },
7354
+ "description": "Whitelist of origins (scheme://host[:port], no path) allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty allows any origin."
7355
+ },
7269
7356
  "refresh_token": {
7270
7357
  "type": "object",
7271
7358
  "required": [
@@ -7381,6 +7468,7 @@
7381
7468
  "client_secret",
7382
7469
  "callbacks",
7383
7470
  "logout_urls",
7471
+ "web_origins",
7384
7472
  "refresh_token",
7385
7473
  "account",
7386
7474
  "createdAt"
@@ -7414,6 +7502,13 @@
7414
7502
  "type": "string"
7415
7503
  }
7416
7504
  },
7505
+ "web_origins": {
7506
+ "type": "array",
7507
+ "items": {
7508
+ "type": "string"
7509
+ },
7510
+ "description": "Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin."
7511
+ },
7417
7512
  "refresh_token": {
7418
7513
  "type": "object",
7419
7514
  "required": [
@@ -7555,6 +7650,7 @@
7555
7650
  "client_secret",
7556
7651
  "callbacks",
7557
7652
  "logout_urls",
7653
+ "web_origins",
7558
7654
  "refresh_token",
7559
7655
  "account",
7560
7656
  "createdAt"
@@ -7588,6 +7684,13 @@
7588
7684
  "type": "string"
7589
7685
  }
7590
7686
  },
7687
+ "web_origins": {
7688
+ "type": "array",
7689
+ "items": {
7690
+ "type": "string"
7691
+ },
7692
+ "description": "Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin."
7693
+ },
7591
7694
  "refresh_token": {
7592
7695
  "type": "object",
7593
7696
  "required": [
@@ -7731,6 +7834,7 @@
7731
7834
  "client_secret",
7732
7835
  "callbacks",
7733
7836
  "logout_urls",
7837
+ "web_origins",
7734
7838
  "refresh_token",
7735
7839
  "account",
7736
7840
  "createdAt"
@@ -7764,6 +7868,13 @@
7764
7868
  "type": "string"
7765
7869
  }
7766
7870
  },
7871
+ "web_origins": {
7872
+ "type": "array",
7873
+ "items": {
7874
+ "type": "string"
7875
+ },
7876
+ "description": "Origins allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty = any origin."
7877
+ },
7767
7878
  "refresh_token": {
7768
7879
  "type": "object",
7769
7880
  "required": [
@@ -8308,6 +8419,21 @@
8308
8419
  "description": "Last date and time this user logged in (ISO_8601 format)",
8309
8420
  "nullable": true
8310
8421
  },
8422
+ "suspended": {
8423
+ "type": "boolean",
8424
+ "description": "true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.",
8425
+ "default": false
8426
+ },
8427
+ "suspended_at": {
8428
+ "type": "string",
8429
+ "description": "ISO 8601 timestamp of when `suspended` was last flipped to true.",
8430
+ "nullable": true
8431
+ },
8432
+ "suspended_reason": {
8433
+ "type": "string",
8434
+ "description": "Free-form reason recorded when the user was suspended (e.g. \"abuse: RCE payload\").",
8435
+ "nullable": true
8436
+ },
8311
8437
  "user_metadata": {
8312
8438
  "type": "object",
8313
8439
  "properties": {},
@@ -8641,6 +8767,21 @@
8641
8767
  "description": "Last date and time this user logged in (ISO_8601 format)",
8642
8768
  "nullable": true
8643
8769
  },
8770
+ "suspended": {
8771
+ "type": "boolean",
8772
+ "description": "true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.",
8773
+ "default": false
8774
+ },
8775
+ "suspended_at": {
8776
+ "type": "string",
8777
+ "description": "ISO 8601 timestamp of when `suspended` was last flipped to true.",
8778
+ "nullable": true
8779
+ },
8780
+ "suspended_reason": {
8781
+ "type": "string",
8782
+ "description": "Free-form reason recorded when the user was suspended (e.g. \"abuse: RCE payload\").",
8783
+ "nullable": true
8784
+ },
8644
8785
  "user_metadata": {
8645
8786
  "type": "object",
8646
8787
  "properties": {},
@@ -8724,6 +8865,15 @@
8724
8865
  "type": "boolean",
8725
8866
  "description": "Flip the phone verification flag. Setting `true` marks the phone as verified by the admin (`phone_verified_method=manual`)."
8726
8867
  },
8868
+ "suspended": {
8869
+ "type": "boolean",
8870
+ "description": "Suspend (`true`) or reinstate (`false`) the user. While suspended, every login flow, token grant, session use and management-API call is rejected. Setting `true` auto-stamps `suspended_at`; setting `false` clears `suspended_at` / `suspended_reason`."
8871
+ },
8872
+ "suspended_reason": {
8873
+ "type": "string",
8874
+ "maxLength": 512,
8875
+ "description": "Free-form reason for the suspension (e.g. \"abuse: RCE payload\"). Stored verbatim for audit purposes."
8876
+ },
8727
8877
  "country_iso": {
8728
8878
  "type": "string",
8729
8879
  "description": "user country as iso string"
@@ -9044,6 +9194,21 @@
9044
9194
  "description": "Last date and time this user logged in (ISO_8601 format)",
9045
9195
  "nullable": true
9046
9196
  },
9197
+ "suspended": {
9198
+ "type": "boolean",
9199
+ "description": "true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.",
9200
+ "default": false
9201
+ },
9202
+ "suspended_at": {
9203
+ "type": "string",
9204
+ "description": "ISO 8601 timestamp of when `suspended` was last flipped to true.",
9205
+ "nullable": true
9206
+ },
9207
+ "suspended_reason": {
9208
+ "type": "string",
9209
+ "description": "Free-form reason recorded when the user was suspended (e.g. \"abuse: RCE payload\").",
9210
+ "nullable": true
9211
+ },
9047
9212
  "user_metadata": {
9048
9213
  "type": "object",
9049
9214
  "properties": {},
@@ -9375,6 +9540,21 @@
9375
9540
  "description": "Last date and time this user logged in (ISO_8601 format)",
9376
9541
  "nullable": true
9377
9542
  },
9543
+ "suspended": {
9544
+ "type": "boolean",
9545
+ "description": "true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.",
9546
+ "default": false
9547
+ },
9548
+ "suspended_at": {
9549
+ "type": "string",
9550
+ "description": "ISO 8601 timestamp of when `suspended` was last flipped to true.",
9551
+ "nullable": true
9552
+ },
9553
+ "suspended_reason": {
9554
+ "type": "string",
9555
+ "description": "Free-form reason recorded when the user was suspended (e.g. \"abuse: RCE payload\").",
9556
+ "nullable": true
9557
+ },
9378
9558
  "user_metadata": {
9379
9559
  "type": "object",
9380
9560
  "properties": {},
@@ -17372,6 +17552,21 @@
17372
17552
  "description": "Last date and time this user logged in (ISO_8601 format)",
17373
17553
  "nullable": true
17374
17554
  },
17555
+ "suspended": {
17556
+ "type": "boolean",
17557
+ "description": "true while the user is suspended. A suspended user is rejected at every login flow, token grant, session use and management-API call.",
17558
+ "default": false
17559
+ },
17560
+ "suspended_at": {
17561
+ "type": "string",
17562
+ "description": "ISO 8601 timestamp of when `suspended` was last flipped to true.",
17563
+ "nullable": true
17564
+ },
17565
+ "suspended_reason": {
17566
+ "type": "string",
17567
+ "description": "Free-form reason recorded when the user was suspended (e.g. \"abuse: RCE payload\").",
17568
+ "nullable": true
17569
+ },
17375
17570
  "user_metadata": {
17376
17571
  "type": "object",
17377
17572
  "properties": {},
@@ -18767,6 +18962,13 @@
18767
18962
  "frontchannel_logout_session_required": {
18768
18963
  "type": "boolean",
18769
18964
  "description": "OIDC Front-Channel Logout 1.0 — when true, the OP MUST include `iss` and `sid` parameters when calling the frontchannel_logout_uri."
18965
+ },
18966
+ "web_origins": {
18967
+ "type": "array",
18968
+ "items": {
18969
+ "type": "string"
18970
+ },
18971
+ "description": "Non-standard (Auth0-compatible) — origins (scheme://host[:port], no path) allowed to make cross-origin (CORS) requests to the token and passwordless endpoints. Empty allows any origin."
18770
18972
  }
18771
18973
  },
18772
18974
  "additionalProperties": true
@@ -18872,6 +19074,12 @@
18872
19074
  },
18873
19075
  "frontchannel_logout_session_required": {
18874
19076
  "type": "boolean"
19077
+ },
19078
+ "web_origins": {
19079
+ "type": "array",
19080
+ "items": {
19081
+ "type": "string"
19082
+ }
18875
19083
  }
18876
19084
  },
18877
19085
  "additionalProperties": true