anchorbrowser 0.5.4__py3-none-any.whl → 0.6.1__py3-none-any.whl

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 (38) hide show
  1. anchorbrowser/_base_client.py +1 -1
  2. anchorbrowser/_client.py +9 -2
  3. anchorbrowser/_version.py +1 -1
  4. anchorbrowser/resources/__init__.py +14 -0
  5. anchorbrowser/resources/applications/__init__.py +33 -0
  6. anchorbrowser/resources/applications/applications.py +715 -0
  7. anchorbrowser/resources/applications/auth_flows.py +547 -0
  8. anchorbrowser/resources/identities.py +453 -1
  9. anchorbrowser/resources/sessions/sessions.py +14 -0
  10. anchorbrowser/types/__init__.py +20 -0
  11. anchorbrowser/types/application_create_identity_token_params.py +17 -0
  12. anchorbrowser/types/application_create_identity_token_response.py +23 -0
  13. anchorbrowser/types/application_create_params.py +18 -0
  14. anchorbrowser/types/application_create_response.py +25 -0
  15. anchorbrowser/types/application_delete_response.py +12 -0
  16. anchorbrowser/types/application_list_identities_params.py +12 -0
  17. anchorbrowser/types/application_list_identities_response.py +33 -0
  18. anchorbrowser/types/application_list_params.py +12 -0
  19. anchorbrowser/types/application_list_response.py +41 -0
  20. anchorbrowser/types/application_retrieve_response.py +37 -0
  21. anchorbrowser/types/applications/__init__.py +10 -0
  22. anchorbrowser/types/applications/auth_flow_create_params.py +30 -0
  23. anchorbrowser/types/applications/auth_flow_create_response.py +39 -0
  24. anchorbrowser/types/applications/auth_flow_delete_response.py +12 -0
  25. anchorbrowser/types/applications/auth_flow_list_response.py +43 -0
  26. anchorbrowser/types/applications/auth_flow_update_params.py +32 -0
  27. anchorbrowser/types/applications/auth_flow_update_response.py +39 -0
  28. anchorbrowser/types/identity_create_params.py +84 -0
  29. anchorbrowser/types/identity_create_response.py +26 -0
  30. anchorbrowser/types/identity_delete_response.py +12 -0
  31. anchorbrowser/types/identity_retrieve_response.py +32 -0
  32. anchorbrowser/types/identity_update_params.py +70 -0
  33. anchorbrowser/types/identity_update_response.py +22 -0
  34. anchorbrowser/types/session_create_params.py +15 -0
  35. {anchorbrowser-0.5.4.dist-info → anchorbrowser-0.6.1.dist-info}/METADATA +1 -1
  36. {anchorbrowser-0.5.4.dist-info → anchorbrowser-0.6.1.dist-info}/RECORD +38 -12
  37. {anchorbrowser-0.5.4.dist-info → anchorbrowser-0.6.1.dist-info}/licenses/LICENSE +1 -1
  38. {anchorbrowser-0.5.4.dist-info → anchorbrowser-0.6.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,25 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["ApplicationCreateResponse"]
9
+
10
+
11
+ class ApplicationCreateResponse(BaseModel):
12
+ id: Optional[str] = None
13
+ """Unique identifier for the application"""
14
+
15
+ created_at: Optional[datetime] = None
16
+ """Timestamp when the application was created"""
17
+
18
+ description: Optional[str] = None
19
+ """Description of the application"""
20
+
21
+ name: Optional[str] = None
22
+ """Name of the application"""
23
+
24
+ url: Optional[str] = None
25
+ """URL of the application"""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["ApplicationDeleteResponse"]
8
+
9
+
10
+ class ApplicationDeleteResponse(BaseModel):
11
+ success: Optional[bool] = None
12
+ """Whether the deletion was successful"""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["ApplicationListIdentitiesParams"]
8
+
9
+
10
+ class ApplicationListIdentitiesParams(TypedDict, total=False):
11
+ search: str
12
+ """Search query to filter identities by name"""
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["ApplicationListIdentitiesResponse", "Identity"]
10
+
11
+
12
+ class Identity(BaseModel):
13
+ id: Optional[str] = None
14
+ """Unique identifier for the identity"""
15
+
16
+ auth_flow: Optional[str] = None
17
+ """Authentication flow associated with this identity"""
18
+
19
+ created_at: Optional[datetime] = None
20
+ """Timestamp when the identity was created"""
21
+
22
+ name: Optional[str] = None
23
+ """Name of the identity"""
24
+
25
+ status: Optional[Literal["pending", "validated", "failed"]] = None
26
+ """Status of the identity"""
27
+
28
+ updated_at: Optional[datetime] = None
29
+ """Timestamp when the identity was last updated"""
30
+
31
+
32
+ class ApplicationListIdentitiesResponse(BaseModel):
33
+ identities: Optional[List[Identity]] = None
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ __all__ = ["ApplicationListParams"]
8
+
9
+
10
+ class ApplicationListParams(TypedDict, total=False):
11
+ search: str
12
+ """Search query to filter applications by name"""
@@ -0,0 +1,41 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["ApplicationListResponse", "Application"]
9
+
10
+
11
+ class Application(BaseModel):
12
+ id: Optional[str] = None
13
+ """Unique identifier for the application"""
14
+
15
+ allowed_domains: Optional[List[str]] = None
16
+ """List of allowed domains for this application"""
17
+
18
+ auth_methods: Optional[List[str]] = None
19
+ """Authentication methods available for this application"""
20
+
21
+ created_at: Optional[datetime] = None
22
+ """Timestamp when the application was created"""
23
+
24
+ description: Optional[str] = None
25
+ """Description of the application"""
26
+
27
+ identity_count: Optional[int] = None
28
+ """Number of identities associated with this application"""
29
+
30
+ name: Optional[str] = None
31
+ """Name of the application"""
32
+
33
+ updated_at: Optional[datetime] = None
34
+ """Timestamp when the application was last updated"""
35
+
36
+ url: Optional[str] = None
37
+ """URL of the application"""
38
+
39
+
40
+ class ApplicationListResponse(BaseModel):
41
+ applications: Optional[List[Application]] = None
@@ -0,0 +1,37 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["ApplicationRetrieveResponse"]
9
+
10
+
11
+ class ApplicationRetrieveResponse(BaseModel):
12
+ id: Optional[str] = None
13
+ """Unique identifier for the application"""
14
+
15
+ allowed_domains: Optional[List[str]] = None
16
+ """List of allowed domains for this application"""
17
+
18
+ auth_methods: Optional[List[str]] = None
19
+ """Authentication methods available for this application"""
20
+
21
+ created_at: Optional[datetime] = None
22
+ """Timestamp when the application was created"""
23
+
24
+ description: Optional[str] = None
25
+ """Description of the application"""
26
+
27
+ identity_count: Optional[int] = None
28
+ """Number of identities associated with this application"""
29
+
30
+ name: Optional[str] = None
31
+ """Name of the application"""
32
+
33
+ updated_at: Optional[datetime] = None
34
+ """Timestamp when the application was last updated"""
35
+
36
+ url: Optional[str] = None
37
+ """URL of the application"""
@@ -0,0 +1,10 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .auth_flow_create_params import AuthFlowCreateParams as AuthFlowCreateParams
6
+ from .auth_flow_list_response import AuthFlowListResponse as AuthFlowListResponse
7
+ from .auth_flow_update_params import AuthFlowUpdateParams as AuthFlowUpdateParams
8
+ from .auth_flow_create_response import AuthFlowCreateResponse as AuthFlowCreateResponse
9
+ from .auth_flow_delete_response import AuthFlowDeleteResponse as AuthFlowDeleteResponse
10
+ from .auth_flow_update_response import AuthFlowUpdateResponse as AuthFlowUpdateResponse
@@ -0,0 +1,30 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Iterable
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["AuthFlowCreateParams", "CustomField"]
9
+
10
+
11
+ class AuthFlowCreateParams(TypedDict, total=False):
12
+ methods: Required[List[Literal["username_password", "authenticator", "custom"]]]
13
+ """Authentication methods in this flow"""
14
+
15
+ name: Required[str]
16
+ """Name of the authentication flow"""
17
+
18
+ custom_fields: Iterable[CustomField]
19
+ """Custom fields for this authentication flow"""
20
+
21
+ description: str
22
+ """Description of the authentication flow"""
23
+
24
+ is_recommended: bool
25
+ """Whether this is the recommended authentication flow"""
26
+
27
+
28
+ class CustomField(TypedDict, total=False):
29
+ name: Required[str]
30
+ """Name of the custom field"""
@@ -0,0 +1,39 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["AuthFlowCreateResponse", "CustomField"]
9
+
10
+
11
+ class CustomField(BaseModel):
12
+ name: str
13
+ """Name of the custom field"""
14
+
15
+
16
+ class AuthFlowCreateResponse(BaseModel):
17
+ id: Optional[str] = None
18
+ """Unique identifier for the authentication flow"""
19
+
20
+ created_at: Optional[datetime] = None
21
+ """Timestamp when the authentication flow was created"""
22
+
23
+ custom_fields: Optional[List[CustomField]] = None
24
+ """Custom fields for this authentication flow"""
25
+
26
+ description: Optional[str] = None
27
+ """Description of the authentication flow"""
28
+
29
+ is_recommended: Optional[bool] = None
30
+ """Whether this is the recommended authentication flow"""
31
+
32
+ methods: Optional[List[str]] = None
33
+ """Authentication methods in this flow"""
34
+
35
+ name: Optional[str] = None
36
+ """Name of the authentication flow"""
37
+
38
+ updated_at: Optional[datetime] = None
39
+ """Timestamp when the authentication flow was last updated"""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from ..._models import BaseModel
6
+
7
+ __all__ = ["AuthFlowDeleteResponse"]
8
+
9
+
10
+ class AuthFlowDeleteResponse(BaseModel):
11
+ success: Optional[bool] = None
12
+ """Whether the deletion was successful"""
@@ -0,0 +1,43 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["AuthFlowListResponse", "AuthFlow", "AuthFlowCustomField"]
9
+
10
+
11
+ class AuthFlowCustomField(BaseModel):
12
+ name: str
13
+ """Name of the custom field"""
14
+
15
+
16
+ class AuthFlow(BaseModel):
17
+ id: Optional[str] = None
18
+ """Unique identifier for the authentication flow"""
19
+
20
+ created_at: Optional[datetime] = None
21
+ """Timestamp when the authentication flow was created"""
22
+
23
+ custom_fields: Optional[List[AuthFlowCustomField]] = None
24
+ """Custom fields for this authentication flow"""
25
+
26
+ description: Optional[str] = None
27
+ """Description of the authentication flow"""
28
+
29
+ is_recommended: Optional[bool] = None
30
+ """Whether this is the recommended authentication flow"""
31
+
32
+ methods: Optional[List[str]] = None
33
+ """Authentication methods in this flow"""
34
+
35
+ name: Optional[str] = None
36
+ """Name of the authentication flow"""
37
+
38
+ updated_at: Optional[datetime] = None
39
+ """Timestamp when the authentication flow was last updated"""
40
+
41
+
42
+ class AuthFlowListResponse(BaseModel):
43
+ auth_flows: Optional[List[AuthFlow]] = None
@@ -0,0 +1,32 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import List, Iterable
6
+ from typing_extensions import Literal, Required, TypedDict
7
+
8
+ __all__ = ["AuthFlowUpdateParams", "CustomField"]
9
+
10
+
11
+ class AuthFlowUpdateParams(TypedDict, total=False):
12
+ application_id: Required[str]
13
+
14
+ custom_fields: Iterable[CustomField]
15
+ """Custom fields for this authentication flow"""
16
+
17
+ description: str
18
+ """Description of the authentication flow"""
19
+
20
+ is_recommended: bool
21
+ """Whether this is the recommended authentication flow"""
22
+
23
+ methods: List[Literal["username_password", "authenticator", "custom"]]
24
+ """Authentication methods in this flow"""
25
+
26
+ name: str
27
+ """Name of the authentication flow"""
28
+
29
+
30
+ class CustomField(TypedDict, total=False):
31
+ name: Required[str]
32
+ """Name of the custom field"""
@@ -0,0 +1,39 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Optional
4
+ from datetime import datetime
5
+
6
+ from ..._models import BaseModel
7
+
8
+ __all__ = ["AuthFlowUpdateResponse", "CustomField"]
9
+
10
+
11
+ class CustomField(BaseModel):
12
+ name: str
13
+ """Name of the custom field"""
14
+
15
+
16
+ class AuthFlowUpdateResponse(BaseModel):
17
+ id: Optional[str] = None
18
+ """Unique identifier for the authentication flow"""
19
+
20
+ created_at: Optional[datetime] = None
21
+ """Timestamp when the authentication flow was created"""
22
+
23
+ custom_fields: Optional[List[CustomField]] = None
24
+ """Custom fields for this authentication flow"""
25
+
26
+ description: Optional[str] = None
27
+ """Description of the authentication flow"""
28
+
29
+ is_recommended: Optional[bool] = None
30
+ """Whether this is the recommended authentication flow"""
31
+
32
+ methods: Optional[List[str]] = None
33
+ """Authentication methods in this flow"""
34
+
35
+ name: Optional[str] = None
36
+ """Name of the authentication flow"""
37
+
38
+ updated_at: Optional[datetime] = None
39
+ """Timestamp when the authentication flow was last updated"""
@@ -0,0 +1,84 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict, Union, Iterable
6
+ from typing_extensions import Literal, Required, Annotated, TypeAlias, TypedDict
7
+
8
+ from .._utils import PropertyInfo
9
+
10
+ __all__ = [
11
+ "IdentityCreateParams",
12
+ "Credential",
13
+ "CredentialUsernamePasswordCredentialSchema",
14
+ "CredentialAuthenticatorCredentialSchema",
15
+ "CredentialCustomCredentialSchema",
16
+ "CredentialCustomCredentialSchemaField",
17
+ ]
18
+
19
+
20
+ class IdentityCreateParams(TypedDict, total=False):
21
+ credentials: Required[Iterable[Credential]]
22
+ """Array of credentials for authentication"""
23
+
24
+ source: Required[str]
25
+ """The source URL for the identity (e.g., login page URL)"""
26
+
27
+ validate_async: Annotated[bool, PropertyInfo(alias="validateAsync")]
28
+ """Whether to validate the identity asynchronously. Defaults to true."""
29
+
30
+ application_description: Annotated[str, PropertyInfo(alias="applicationDescription")]
31
+ """Optional application description"""
32
+
33
+ application_name: Annotated[str, PropertyInfo(alias="applicationName")]
34
+ """Optional application name to associate with the identity"""
35
+
36
+ metadata: Dict[str, object]
37
+ """Optional metadata for the identity"""
38
+
39
+ name: str
40
+ """Name of the identity. Defaults to "Unnamed Identity" if not provided."""
41
+
42
+
43
+ class CredentialUsernamePasswordCredentialSchema(TypedDict, total=False):
44
+ password: str
45
+ """The password of the credential"""
46
+
47
+ type: Literal["username_password"]
48
+ """The type of credential"""
49
+
50
+ username: str
51
+ """The username of the credential"""
52
+
53
+
54
+ class CredentialAuthenticatorCredentialSchema(TypedDict, total=False):
55
+ otp: str
56
+ """The OTP of the credential"""
57
+
58
+ secret: str
59
+ """The secret of the credential"""
60
+
61
+ type: Literal["authenticator"]
62
+ """The type of credential"""
63
+
64
+
65
+ class CredentialCustomCredentialSchemaField(TypedDict, total=False):
66
+ name: str
67
+ """The name of the field"""
68
+
69
+ value: str
70
+ """The value of the field"""
71
+
72
+
73
+ class CredentialCustomCredentialSchema(TypedDict, total=False):
74
+ fields: Iterable[CredentialCustomCredentialSchemaField]
75
+
76
+ type: Literal["custom"]
77
+ """The type of credential"""
78
+
79
+
80
+ Credential: TypeAlias = Union[
81
+ CredentialUsernamePasswordCredentialSchema,
82
+ CredentialAuthenticatorCredentialSchema,
83
+ CredentialCustomCredentialSchema,
84
+ ]
@@ -0,0 +1,26 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["IdentityCreateResponse"]
10
+
11
+
12
+ class IdentityCreateResponse(BaseModel):
13
+ id: Optional[str] = None
14
+ """Unique identifier for the identity"""
15
+
16
+ created_at: Optional[datetime] = None
17
+ """Timestamp when the identity was created"""
18
+
19
+ metadata: Optional[Dict[str, object]] = None
20
+ """Metadata associated with the identity"""
21
+
22
+ name: Optional[str] = None
23
+ """Name of the identity"""
24
+
25
+ status: Optional[Literal["pending", "validated", "failed"]] = None
26
+ """Status of the identity"""
@@ -0,0 +1,12 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+
5
+ from .._models import BaseModel
6
+
7
+ __all__ = ["IdentityDeleteResponse"]
8
+
9
+
10
+ class IdentityDeleteResponse(BaseModel):
11
+ message: Optional[str] = None
12
+ """Deletion result message"""
@@ -0,0 +1,32 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from .._models import BaseModel
8
+
9
+ __all__ = ["IdentityRetrieveResponse"]
10
+
11
+
12
+ class IdentityRetrieveResponse(BaseModel):
13
+ id: Optional[str] = None
14
+ """Unique identifier for the identity"""
15
+
16
+ created_at: Optional[datetime] = None
17
+ """Timestamp when the identity was created"""
18
+
19
+ metadata: Optional[Dict[str, object]] = None
20
+ """Metadata associated with the identity"""
21
+
22
+ name: Optional[str] = None
23
+ """Name of the identity"""
24
+
25
+ source: Optional[str] = None
26
+ """Source URL for the identity"""
27
+
28
+ status: Optional[Literal["pending", "validated", "failed"]] = None
29
+ """Status of the identity"""
30
+
31
+ updated_at: Optional[datetime] = None
32
+ """Timestamp when the identity was last updated"""
@@ -0,0 +1,70 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict, Union, Iterable
6
+ from typing_extensions import Literal, TypeAlias, TypedDict
7
+
8
+ __all__ = [
9
+ "IdentityUpdateParams",
10
+ "Credential",
11
+ "CredentialUsernamePasswordCredentialSchema",
12
+ "CredentialAuthenticatorCredentialSchema",
13
+ "CredentialCustomCredentialSchema",
14
+ "CredentialCustomCredentialSchemaField",
15
+ ]
16
+
17
+
18
+ class IdentityUpdateParams(TypedDict, total=False):
19
+ credentials: Iterable[Credential]
20
+ """Array of credentials for authentication"""
21
+
22
+ metadata: Dict[str, object]
23
+ """Metadata for the identity"""
24
+
25
+ name: str
26
+ """Name of the identity"""
27
+
28
+
29
+ class CredentialUsernamePasswordCredentialSchema(TypedDict, total=False):
30
+ password: str
31
+ """The password of the credential"""
32
+
33
+ type: Literal["username_password"]
34
+ """The type of credential"""
35
+
36
+ username: str
37
+ """The username of the credential"""
38
+
39
+
40
+ class CredentialAuthenticatorCredentialSchema(TypedDict, total=False):
41
+ otp: str
42
+ """The OTP of the credential"""
43
+
44
+ secret: str
45
+ """The secret of the credential"""
46
+
47
+ type: Literal["authenticator"]
48
+ """The type of credential"""
49
+
50
+
51
+ class CredentialCustomCredentialSchemaField(TypedDict, total=False):
52
+ name: str
53
+ """The name of the field"""
54
+
55
+ value: str
56
+ """The value of the field"""
57
+
58
+
59
+ class CredentialCustomCredentialSchema(TypedDict, total=False):
60
+ fields: Iterable[CredentialCustomCredentialSchemaField]
61
+
62
+ type: Literal["custom"]
63
+ """The type of credential"""
64
+
65
+
66
+ Credential: TypeAlias = Union[
67
+ CredentialUsernamePasswordCredentialSchema,
68
+ CredentialAuthenticatorCredentialSchema,
69
+ CredentialCustomCredentialSchema,
70
+ ]
@@ -0,0 +1,22 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Dict, Optional
4
+ from datetime import datetime
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = ["IdentityUpdateResponse"]
9
+
10
+
11
+ class IdentityUpdateResponse(BaseModel):
12
+ id: Optional[str] = None
13
+ """Unique identifier for the identity"""
14
+
15
+ metadata: Optional[Dict[str, object]] = None
16
+ """Metadata associated with the identity"""
17
+
18
+ name: Optional[str] = None
19
+ """Name of the identity"""
20
+
21
+ updated_at: Optional[datetime] = None
22
+ """Timestamp when the identity was last updated"""