@faable/auth-sdk 2.7.41 → 2.7.42

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.
@@ -1717,6 +1717,66 @@ export interface paths {
1717
1717
  patch?: never;
1718
1718
  trace?: never;
1719
1719
  };
1720
+ "/session": {
1721
+ parameters: {
1722
+ query?: never;
1723
+ header?: never;
1724
+ path?: never;
1725
+ cookie?: never;
1726
+ };
1727
+ /**
1728
+ * List Sessions
1729
+ * @description List Sessions
1730
+ */
1731
+ get: operations["session/list"];
1732
+ put?: never;
1733
+ post?: never;
1734
+ delete?: never;
1735
+ options?: never;
1736
+ head?: never;
1737
+ patch?: never;
1738
+ trace?: never;
1739
+ };
1740
+ "/session/{session_id}": {
1741
+ parameters: {
1742
+ query?: never;
1743
+ header?: never;
1744
+ path?: never;
1745
+ cookie?: never;
1746
+ };
1747
+ /**
1748
+ * Get Session
1749
+ * @description Get Session
1750
+ */
1751
+ get: operations["session/get"];
1752
+ put?: never;
1753
+ post?: never;
1754
+ delete?: never;
1755
+ options?: never;
1756
+ head?: never;
1757
+ patch?: never;
1758
+ trace?: never;
1759
+ };
1760
+ "/session/{session_id}/revoke": {
1761
+ parameters: {
1762
+ query?: never;
1763
+ header?: never;
1764
+ path?: never;
1765
+ cookie?: never;
1766
+ };
1767
+ get?: never;
1768
+ put?: never;
1769
+ /**
1770
+ * Revoke a session
1771
+ * @description Ends the session for good: the browser cookie behind it stops working, every refresh token issued through it is refused on its next use (`invalid_grant`), and the relying parties that took part in it are notified. Access and id tokens already issued keep working until they expire. The row stays, marked `revoked`, for the device history.
1772
+ */
1773
+ post: operations["session/revoke"];
1774
+ delete?: never;
1775
+ options?: never;
1776
+ head?: never;
1777
+ patch?: never;
1778
+ trace?: never;
1779
+ };
1720
1780
  "/customdomain/{customdomain_id}/retry": {
1721
1781
  parameters: {
1722
1782
  query?: never;
@@ -3776,6 +3836,46 @@ export interface paths {
3776
3836
  patch: operations["session/me_update"];
3777
3837
  trace?: never;
3778
3838
  };
3839
+ "/me/sessions": {
3840
+ parameters: {
3841
+ query?: never;
3842
+ header?: never;
3843
+ path?: never;
3844
+ cookie?: never;
3845
+ };
3846
+ /**
3847
+ * List the current user's active sessions
3848
+ * @description Every active session of the user behind the request (cookie or bearer), newest first; `current_session_id` names the one this request came through.
3849
+ */
3850
+ get: operations["session/meSessions"];
3851
+ put?: never;
3852
+ post?: never;
3853
+ delete?: never;
3854
+ options?: never;
3855
+ head?: never;
3856
+ patch?: never;
3857
+ trace?: never;
3858
+ };
3859
+ "/me/sessions/revoke-others": {
3860
+ parameters: {
3861
+ query?: never;
3862
+ header?: never;
3863
+ path?: never;
3864
+ cookie?: never;
3865
+ };
3866
+ get?: never;
3867
+ put?: never;
3868
+ /**
3869
+ * Sign the current user out everywhere else
3870
+ * @description Revokes every active session of the user except the one this request came through. Refresh tokens issued in the revoked sessions are refused on their next use; access and id tokens already issued keep working until they expire.
3871
+ */
3872
+ post: operations["session/meRevokeOtherSessions"];
3873
+ delete?: never;
3874
+ options?: never;
3875
+ head?: never;
3876
+ patch?: never;
3877
+ trace?: never;
3878
+ };
3779
3879
  "/logout": {
3780
3880
  parameters: {
3781
3881
  query?: never;
@@ -6020,6 +6120,58 @@ export interface components {
6020
6120
  LogMetadata: {
6021
6121
  [key: string]: unknown;
6022
6122
  };
6123
+ /** @description Session */
6124
+ Session: {
6125
+ /** @description Session ID */
6126
+ id: string;
6127
+ user: components["schemas"]["User"] | string | unknown;
6128
+ /** @description OIDC session id. Every id_token minted for this session carries it as the `sid` claim; a back-channel or front-channel logout names the session with it. */
6129
+ sid: string;
6130
+ /** @description `active` or `revoked`. An active session whose `expires_at` is in the past has expired: nothing can refresh it any more, but the row stays for the history. */
6131
+ status: "active" | "revoked";
6132
+ /** @description Client IP at the last authentication. */
6133
+ ip?: string;
6134
+ /** @description Raw `User-Agent` header at the last authentication. */
6135
+ user_agent?: string;
6136
+ client?: components["schemas"]["Client"] | string | unknown;
6137
+ connection?: components["schemas"]["Connection"] | string | unknown;
6138
+ /** @description Issuer URL the session was minted on. */
6139
+ issuer?: string;
6140
+ /**
6141
+ * Format: date-time
6142
+ * @description Last authentication or token refresh through this session. Each refresh slides `expires_at` 30 days from here.
6143
+ */
6144
+ last_seen_at: string;
6145
+ /**
6146
+ * Format: date-time
6147
+ * @description When the session stops being usable unless something refreshes it first.
6148
+ */
6149
+ expires_at: string;
6150
+ /** Format: date-time */
6151
+ revoked_at?: string;
6152
+ /** @description `admin`: revoked through the Management API. `logout`: the user signed out. `user`: the user revoked it from another device. */
6153
+ revoked_reason?: "admin" | "logout" | "user";
6154
+ /** @description Object is related with this account */
6155
+ account: string;
6156
+ /**
6157
+ * @description SessionMetadata
6158
+ * @default {}
6159
+ */
6160
+ metadata: {
6161
+ [key: string]: unknown;
6162
+ };
6163
+ /** @description Session creation date */
6164
+ createdAt: string;
6165
+ /** @description Session updated date */
6166
+ updatedAt?: string;
6167
+ };
6168
+ /**
6169
+ * @description SessionMetadata
6170
+ * @default {}
6171
+ */
6172
+ SessionMetadata: {
6173
+ [key: string]: unknown;
6174
+ };
6023
6175
  /** @description Customdomain */
6024
6176
  Customdomain: {
6025
6177
  /** @description Customdomain ID */
@@ -6383,6 +6535,7 @@ export interface components {
6383
6535
  * - `account_transfer_refused` (409): The Auth Account cannot be moved to that project. `details.blockers` lists why.
6384
6536
  * - `plan_required` (402): The setting requires a higher plan. `message` says which.
6385
6537
  * - `not_logged_in` (401): There is no signed-in session for this request.
6538
+ * - `session_already_revoked` (409): The session was already revoked.
6386
6539
  * - `invalid_token` (401): The bearer token is missing, malformed, expired or has no subject.
6387
6540
  * - `not_owner` (403): The caller may only perform this operation on their own user.
6388
6541
  * - `user_suspended` (403): The user is suspended and cannot sign in or be modified.
@@ -6469,7 +6622,7 @@ export interface components {
6469
6622
  * - `revision_not_found` (404): The revision is not in the flow history.
6470
6623
  * @enum {string}
6471
6624
  */
6472
- ErrorCode: "bad_request" | "validation_error" | "unauthorized" | "payment_required" | "forbidden" | "not_found" | "method_not_allowed" | "conflict" | "payload_too_large" | "unsupported_media_type" | "unprocessable_entity" | "too_many_requests" | "internal_error" | "already_exists" | "invalid_id" | "account_not_found" | "invalid_query" | "search_not_supported" | "invalid_expand" | "access_denied" | "insufficient_scope" | "team_required" | "account_limit_reached" | "invalid_project_id" | "account_transfer_refused" | "plan_required" | "not_logged_in" | "invalid_token" | "not_owner" | "user_suspended" | "invalid_credentials" | "login_denied" | "signup_denied" | "client_credentials_denied" | "m2m_quota_exceeded" | "signup_disabled" | "email_taken" | "invalid_email" | "same_email" | "user_has_no_email" | "password_too_weak" | "invalid_password_hash" | "weak_password_hash" | "invalid_code" | "invalid_phone" | "phone_changed" | "phone_already_verified" | "sms_unavailable" | "sms_failed" | "invalid_state" | "state_mismatch" | "invalid_ticket" | "ticket_used" | "ticket_expired" | "ticket_not_found" | "credential_not_found" | "invalid_link" | "expired_link" | "invalid_otp" | "invalid_client" | "client_not_found" | "client_mismatch" | "invalid_client_metadata" | "invalid_connection" | "connection_required" | "connection_misconfigured" | "passwordless_unavailable" | "ambiguous_connection" | "invalid_redirect_uri" | "origin_not_allowed" | "audience_not_found" | "system_resource" | "invalid_request" | "invalid_device_code" | "provider_error" | "identity_already_linked" | "identity_link_denied" | "identity_conflict" | "identity_orphaned" | "no_provider_token" | "no_refresh_token" | "action_unavailable" | "login_flow_misconfigured" | "mfa_required" | "step_up_required" | "interaction_required" | "passkey_login_disabled" | "mfa_pending" | "mfa_invalid_code" | "mfa_invalid_recovery_code" | "too_many_attempts" | "too_many_login_attempts" | "totp_not_allowed" | "no_usable_factor" | "factor_not_found" | "factor_already_confirmed" | "invalid_factor" | "session_missing" | "passkey_verification_failed" | "no_passkey_enrolled" | "malformed_credential" | "unknown_passkey" | "invalid_passkey" | "invite_not_found" | "invite_used" | "already_member" | "not_a_member" | "role_not_found" | "invalid_role" | "flow_not_found" | "revision_not_found";
6625
+ ErrorCode: "bad_request" | "validation_error" | "unauthorized" | "payment_required" | "forbidden" | "not_found" | "method_not_allowed" | "conflict" | "payload_too_large" | "unsupported_media_type" | "unprocessable_entity" | "too_many_requests" | "internal_error" | "already_exists" | "invalid_id" | "account_not_found" | "invalid_query" | "search_not_supported" | "invalid_expand" | "access_denied" | "insufficient_scope" | "team_required" | "account_limit_reached" | "invalid_project_id" | "account_transfer_refused" | "plan_required" | "not_logged_in" | "session_already_revoked" | "invalid_token" | "not_owner" | "user_suspended" | "invalid_credentials" | "login_denied" | "signup_denied" | "client_credentials_denied" | "m2m_quota_exceeded" | "signup_disabled" | "email_taken" | "invalid_email" | "same_email" | "user_has_no_email" | "password_too_weak" | "invalid_password_hash" | "weak_password_hash" | "invalid_code" | "invalid_phone" | "phone_changed" | "phone_already_verified" | "sms_unavailable" | "sms_failed" | "invalid_state" | "state_mismatch" | "invalid_ticket" | "ticket_used" | "ticket_expired" | "ticket_not_found" | "credential_not_found" | "invalid_link" | "expired_link" | "invalid_otp" | "invalid_client" | "client_not_found" | "client_mismatch" | "invalid_client_metadata" | "invalid_connection" | "connection_required" | "connection_misconfigured" | "passwordless_unavailable" | "ambiguous_connection" | "invalid_redirect_uri" | "origin_not_allowed" | "audience_not_found" | "system_resource" | "invalid_request" | "invalid_device_code" | "provider_error" | "identity_already_linked" | "identity_link_denied" | "identity_conflict" | "identity_orphaned" | "no_provider_token" | "no_refresh_token" | "action_unavailable" | "login_flow_misconfigured" | "mfa_required" | "step_up_required" | "interaction_required" | "passkey_login_disabled" | "mfa_pending" | "mfa_invalid_code" | "mfa_invalid_recovery_code" | "too_many_attempts" | "too_many_login_attempts" | "totp_not_allowed" | "no_usable_factor" | "factor_not_found" | "factor_already_confirmed" | "invalid_factor" | "session_missing" | "passkey_verification_failed" | "no_passkey_enrolled" | "malformed_credential" | "unknown_passkey" | "invalid_passkey" | "invite_not_found" | "invite_used" | "already_member" | "not_a_member" | "role_not_found" | "invalid_role" | "flow_not_found" | "revision_not_found";
6473
6626
  /** @description Every error response has this shape. Branch on `error_code`, never on `message`: the message is written for a person and may change. */
6474
6627
  ErrorResponse: {
6475
6628
  /** @description The HTTP status, repeated. */
@@ -23580,13 +23733,36 @@ export interface operations {
23580
23733
  };
23581
23734
  };
23582
23735
  };
23583
- "customdomain/retry": {
23736
+ "session/list": {
23584
23737
  parameters: {
23585
- query?: never;
23586
- header?: never;
23587
- path: {
23588
- customdomain_id: string;
23738
+ query?: {
23739
+ /** @description Number of items per page (max 200) */
23740
+ pageSize?: number;
23741
+ /** @description Cursor for next page */
23742
+ cursor?: string;
23743
+ /** @description Cursor returned by the previous page */
23744
+ next?: string;
23745
+ /** @description Exact match on `user`. Equivalent to `?query=user:<value>`. */
23746
+ user?: string;
23747
+ /** @description Exact match on `client`. Equivalent to `?query=client:<value>`. */
23748
+ client?: string;
23749
+ /** @description Exact match on `connection`. Equivalent to `?query=connection:<value>`. */
23750
+ connection?: string;
23751
+ /** @description Exact match on `status`. Equivalent to `?query=status:<value>`. */
23752
+ status?: string;
23753
+ /** @description Exact match on `sid`. Equivalent to `?query=sid:<value>`. */
23754
+ sid?: string;
23755
+ /** @description Exact match on `since`. Equivalent to `?query=since:<value>`. */
23756
+ since?: string;
23757
+ /** @description Exact match on `until`. Equivalent to `?query=until:<value>`. */
23758
+ until?: string;
23759
+ /** @description Filter using a FaableQL query */
23760
+ query?: string;
23761
+ /** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
23762
+ expand?: ("user" | "client" | "connection")[];
23589
23763
  };
23764
+ header?: never;
23765
+ path?: never;
23590
23766
  cookie?: never;
23591
23767
  };
23592
23768
  requestBody?: never;
@@ -23596,9 +23772,22 @@ export interface operations {
23596
23772
  headers: {
23597
23773
  [name: string]: unknown;
23598
23774
  };
23599
- content?: never;
23775
+ content: {
23776
+ "application/json": {
23777
+ next: string | null;
23778
+ results: components["schemas"]["Session"][];
23779
+ };
23780
+ };
23600
23781
  };
23601
- /** @description `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field. */
23782
+ /**
23783
+ * @description `invalid_query` — The `?query=` FaableQL expression could not be parsed.
23784
+ *
23785
+ * `invalid_expand` — An `?expand=` path is not allowed on this resource.
23786
+ *
23787
+ * `search_not_supported` — This resource does not support `?search=`.
23788
+ *
23789
+ * `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
23790
+ */
23602
23791
  400: {
23603
23792
  headers: {
23604
23793
  [name: string]: unknown;
@@ -23606,7 +23795,7 @@ export interface operations {
23606
23795
  content: {
23607
23796
  "application/json": components["schemas"]["ErrorResponse"] & {
23608
23797
  /** @enum {string} */
23609
- error_code?: "validation_error";
23798
+ error_code?: "invalid_query" | "invalid_expand" | "search_not_supported" | "validation_error";
23610
23799
  };
23611
23800
  };
23612
23801
  };
@@ -23678,45 +23867,77 @@ export interface operations {
23678
23867
  };
23679
23868
  };
23680
23869
  };
23681
- "customdomain/list": {
23870
+ "session/get": {
23682
23871
  parameters: {
23683
23872
  query?: {
23684
- /** @description Number of items per page (max 200) */
23685
- pageSize?: number;
23686
- /** @description Cursor for next page */
23687
- cursor?: string;
23688
- /** @description Cursor returned by the previous page */
23689
- next?: string;
23690
- /** @description Filter using a FaableQL query */
23691
- query?: string;
23692
- /** @description Full-text search across: `domain`. */
23693
- q?: string;
23873
+ /** @description Expand id-only fields in the response. Pass one path per entry (e.g. `?expand=user`). */
23874
+ expand?: ("user" | "client" | "connection")[];
23694
23875
  };
23695
23876
  header?: never;
23696
- path?: never;
23877
+ path: {
23878
+ session_id: string;
23879
+ };
23697
23880
  cookie?: never;
23698
23881
  };
23699
23882
  requestBody?: never;
23700
23883
  responses: {
23701
- /** @description Default Response */
23884
+ /** @description Session */
23702
23885
  200: {
23703
23886
  headers: {
23704
23887
  [name: string]: unknown;
23705
23888
  };
23706
23889
  content: {
23707
23890
  "application/json": {
23708
- next: string | null;
23709
- results: components["schemas"]["Customdomain"][];
23891
+ /** @description Session ID */
23892
+ id: string;
23893
+ user: components["schemas"]["User"] | string | unknown;
23894
+ /** @description OIDC session id. Every id_token minted for this session carries it as the `sid` claim; a back-channel or front-channel logout names the session with it. */
23895
+ sid: string;
23896
+ /** @description `active` or `revoked`. An active session whose `expires_at` is in the past has expired: nothing can refresh it any more, but the row stays for the history. */
23897
+ status: "active" | "revoked";
23898
+ /** @description Client IP at the last authentication. */
23899
+ ip?: string;
23900
+ /** @description Raw `User-Agent` header at the last authentication. */
23901
+ user_agent?: string;
23902
+ client?: components["schemas"]["Client"] | string | unknown;
23903
+ connection?: components["schemas"]["Connection"] | string | unknown;
23904
+ /** @description Issuer URL the session was minted on. */
23905
+ issuer?: string;
23906
+ /**
23907
+ * Format: date-time
23908
+ * @description Last authentication or token refresh through this session. Each refresh slides `expires_at` 30 days from here.
23909
+ */
23910
+ last_seen_at: string;
23911
+ /**
23912
+ * Format: date-time
23913
+ * @description When the session stops being usable unless something refreshes it first.
23914
+ */
23915
+ expires_at: string;
23916
+ /** Format: date-time */
23917
+ revoked_at?: string;
23918
+ /** @description `admin`: revoked through the Management API. `logout`: the user signed out. `user`: the user revoked it from another device. */
23919
+ revoked_reason?: "admin" | "logout" | "user";
23920
+ /** @description Object is related with this account */
23921
+ account: string;
23922
+ /**
23923
+ * @description SessionMetadata
23924
+ * @default {}
23925
+ */
23926
+ metadata: {
23927
+ [key: string]: unknown;
23928
+ };
23929
+ /** @description Session creation date */
23930
+ createdAt: string;
23931
+ /** @description Session updated date */
23932
+ updatedAt?: string;
23710
23933
  };
23711
23934
  };
23712
23935
  };
23713
23936
  /**
23714
- * @description `invalid_query` — The `?query=` FaableQL expression could not be parsed.
23937
+ * @description `invalid_id` — The id in the path is not a valid id for this resource.
23715
23938
  *
23716
23939
  * `invalid_expand` — An `?expand=` path is not allowed on this resource.
23717
23940
  *
23718
- * `search_not_supported` — This resource does not support `?search=`.
23719
- *
23720
23941
  * `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
23721
23942
  */
23722
23943
  400: {
@@ -23726,7 +23947,7 @@ export interface operations {
23726
23947
  content: {
23727
23948
  "application/json": components["schemas"]["ErrorResponse"] & {
23728
23949
  /** @enum {string} */
23729
- error_code?: "invalid_query" | "invalid_expand" | "search_not_supported" | "validation_error";
23950
+ error_code?: "invalid_id" | "invalid_expand" | "validation_error";
23730
23951
  };
23731
23952
  };
23732
23953
  };
@@ -23760,7 +23981,11 @@ export interface operations {
23760
23981
  };
23761
23982
  };
23762
23983
  };
23763
- /** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
23984
+ /**
23985
+ * @description `not_found` — The resource does not exist in this account.
23986
+ *
23987
+ * `account_not_found` — No Auth Account matches the request (domain, header or token).
23988
+ */
23764
23989
  404: {
23765
23990
  headers: {
23766
23991
  [name: string]: unknown;
@@ -23768,7 +23993,7 @@ export interface operations {
23768
23993
  content: {
23769
23994
  "application/json": components["schemas"]["ErrorResponse"] & {
23770
23995
  /** @enum {string} */
23771
- error_code?: "account_not_found";
23996
+ error_code?: "not_found" | "account_not_found";
23772
23997
  };
23773
23998
  };
23774
23999
  };
@@ -23798,56 +24023,433 @@ export interface operations {
23798
24023
  };
23799
24024
  };
23800
24025
  };
23801
- "customdomain/create": {
24026
+ "session/revoke": {
23802
24027
  parameters: {
23803
24028
  query?: never;
23804
24029
  header?: never;
23805
- path?: never;
23806
- cookie?: never;
23807
- };
23808
- /** @description CustomdomainCreate */
23809
- requestBody: {
23810
- content: {
23811
- "application/json": {
23812
- domain: string;
23813
- /** @description Add Metadata */
23814
- metadata?: {
23815
- [key: string]: unknown;
23816
- };
23817
- };
24030
+ path: {
24031
+ session_id: string;
23818
24032
  };
24033
+ cookie?: never;
23819
24034
  };
24035
+ requestBody?: never;
23820
24036
  responses: {
23821
- /** @description Customdomain */
24037
+ /** @description Session */
23822
24038
  200: {
23823
24039
  headers: {
23824
24040
  [name: string]: unknown;
23825
24041
  };
23826
24042
  content: {
23827
24043
  "application/json": {
23828
- /** @description Customdomain ID */
24044
+ /** @description Session ID */
23829
24045
  id: string;
23830
- domain: string;
23831
- token: string;
23832
- /** @enum {unknown} */
23833
- status: "PENDING" | "VERIFYING" | "ACTIVE" | "FAILED" | "DEGRADED";
23834
- attempts: number;
23835
- /** Format: date-time */
23836
- nextCheck?: string;
23837
- /** Format: date-time */
23838
- lastCheck?: string;
23839
- /** @description User feedback error from last check */
23840
- errorLog?: string;
24046
+ user: components["schemas"]["User"] | string | unknown;
24047
+ /** @description OIDC session id. Every id_token minted for this session carries it as the `sid` claim; a back-channel or front-channel logout names the session with it. */
24048
+ sid: string;
24049
+ /** @description `active` or `revoked`. An active session whose `expires_at` is in the past has expired: nothing can refresh it any more, but the row stays for the history. */
24050
+ status: "active" | "revoked";
24051
+ /** @description Client IP at the last authentication. */
24052
+ ip?: string;
24053
+ /** @description Raw `User-Agent` header at the last authentication. */
24054
+ user_agent?: string;
24055
+ client?: components["schemas"]["Client"] | string | unknown;
24056
+ connection?: components["schemas"]["Connection"] | string | unknown;
24057
+ /** @description Issuer URL the session was minted on. */
24058
+ issuer?: string;
24059
+ /**
24060
+ * Format: date-time
24061
+ * @description Last authentication or token refresh through this session. Each refresh slides `expires_at` 30 days from here.
24062
+ */
24063
+ last_seen_at: string;
24064
+ /**
24065
+ * Format: date-time
24066
+ * @description When the session stops being usable unless something refreshes it first.
24067
+ */
24068
+ expires_at: string;
23841
24069
  /** Format: date-time */
23842
- verifiedAt?: string;
23843
- /** @description Per-record DNS status from the last check: what each record points to now vs. expected */
23844
- records?: {
23845
- type: string;
23846
- host: string;
23847
- expected: string;
23848
- observed: string[];
23849
- ok: boolean;
23850
- }[];
24070
+ revoked_at?: string;
24071
+ /** @description `admin`: revoked through the Management API. `logout`: the user signed out. `user`: the user revoked it from another device. */
24072
+ revoked_reason?: "admin" | "logout" | "user";
24073
+ /** @description Object is related with this account */
24074
+ account: string;
24075
+ /**
24076
+ * @description SessionMetadata
24077
+ * @default {}
24078
+ */
24079
+ metadata: {
24080
+ [key: string]: unknown;
24081
+ };
24082
+ /** @description Session creation date */
24083
+ createdAt: string;
24084
+ /** @description Session updated date */
24085
+ updatedAt?: string;
24086
+ };
24087
+ };
24088
+ };
24089
+ /** @description `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field. */
24090
+ 400: {
24091
+ headers: {
24092
+ [name: string]: unknown;
24093
+ };
24094
+ content: {
24095
+ "application/json": components["schemas"]["ErrorResponse"] & {
24096
+ /** @enum {string} */
24097
+ error_code?: "validation_error";
24098
+ };
24099
+ };
24100
+ };
24101
+ /** @description `unauthorized` — The request carries no valid credentials. */
24102
+ 401: {
24103
+ headers: {
24104
+ [name: string]: unknown;
24105
+ };
24106
+ content: {
24107
+ "application/json": components["schemas"]["ErrorResponse"] & {
24108
+ /** @enum {string} */
24109
+ error_code?: "unauthorized";
24110
+ };
24111
+ };
24112
+ };
24113
+ /**
24114
+ * @description `forbidden` — The credentials are valid but do not allow this operation.
24115
+ *
24116
+ * `insufficient_scope` — The token lacks a scope this operation requires. `message` names it.
24117
+ *
24118
+ * `user_suspended` — The user is suspended and cannot sign in or be modified.
24119
+ */
24120
+ 403: {
24121
+ headers: {
24122
+ [name: string]: unknown;
24123
+ };
24124
+ content: {
24125
+ "application/json": components["schemas"]["ErrorResponse"] & {
24126
+ /** @enum {string} */
24127
+ error_code?: "forbidden" | "insufficient_scope" | "user_suspended";
24128
+ };
24129
+ };
24130
+ };
24131
+ /**
24132
+ * @description `not_found` — The resource does not exist in this account.
24133
+ *
24134
+ * `account_not_found` — No Auth Account matches the request (domain, header or token).
24135
+ */
24136
+ 404: {
24137
+ headers: {
24138
+ [name: string]: unknown;
24139
+ };
24140
+ content: {
24141
+ "application/json": components["schemas"]["ErrorResponse"] & {
24142
+ /** @enum {string} */
24143
+ error_code?: "not_found" | "account_not_found";
24144
+ };
24145
+ };
24146
+ };
24147
+ /** @description `session_already_revoked` — The session was already revoked. */
24148
+ 409: {
24149
+ headers: {
24150
+ [name: string]: unknown;
24151
+ };
24152
+ content: {
24153
+ "application/json": components["schemas"]["ErrorResponse"] & {
24154
+ /** @enum {string} */
24155
+ error_code?: "session_already_revoked";
24156
+ };
24157
+ };
24158
+ };
24159
+ /** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
24160
+ 429: {
24161
+ headers: {
24162
+ [name: string]: unknown;
24163
+ };
24164
+ content: {
24165
+ "application/json": components["schemas"]["ErrorResponse"] & {
24166
+ /** @enum {string} */
24167
+ error_code?: "too_many_requests";
24168
+ };
24169
+ };
24170
+ };
24171
+ /** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
24172
+ 500: {
24173
+ headers: {
24174
+ [name: string]: unknown;
24175
+ };
24176
+ content: {
24177
+ "application/json": components["schemas"]["ErrorResponse"] & {
24178
+ /** @enum {string} */
24179
+ error_code?: "internal_error";
24180
+ };
24181
+ };
24182
+ };
24183
+ };
24184
+ };
24185
+ "customdomain/retry": {
24186
+ parameters: {
24187
+ query?: never;
24188
+ header?: never;
24189
+ path: {
24190
+ customdomain_id: string;
24191
+ };
24192
+ cookie?: never;
24193
+ };
24194
+ requestBody?: never;
24195
+ responses: {
24196
+ /** @description Default Response */
24197
+ 200: {
24198
+ headers: {
24199
+ [name: string]: unknown;
24200
+ };
24201
+ content?: never;
24202
+ };
24203
+ /** @description `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field. */
24204
+ 400: {
24205
+ headers: {
24206
+ [name: string]: unknown;
24207
+ };
24208
+ content: {
24209
+ "application/json": components["schemas"]["ErrorResponse"] & {
24210
+ /** @enum {string} */
24211
+ error_code?: "validation_error";
24212
+ };
24213
+ };
24214
+ };
24215
+ /** @description `unauthorized` — The request carries no valid credentials. */
24216
+ 401: {
24217
+ headers: {
24218
+ [name: string]: unknown;
24219
+ };
24220
+ content: {
24221
+ "application/json": components["schemas"]["ErrorResponse"] & {
24222
+ /** @enum {string} */
24223
+ error_code?: "unauthorized";
24224
+ };
24225
+ };
24226
+ };
24227
+ /**
24228
+ * @description `forbidden` — The credentials are valid but do not allow this operation.
24229
+ *
24230
+ * `insufficient_scope` — The token lacks a scope this operation requires. `message` names it.
24231
+ *
24232
+ * `user_suspended` — The user is suspended and cannot sign in or be modified.
24233
+ */
24234
+ 403: {
24235
+ headers: {
24236
+ [name: string]: unknown;
24237
+ };
24238
+ content: {
24239
+ "application/json": components["schemas"]["ErrorResponse"] & {
24240
+ /** @enum {string} */
24241
+ error_code?: "forbidden" | "insufficient_scope" | "user_suspended";
24242
+ };
24243
+ };
24244
+ };
24245
+ /** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
24246
+ 404: {
24247
+ headers: {
24248
+ [name: string]: unknown;
24249
+ };
24250
+ content: {
24251
+ "application/json": components["schemas"]["ErrorResponse"] & {
24252
+ /** @enum {string} */
24253
+ error_code?: "account_not_found";
24254
+ };
24255
+ };
24256
+ };
24257
+ /** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
24258
+ 429: {
24259
+ headers: {
24260
+ [name: string]: unknown;
24261
+ };
24262
+ content: {
24263
+ "application/json": components["schemas"]["ErrorResponse"] & {
24264
+ /** @enum {string} */
24265
+ error_code?: "too_many_requests";
24266
+ };
24267
+ };
24268
+ };
24269
+ /** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
24270
+ 500: {
24271
+ headers: {
24272
+ [name: string]: unknown;
24273
+ };
24274
+ content: {
24275
+ "application/json": components["schemas"]["ErrorResponse"] & {
24276
+ /** @enum {string} */
24277
+ error_code?: "internal_error";
24278
+ };
24279
+ };
24280
+ };
24281
+ };
24282
+ };
24283
+ "customdomain/list": {
24284
+ parameters: {
24285
+ query?: {
24286
+ /** @description Number of items per page (max 200) */
24287
+ pageSize?: number;
24288
+ /** @description Cursor for next page */
24289
+ cursor?: string;
24290
+ /** @description Cursor returned by the previous page */
24291
+ next?: string;
24292
+ /** @description Filter using a FaableQL query */
24293
+ query?: string;
24294
+ /** @description Full-text search across: `domain`. */
24295
+ q?: string;
24296
+ };
24297
+ header?: never;
24298
+ path?: never;
24299
+ cookie?: never;
24300
+ };
24301
+ requestBody?: never;
24302
+ responses: {
24303
+ /** @description Default Response */
24304
+ 200: {
24305
+ headers: {
24306
+ [name: string]: unknown;
24307
+ };
24308
+ content: {
24309
+ "application/json": {
24310
+ next: string | null;
24311
+ results: components["schemas"]["Customdomain"][];
24312
+ };
24313
+ };
24314
+ };
24315
+ /**
24316
+ * @description `invalid_query` — The `?query=` FaableQL expression could not be parsed.
24317
+ *
24318
+ * `invalid_expand` — An `?expand=` path is not allowed on this resource.
24319
+ *
24320
+ * `search_not_supported` — This resource does not support `?search=`.
24321
+ *
24322
+ * `validation_error` — The body, query or path failed schema validation. `details.issues` lists each failing field.
24323
+ */
24324
+ 400: {
24325
+ headers: {
24326
+ [name: string]: unknown;
24327
+ };
24328
+ content: {
24329
+ "application/json": components["schemas"]["ErrorResponse"] & {
24330
+ /** @enum {string} */
24331
+ error_code?: "invalid_query" | "invalid_expand" | "search_not_supported" | "validation_error";
24332
+ };
24333
+ };
24334
+ };
24335
+ /** @description `unauthorized` — The request carries no valid credentials. */
24336
+ 401: {
24337
+ headers: {
24338
+ [name: string]: unknown;
24339
+ };
24340
+ content: {
24341
+ "application/json": components["schemas"]["ErrorResponse"] & {
24342
+ /** @enum {string} */
24343
+ error_code?: "unauthorized";
24344
+ };
24345
+ };
24346
+ };
24347
+ /**
24348
+ * @description `forbidden` — The credentials are valid but do not allow this operation.
24349
+ *
24350
+ * `insufficient_scope` — The token lacks a scope this operation requires. `message` names it.
24351
+ *
24352
+ * `user_suspended` — The user is suspended and cannot sign in or be modified.
24353
+ */
24354
+ 403: {
24355
+ headers: {
24356
+ [name: string]: unknown;
24357
+ };
24358
+ content: {
24359
+ "application/json": components["schemas"]["ErrorResponse"] & {
24360
+ /** @enum {string} */
24361
+ error_code?: "forbidden" | "insufficient_scope" | "user_suspended";
24362
+ };
24363
+ };
24364
+ };
24365
+ /** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
24366
+ 404: {
24367
+ headers: {
24368
+ [name: string]: unknown;
24369
+ };
24370
+ content: {
24371
+ "application/json": components["schemas"]["ErrorResponse"] & {
24372
+ /** @enum {string} */
24373
+ error_code?: "account_not_found";
24374
+ };
24375
+ };
24376
+ };
24377
+ /** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
24378
+ 429: {
24379
+ headers: {
24380
+ [name: string]: unknown;
24381
+ };
24382
+ content: {
24383
+ "application/json": components["schemas"]["ErrorResponse"] & {
24384
+ /** @enum {string} */
24385
+ error_code?: "too_many_requests";
24386
+ };
24387
+ };
24388
+ };
24389
+ /** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
24390
+ 500: {
24391
+ headers: {
24392
+ [name: string]: unknown;
24393
+ };
24394
+ content: {
24395
+ "application/json": components["schemas"]["ErrorResponse"] & {
24396
+ /** @enum {string} */
24397
+ error_code?: "internal_error";
24398
+ };
24399
+ };
24400
+ };
24401
+ };
24402
+ };
24403
+ "customdomain/create": {
24404
+ parameters: {
24405
+ query?: never;
24406
+ header?: never;
24407
+ path?: never;
24408
+ cookie?: never;
24409
+ };
24410
+ /** @description CustomdomainCreate */
24411
+ requestBody: {
24412
+ content: {
24413
+ "application/json": {
24414
+ domain: string;
24415
+ /** @description Add Metadata */
24416
+ metadata?: {
24417
+ [key: string]: unknown;
24418
+ };
24419
+ };
24420
+ };
24421
+ };
24422
+ responses: {
24423
+ /** @description Customdomain */
24424
+ 200: {
24425
+ headers: {
24426
+ [name: string]: unknown;
24427
+ };
24428
+ content: {
24429
+ "application/json": {
24430
+ /** @description Customdomain ID */
24431
+ id: string;
24432
+ domain: string;
24433
+ token: string;
24434
+ /** @enum {unknown} */
24435
+ status: "PENDING" | "VERIFYING" | "ACTIVE" | "FAILED" | "DEGRADED";
24436
+ attempts: number;
24437
+ /** Format: date-time */
24438
+ nextCheck?: string;
24439
+ /** Format: date-time */
24440
+ lastCheck?: string;
24441
+ /** @description User feedback error from last check */
24442
+ errorLog?: string;
24443
+ /** Format: date-time */
24444
+ verifiedAt?: string;
24445
+ /** @description Per-record DNS status from the last check: what each record points to now vs. expected */
24446
+ records?: {
24447
+ type: string;
24448
+ host: string;
24449
+ expected: string;
24450
+ observed: string[];
24451
+ ok: boolean;
24452
+ }[];
23851
24453
  /** @description Object is related with this account */
23852
24454
  account: string;
23853
24455
  /**
@@ -25198,6 +25800,157 @@ export interface operations {
25198
25800
  };
25199
25801
  };
25200
25802
  };
25803
+ "session/meSessions": {
25804
+ parameters: {
25805
+ query?: never;
25806
+ header?: never;
25807
+ path?: never;
25808
+ cookie?: never;
25809
+ };
25810
+ requestBody?: never;
25811
+ responses: {
25812
+ /** @description Default Response */
25813
+ 200: {
25814
+ headers: {
25815
+ [name: string]: unknown;
25816
+ };
25817
+ content: {
25818
+ "application/json": {
25819
+ results: components["schemas"]["Session"][];
25820
+ /** @description The id of the session this request came through: the cookie, or the session the bearer token was issued in. Null when the token predates session ids. */
25821
+ current_session_id: string | null;
25822
+ };
25823
+ };
25824
+ };
25825
+ /**
25826
+ * @description `mfa_pending` — A second-factor challenge is pending; answer it before continuing.
25827
+ *
25828
+ * `not_logged_in` — There is no signed-in session for this request.
25829
+ */
25830
+ 401: {
25831
+ headers: {
25832
+ [name: string]: unknown;
25833
+ };
25834
+ content: {
25835
+ "application/json": components["schemas"]["ErrorResponse"] & {
25836
+ /** @enum {string} */
25837
+ error_code?: "mfa_pending" | "not_logged_in";
25838
+ };
25839
+ };
25840
+ };
25841
+ /** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
25842
+ 404: {
25843
+ headers: {
25844
+ [name: string]: unknown;
25845
+ };
25846
+ content: {
25847
+ "application/json": components["schemas"]["ErrorResponse"] & {
25848
+ /** @enum {string} */
25849
+ error_code?: "account_not_found";
25850
+ };
25851
+ };
25852
+ };
25853
+ /** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
25854
+ 429: {
25855
+ headers: {
25856
+ [name: string]: unknown;
25857
+ };
25858
+ content: {
25859
+ "application/json": components["schemas"]["ErrorResponse"] & {
25860
+ /** @enum {string} */
25861
+ error_code?: "too_many_requests";
25862
+ };
25863
+ };
25864
+ };
25865
+ /** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
25866
+ 500: {
25867
+ headers: {
25868
+ [name: string]: unknown;
25869
+ };
25870
+ content: {
25871
+ "application/json": components["schemas"]["ErrorResponse"] & {
25872
+ /** @enum {string} */
25873
+ error_code?: "internal_error";
25874
+ };
25875
+ };
25876
+ };
25877
+ };
25878
+ };
25879
+ "session/meRevokeOtherSessions": {
25880
+ parameters: {
25881
+ query?: never;
25882
+ header?: never;
25883
+ path?: never;
25884
+ cookie?: never;
25885
+ };
25886
+ requestBody?: never;
25887
+ responses: {
25888
+ /** @description Default Response */
25889
+ 200: {
25890
+ headers: {
25891
+ [name: string]: unknown;
25892
+ };
25893
+ content: {
25894
+ "application/json": {
25895
+ /** @description How many sessions were ended. */
25896
+ revoked: number;
25897
+ };
25898
+ };
25899
+ };
25900
+ /**
25901
+ * @description `mfa_pending` — A second-factor challenge is pending; answer it before continuing.
25902
+ *
25903
+ * `not_logged_in` — There is no signed-in session for this request.
25904
+ */
25905
+ 401: {
25906
+ headers: {
25907
+ [name: string]: unknown;
25908
+ };
25909
+ content: {
25910
+ "application/json": components["schemas"]["ErrorResponse"] & {
25911
+ /** @enum {string} */
25912
+ error_code?: "mfa_pending" | "not_logged_in";
25913
+ };
25914
+ };
25915
+ };
25916
+ /** @description `account_not_found` — No Auth Account matches the request (domain, header or token). */
25917
+ 404: {
25918
+ headers: {
25919
+ [name: string]: unknown;
25920
+ };
25921
+ content: {
25922
+ "application/json": components["schemas"]["ErrorResponse"] & {
25923
+ /** @enum {string} */
25924
+ error_code?: "account_not_found";
25925
+ };
25926
+ };
25927
+ };
25928
+ /** @description `too_many_requests` — Rate limit exceeded. Honour the `Retry-After` header. */
25929
+ 429: {
25930
+ headers: {
25931
+ [name: string]: unknown;
25932
+ };
25933
+ content: {
25934
+ "application/json": components["schemas"]["ErrorResponse"] & {
25935
+ /** @enum {string} */
25936
+ error_code?: "too_many_requests";
25937
+ };
25938
+ };
25939
+ };
25940
+ /** @description `internal_error` — Unexpected server error. Retry later; the request id is logged. */
25941
+ 500: {
25942
+ headers: {
25943
+ [name: string]: unknown;
25944
+ };
25945
+ content: {
25946
+ "application/json": components["schemas"]["ErrorResponse"] & {
25947
+ /** @enum {string} */
25948
+ error_code?: "internal_error";
25949
+ };
25950
+ };
25951
+ };
25952
+ };
25953
+ };
25201
25954
  "session/logout": {
25202
25955
  parameters: {
25203
25956
  query?: {