label-studio-sdk 2.0.0__py3-none-any.whl → 2.0.2__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.

Potentially problematic release.


This version of label-studio-sdk might be problematic. Click here for more details.

Files changed (175) hide show
  1. label_studio_sdk/__init__.py +24 -0
  2. label_studio_sdk/actions/client.py +13 -13
  3. label_studio_sdk/actions/types/actions_list_response_item.py +3 -3
  4. label_studio_sdk/actions/types/actions_list_response_item_dialog.py +2 -2
  5. label_studio_sdk/annotations/client.py +441 -441
  6. label_studio_sdk/base_client.py +4 -0
  7. label_studio_sdk/billing/__init__.py +2 -0
  8. label_studio_sdk/billing/client.py +112 -0
  9. label_studio_sdk/comments/client.py +176 -176
  10. label_studio_sdk/export_storage/azure/client.py +274 -274
  11. label_studio_sdk/export_storage/gcs/client.py +263 -263
  12. label_studio_sdk/export_storage/local/client.py +206 -206
  13. label_studio_sdk/export_storage/redis/client.py +287 -287
  14. label_studio_sdk/export_storage/s3/client.py +347 -347
  15. label_studio_sdk/export_storage/s3s/client.py +678 -678
  16. label_studio_sdk/import_storage/azure/client.py +357 -357
  17. label_studio_sdk/import_storage/gcs/client.py +357 -357
  18. label_studio_sdk/import_storage/local/client.py +206 -206
  19. label_studio_sdk/import_storage/redis/client.py +309 -309
  20. label_studio_sdk/import_storage/s3/client.py +452 -452
  21. label_studio_sdk/import_storage/s3s/client.py +735 -735
  22. label_studio_sdk/jwt_settings/client.py +10 -10
  23. label_studio_sdk/ml/client.py +118 -118
  24. label_studio_sdk/ml/types/ml_list_model_versions_response.py +1 -1
  25. label_studio_sdk/model_providers/client.py +181 -181
  26. label_studio_sdk/organizations/members/client.py +348 -2
  27. label_studio_sdk/predictions/client.py +60 -60
  28. label_studio_sdk/projects/__init__.py +30 -1
  29. label_studio_sdk/projects/assignments/__init__.py +33 -0
  30. label_studio_sdk/projects/assignments/client.py +764 -0
  31. label_studio_sdk/projects/assignments/types/__init__.py +35 -0
  32. label_studio_sdk/projects/assignments/types/assignments_assign_request_type.py +5 -0
  33. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters.py +33 -0
  34. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_conjunction.py +5 -0
  35. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item.py +44 -0
  36. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_filter.py +31 -0
  37. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_operator.py +23 -0
  38. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_filters_items_item_value.py +7 -0
  39. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items.py +9 -0
  40. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_excluded.py +29 -0
  41. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_selected_items_included.py +29 -0
  42. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_request_type.py +5 -0
  43. label_studio_sdk/projects/assignments/types/assignments_bulk_assign_response.py +22 -0
  44. label_studio_sdk/projects/assignments/types/assignments_update_request_type.py +5 -0
  45. label_studio_sdk/projects/client.py +441 -425
  46. label_studio_sdk/projects/exports/client.py +55 -55
  47. label_studio_sdk/projects/exports/types/exports_convert_response.py +1 -1
  48. label_studio_sdk/projects/stats/types/stats_iaa_response.py +5 -5
  49. label_studio_sdk/projects/types/projects_import_tasks_response.py +12 -12
  50. label_studio_sdk/prompts/client.py +211 -211
  51. label_studio_sdk/prompts/runs/client.py +33 -33
  52. label_studio_sdk/prompts/versions/client.py +72 -72
  53. label_studio_sdk/tasks/client.py +174 -174
  54. label_studio_sdk/types/__init__.py +22 -0
  55. label_studio_sdk/types/all_roles_project_list.py +98 -98
  56. label_studio_sdk/types/annotation.py +35 -35
  57. label_studio_sdk/types/annotation_request.py +27 -27
  58. label_studio_sdk/types/azure_blob_export_storage.py +29 -29
  59. label_studio_sdk/types/azure_blob_import_storage.py +33 -33
  60. label_studio_sdk/types/batch_failed_predictions.py +1 -1
  61. label_studio_sdk/types/billing_checks.py +39 -0
  62. label_studio_sdk/types/billing_flags.py +44 -0
  63. label_studio_sdk/types/billing_info_response.py +22 -0
  64. label_studio_sdk/types/blueprint_list.py +7 -8
  65. label_studio_sdk/types/child_filter.py +11 -10
  66. label_studio_sdk/types/comment.py +15 -15
  67. label_studio_sdk/types/comment_request.py +7 -8
  68. label_studio_sdk/types/comment_serializer_with_expanded_user.py +17 -18
  69. label_studio_sdk/types/converted_format.py +1 -1
  70. label_studio_sdk/types/converted_format_request.py +1 -1
  71. label_studio_sdk/types/count_limit.py +22 -0
  72. label_studio_sdk/types/export.py +8 -8
  73. label_studio_sdk/types/file_upload.py +3 -2
  74. label_studio_sdk/types/filter.py +10 -9
  75. label_studio_sdk/types/filter_group.py +4 -3
  76. label_studio_sdk/types/gcs_export_storage.py +23 -23
  77. label_studio_sdk/types/gcs_import_storage.py +27 -27
  78. label_studio_sdk/types/import_api_request.py +26 -26
  79. label_studio_sdk/types/inference_run_cost_estimate.py +10 -10
  80. label_studio_sdk/types/local_files_export_storage.py +23 -23
  81. label_studio_sdk/types/local_files_import_storage.py +26 -26
  82. label_studio_sdk/types/lse_annotation_filter_options.py +10 -10
  83. label_studio_sdk/types/lse_annotation_filter_options_request.py +10 -10
  84. label_studio_sdk/types/lse_export_create.py +12 -12
  85. label_studio_sdk/types/lse_fields.py +14 -14
  86. label_studio_sdk/types/lse_organization.py +17 -17
  87. label_studio_sdk/types/lse_organization_member_list.py +32 -0
  88. label_studio_sdk/types/lse_project_create.py +72 -72
  89. label_studio_sdk/types/lse_project_update.py +89 -89
  90. label_studio_sdk/types/lse_s3export_storage.py +46 -46
  91. label_studio_sdk/types/lse_s3export_storage_request.py +43 -43
  92. label_studio_sdk/types/lse_s3import_storage.py +53 -53
  93. label_studio_sdk/types/lse_s3import_storage_request.py +49 -49
  94. label_studio_sdk/types/lse_task.py +49 -49
  95. label_studio_sdk/types/lse_task_drafts_item.py +1 -1
  96. label_studio_sdk/types/lse_task_filter_options.py +14 -14
  97. label_studio_sdk/types/lse_task_filter_options_request.py +14 -14
  98. label_studio_sdk/types/lse_task_predictions_item.py +5 -5
  99. label_studio_sdk/types/lse_task_serializer_for_annotators.py +12 -12
  100. label_studio_sdk/types/lse_task_serializer_for_annotators_drafts_item.py +1 -1
  101. label_studio_sdk/types/lse_task_serializer_for_annotators_predictions_item.py +5 -5
  102. label_studio_sdk/types/lse_task_serializer_for_reviewers.py +49 -49
  103. label_studio_sdk/types/lse_task_serializer_for_reviewers_drafts_item.py +1 -1
  104. label_studio_sdk/types/lse_task_serializer_for_reviewers_predictions_item.py +5 -5
  105. label_studio_sdk/types/lse_user.py +13 -13
  106. label_studio_sdk/types/lse_user_api.py +11 -11
  107. label_studio_sdk/types/lse_user_organization_member_list.py +48 -0
  108. label_studio_sdk/types/lseapi_token_create.py +1 -1
  109. label_studio_sdk/types/lseapi_token_list.py +1 -1
  110. label_studio_sdk/types/lsejwt_settings.py +5 -5
  111. label_studio_sdk/types/ml_backend.py +27 -28
  112. label_studio_sdk/types/model_interface.py +12 -12
  113. label_studio_sdk/types/model_interface_request.py +7 -8
  114. label_studio_sdk/types/model_interface_serializer_get.py +13 -13
  115. label_studio_sdk/types/model_provider_connection.py +34 -34
  116. label_studio_sdk/types/model_provider_connection_request.py +15 -14
  117. label_studio_sdk/types/model_run.py +12 -12
  118. label_studio_sdk/types/organization_billing.py +1 -1
  119. label_studio_sdk/types/organization_id.py +2 -2
  120. label_studio_sdk/types/organization_invite.py +1 -1
  121. label_studio_sdk/types/organization_member.py +8 -9
  122. label_studio_sdk/types/organization_membership.py +2 -1
  123. label_studio_sdk/types/paginated_lse_organization_member_list_list.py +23 -0
  124. label_studio_sdk/types/pause.py +23 -23
  125. label_studio_sdk/types/prediction.py +21 -21
  126. label_studio_sdk/types/prediction_request.py +16 -16
  127. label_studio_sdk/types/project.py +72 -72
  128. label_studio_sdk/types/project_import.py +21 -21
  129. label_studio_sdk/types/prompts_status_enum.py +16 -0
  130. label_studio_sdk/types/redis_export_storage.py +34 -34
  131. label_studio_sdk/types/redis_import_storage.py +37 -37
  132. label_studio_sdk/types/refined_prompt_response.py +11 -11
  133. label_studio_sdk/types/review_settings.py +29 -30
  134. label_studio_sdk/types/review_settings_request.py +29 -30
  135. label_studio_sdk/types/role9e7enum.py +5 -0
  136. label_studio_sdk/types/s3export_storage.py +45 -45
  137. label_studio_sdk/types/s3import_storage.py +44 -44
  138. label_studio_sdk/types/selected_items_request.py +1 -1
  139. label_studio_sdk/types/serialization_options.py +10 -10
  140. label_studio_sdk/types/serialization_options_request.py +10 -10
  141. label_studio_sdk/types/task_assignment.py +43 -0
  142. label_studio_sdk/types/third_party_model_version.py +11 -11
  143. label_studio_sdk/types/third_party_model_version_request.py +6 -7
  144. label_studio_sdk/types/type_enum.py +5 -0
  145. label_studio_sdk/types/user_simple.py +3 -3
  146. label_studio_sdk/types/user_simple_request.py +1 -1
  147. label_studio_sdk/types/version_response.py +19 -20
  148. label_studio_sdk/types/view.py +8 -8
  149. label_studio_sdk/types/webhook.py +16 -16
  150. label_studio_sdk/types/webhook_serializer_for_update.py +16 -16
  151. label_studio_sdk/types/workspace.py +10 -11
  152. label_studio_sdk/users/client.py +160 -160
  153. label_studio_sdk/views/client.py +164 -164
  154. label_studio_sdk/webhooks/client.py +183 -183
  155. label_studio_sdk/webhooks/types/webhooks_info_response.py +32 -32
  156. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_created.py +1 -1
  157. label_studio_sdk/webhooks/types/webhooks_info_response_annotation_updated.py +1 -1
  158. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_created.py +1 -1
  159. label_studio_sdk/webhooks/types/webhooks_info_response_annotations_deleted.py +1 -1
  160. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_created.py +1 -1
  161. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_deleted.py +1 -1
  162. label_studio_sdk/webhooks/types/webhooks_info_response_label_link_updated.py +1 -1
  163. label_studio_sdk/webhooks/types/webhooks_info_response_project_created.py +1 -1
  164. label_studio_sdk/webhooks/types/webhooks_info_response_project_deleted.py +1 -1
  165. label_studio_sdk/webhooks/types/webhooks_info_response_project_updated.py +1 -1
  166. label_studio_sdk/webhooks/types/webhooks_info_response_review_created.py +1 -1
  167. label_studio_sdk/webhooks/types/webhooks_info_response_review_updated.py +1 -1
  168. label_studio_sdk/webhooks/types/webhooks_info_response_reviews_deleted.py +1 -1
  169. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_created.py +1 -1
  170. label_studio_sdk/webhooks/types/webhooks_info_response_tasks_deleted.py +1 -1
  171. label_studio_sdk/workspaces/client.py +40 -40
  172. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/METADATA +73 -25
  173. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/RECORD +175 -146
  174. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/LICENSE +0 -0
  175. {label_studio_sdk-2.0.0.dist-info → label_studio_sdk-2.0.2.dist-info}/WHEEL +0 -0
@@ -0,0 +1,43 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import pydantic
5
+ import datetime as dt
6
+ import typing
7
+ from .type_enum import TypeEnum
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
+
10
+
11
+ class TaskAssignment(UncheckedBaseModel):
12
+ assignee: int = pydantic.Field()
13
+ """
14
+ Assigned user
15
+ """
16
+
17
+ created_at: dt.datetime = pydantic.Field()
18
+ """
19
+ Time of assignment
20
+ """
21
+
22
+ id: int
23
+ task: int = pydantic.Field()
24
+ """
25
+ Assigned task
26
+ """
27
+
28
+ type: typing.Optional[TypeEnum] = pydantic.Field(default=None)
29
+ """
30
+ Type of assignment: Annotate|Review
31
+
32
+ * `AN` - Annotate
33
+ * `RE` - Review
34
+ """
35
+
36
+ if IS_PYDANTIC_V2:
37
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
38
+ else:
39
+
40
+ class Config:
41
+ frozen = True
42
+ smart_union = True
43
+ extra = pydantic.Extra.allow
@@ -1,32 +1,29 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import datetime as dt
4
5
  from .user_simple import UserSimple
5
6
  import pydantic
6
7
  import typing
7
8
  from .provider_enum import ProviderEnum
8
- import datetime as dt
9
9
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
10
 
11
11
 
12
12
  class ThirdPartyModelVersion(UncheckedBaseModel):
13
- id: int
13
+ created_at: dt.datetime
14
14
  created_by: UserSimple = pydantic.Field()
15
15
  """
16
16
  User who created Dataset
17
17
  """
18
18
 
19
- score: str
19
+ id: int
20
+ model_provider_connection: typing.Optional[int] = None
21
+ organization: typing.Optional[int] = None
20
22
  parent_model: typing.Optional[int] = pydantic.Field(default=None)
21
23
  """
22
24
  Parent model interface ID
23
25
  """
24
26
 
25
- title: str = pydantic.Field()
26
- """
27
- Model name
28
- """
29
-
30
27
  prompt: str = pydantic.Field()
31
28
  """
32
29
  Prompt to execute
@@ -50,10 +47,13 @@ class ThirdPartyModelVersion(UncheckedBaseModel):
50
47
  The model ID to use within the given provider, e.g. gpt-3.5
51
48
  """
52
49
 
53
- created_at: dt.datetime
50
+ score: str
51
+ title: str = pydantic.Field()
52
+ """
53
+ Model name
54
+ """
55
+
54
56
  updated_at: dt.datetime
55
- model_provider_connection: typing.Optional[int] = None
56
- organization: typing.Optional[int] = None
57
57
 
58
58
  if IS_PYDANTIC_V2:
59
59
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -8,16 +8,13 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
8
 
9
9
 
10
10
  class ThirdPartyModelVersionRequest(UncheckedBaseModel):
11
+ model_provider_connection: typing.Optional[int] = None
12
+ organization: typing.Optional[int] = None
11
13
  parent_model: typing.Optional[int] = pydantic.Field(default=None)
12
14
  """
13
15
  Parent model interface ID
14
16
  """
15
17
 
16
- title: str = pydantic.Field()
17
- """
18
- Model name
19
- """
20
-
21
18
  prompt: str = pydantic.Field()
22
19
  """
23
20
  Prompt to execute
@@ -41,8 +38,10 @@ class ThirdPartyModelVersionRequest(UncheckedBaseModel):
41
38
  The model ID to use within the given provider, e.g. gpt-3.5
42
39
  """
43
40
 
44
- model_provider_connection: typing.Optional[int] = None
45
- organization: typing.Optional[int] = None
41
+ title: str = pydantic.Field()
42
+ """
43
+ Model name
44
+ """
46
45
 
47
46
  if IS_PYDANTIC_V2:
48
47
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ TypeEnum = typing.Union[typing.Literal["AN", "RE"], typing.Any]
@@ -14,11 +14,11 @@ class UserSimple(UncheckedBaseModel):
14
14
  values with complex, nested serializations
15
15
  """
16
16
 
17
- id: int
17
+ avatar: str
18
+ email: typing.Optional[str] = None
18
19
  first_name: typing.Optional[str] = None
20
+ id: int
19
21
  last_name: typing.Optional[str] = None
20
- email: typing.Optional[str] = None
21
- avatar: str
22
22
 
23
23
  if IS_PYDANTIC_V2:
24
24
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -14,9 +14,9 @@ class UserSimpleRequest(UncheckedBaseModel):
14
14
  values with complex, nested serializations
15
15
  """
16
16
 
17
+ email: typing.Optional[str] = None
17
18
  first_name: typing.Optional[str] = None
18
19
  last_name: typing.Optional[str] = None
19
- email: typing.Optional[str] = None
20
20
 
21
21
  if IS_PYDANTIC_V2:
22
22
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -1,33 +1,17 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ from .edition_enum import EditionEnum
4
6
  import pydantic
5
7
  import typing_extensions
6
- import typing
7
8
  from ..core.serialization import FieldMetadata
8
- from .edition_enum import EditionEnum
9
9
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
10
 
11
11
 
12
12
  class VersionResponse(UncheckedBaseModel):
13
- release: str = pydantic.Field()
14
- """
15
- Current release version of Label Studio
16
- """
17
-
18
- label_studio_os_package: typing_extensions.Annotated[
19
- typing.Optional[typing.Any], FieldMetadata(alias="label-studio-os-package")
20
- ] = None
21
- label_studio_os_backend: typing_extensions.Annotated[
22
- typing.Optional[typing.Any], FieldMetadata(alias="label-studio-os-backend")
23
- ] = None
24
- label_studio_frontend: typing_extensions.Annotated[
25
- typing.Optional[typing.Any], FieldMetadata(alias="label-studio-frontend")
26
- ] = None
13
+ backend: typing.Optional[typing.Any] = None
27
14
  dm2: typing.Optional[typing.Any] = None
28
- label_studio_converter: typing_extensions.Annotated[
29
- typing.Optional[typing.Any], FieldMetadata(alias="label-studio-converter")
30
- ] = None
31
15
  edition: EditionEnum = pydantic.Field()
32
16
  """
33
17
  Label Studio edition (Community or Enterprise)
@@ -36,8 +20,23 @@ class VersionResponse(UncheckedBaseModel):
36
20
  * `Enterprise` - Enterprise
37
21
  """
38
22
 
23
+ label_studio_converter: typing_extensions.Annotated[
24
+ typing.Optional[typing.Any], FieldMetadata(alias="label-studio-converter")
25
+ ] = None
26
+ label_studio_frontend: typing_extensions.Annotated[
27
+ typing.Optional[typing.Any], FieldMetadata(alias="label-studio-frontend")
28
+ ] = None
29
+ label_studio_os_backend: typing_extensions.Annotated[
30
+ typing.Optional[typing.Any], FieldMetadata(alias="label-studio-os-backend")
31
+ ] = None
32
+ label_studio_os_package: typing_extensions.Annotated[
33
+ typing.Optional[typing.Any], FieldMetadata(alias="label-studio-os-package")
34
+ ] = None
39
35
  lsf: typing.Optional[typing.Any] = None
40
- backend: typing.Optional[typing.Any] = None
36
+ release: str = pydantic.Field()
37
+ """
38
+ Current release version of Label Studio
39
+ """
41
40
 
42
41
  if IS_PYDANTIC_V2:
43
42
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -8,24 +8,24 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
8
 
9
9
 
10
10
  class View(UncheckedBaseModel):
11
- id: int
12
- filter_group: typing.Optional[FilterGroup] = None
13
11
  data: typing.Optional[typing.Optional[typing.Any]] = None
14
- ordering: typing.Optional[typing.Optional[typing.Any]] = None
12
+ filter_group: typing.Optional[FilterGroup] = None
13
+ id: int
15
14
  order: typing.Optional[int] = pydantic.Field(default=None)
16
15
  """
17
16
  Position of the tab, starting at the left in data manager and increasing as the tabs go left to right
18
17
  """
19
18
 
20
- selected_items: typing.Optional[typing.Optional[typing.Any]] = None
21
- user: typing.Optional[int] = pydantic.Field(default=None)
19
+ ordering: typing.Optional[typing.Optional[typing.Any]] = None
20
+ project: int = pydantic.Field()
22
21
  """
23
- User who made this view
22
+ Project ID
24
23
  """
25
24
 
26
- project: int = pydantic.Field()
25
+ selected_items: typing.Optional[typing.Optional[typing.Any]] = None
26
+ user: typing.Optional[int] = pydantic.Field(default=None)
27
27
  """
28
- Project ID
28
+ User who made this view
29
29
  """
30
30
 
31
31
  if IS_PYDANTIC_V2:
@@ -2,46 +2,46 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
- import pydantic
6
5
  from .actions_enum import ActionsEnum
7
6
  import datetime as dt
7
+ import pydantic
8
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
11
11
  class Webhook(UncheckedBaseModel):
12
- id: int
13
- organization: int
14
- project: typing.Optional[int] = None
15
- url: str = pydantic.Field()
12
+ actions: typing.Optional[typing.List[ActionsEnum]] = None
13
+ created_at: dt.datetime = pydantic.Field()
16
14
  """
17
- URL of webhook
15
+ Creation time
18
16
  """
19
17
 
20
- send_payload: typing.Optional[bool] = pydantic.Field(default=None)
18
+ headers: typing.Optional[typing.Optional[typing.Any]] = None
19
+ id: int
20
+ is_active: typing.Optional[bool] = pydantic.Field(default=None)
21
21
  """
22
- If value is False send only action
22
+ If value is False the webhook is disabled
23
23
  """
24
24
 
25
+ organization: int
26
+ project: typing.Optional[int] = None
25
27
  send_for_all_actions: typing.Optional[bool] = pydantic.Field(default=None)
26
28
  """
27
29
  If value is False - used only for actions from WebhookAction
28
30
  """
29
31
 
30
- headers: typing.Optional[typing.Optional[typing.Any]] = None
31
- is_active: typing.Optional[bool] = pydantic.Field(default=None)
32
+ send_payload: typing.Optional[bool] = pydantic.Field(default=None)
32
33
  """
33
- If value is False the webhook is disabled
34
+ If value is False send only action
34
35
  """
35
36
 
36
- actions: typing.Optional[typing.List[ActionsEnum]] = None
37
- created_at: dt.datetime = pydantic.Field()
37
+ updated_at: dt.datetime = pydantic.Field()
38
38
  """
39
- Creation time
39
+ Last update time
40
40
  """
41
41
 
42
- updated_at: dt.datetime = pydantic.Field()
42
+ url: str = pydantic.Field()
43
43
  """
44
- Last update time
44
+ URL of webhook
45
45
  """
46
46
 
47
47
  if IS_PYDANTIC_V2:
@@ -2,9 +2,9 @@
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
- import pydantic
6
5
  from .actions_enum import ActionsEnum
7
6
  import datetime as dt
7
+ import pydantic
8
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
@@ -15,39 +15,39 @@ class WebhookSerializerForUpdate(UncheckedBaseModel):
15
15
  Used to forbid updating project field.
16
16
  """
17
17
 
18
- id: int
19
- organization: int
20
- project: typing.Optional[int] = None
21
- url: str = pydantic.Field()
18
+ actions: typing.Optional[typing.List[ActionsEnum]] = None
19
+ created_at: dt.datetime = pydantic.Field()
22
20
  """
23
- URL of webhook
21
+ Creation time
24
22
  """
25
23
 
26
- send_payload: typing.Optional[bool] = pydantic.Field(default=None)
24
+ headers: typing.Optional[typing.Optional[typing.Any]] = None
25
+ id: int
26
+ is_active: typing.Optional[bool] = pydantic.Field(default=None)
27
27
  """
28
- If value is False send only action
28
+ If value is False the webhook is disabled
29
29
  """
30
30
 
31
+ organization: int
32
+ project: typing.Optional[int] = None
31
33
  send_for_all_actions: typing.Optional[bool] = pydantic.Field(default=None)
32
34
  """
33
35
  If value is False - used only for actions from WebhookAction
34
36
  """
35
37
 
36
- headers: typing.Optional[typing.Optional[typing.Any]] = None
37
- is_active: typing.Optional[bool] = pydantic.Field(default=None)
38
+ send_payload: typing.Optional[bool] = pydantic.Field(default=None)
38
39
  """
39
- If value is False the webhook is disabled
40
+ If value is False send only action
40
41
  """
41
42
 
42
- actions: typing.Optional[typing.List[ActionsEnum]] = None
43
- created_at: dt.datetime = pydantic.Field()
43
+ updated_at: dt.datetime = pydantic.Field()
44
44
  """
45
- Creation time
45
+ Last update time
46
46
  """
47
47
 
48
- updated_at: dt.datetime = pydantic.Field()
48
+ url: str = pydantic.Field()
49
49
  """
50
- Last update time
50
+ URL of webhook
51
51
  """
52
52
 
53
53
  if IS_PYDANTIC_V2:
@@ -1,8 +1,8 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  from ..core.unchecked_base_model import UncheckedBaseModel
4
- import pydantic
5
4
  import typing
5
+ import pydantic
6
6
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
7
 
8
8
 
@@ -14,30 +14,29 @@ class Workspace(UncheckedBaseModel):
14
14
  values with complex, nested serializations
15
15
  """
16
16
 
17
- id: int
18
- title: str = pydantic.Field()
17
+ color: typing.Optional[str] = None
18
+ created_by: int
19
+ description: typing.Optional[str] = pydantic.Field(default=None)
19
20
  """
20
- Workspace name
21
+ Workspace description
21
22
  """
22
23
 
23
- description: typing.Optional[str] = pydantic.Field(default=None)
24
+ id: int
25
+ is_archived: typing.Optional[bool] = pydantic.Field(default=None)
24
26
  """
25
- Workspace description
27
+ Workspace is archived
26
28
  """
27
29
 
28
- color: typing.Optional[str] = None
29
30
  is_personal: typing.Optional[bool] = pydantic.Field(default=None)
30
31
  """
31
32
  Workspace is a personal user workspace
32
33
  """
33
34
 
34
- is_archived: typing.Optional[bool] = pydantic.Field(default=None)
35
+ title: str = pydantic.Field()
35
36
  """
36
- Workspace is archived
37
+ Workspace name
37
38
  """
38
39
 
39
- created_by: int
40
-
41
40
  if IS_PYDANTIC_V2:
42
41
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
43
42
  else: