egain-api-python 0.1.2__py3-none-any.whl → 0.1.4__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 (57) hide show
  1. egain_api_python/_version.py +3 -3
  2. egain_api_python/answers.py +26 -38
  3. egain_api_python/articlelists.py +10 -10
  4. egain_api_python/connectorssearchevents.py +4 -4
  5. egain_api_python/errors/gethealthop.py +33 -19
  6. egain_api_python/escalation.py +8 -8
  7. egain_api_python/export.py +6 -6
  8. egain_api_python/federatedsearchevent.py +2 -2
  9. egain_api_python/general.py +8 -8
  10. egain_api_python/guidedhelp.py +26 -26
  11. egain_api_python/health.py +2 -8
  12. egain_api_python/import_.py +56 -74
  13. egain_api_python/models/__init__.py +106 -95
  14. egain_api_python/models/aisearchop.py +6 -34
  15. egain_api_python/models/aisearchresponse.py +0 -4
  16. egain_api_python/models/answersrequest.py +0 -31
  17. egain_api_python/models/answersresponse.py +9 -11
  18. egain_api_python/models/articleaisearchresult.py +16 -45
  19. egain_api_python/models/articletype.py +3 -5
  20. egain_api_python/models/{getimportcontentop.py → cancelimportop.py} +3 -3
  21. egain_api_python/models/{createimportop.py → createimportjobop.py} +3 -3
  22. egain_api_python/models/{createimportvalidationop.py → createimportvalidationjobop.py} +3 -3
  23. egain_api_python/models/exportstatus.py +15 -8
  24. egain_api_python/models/getannouncementarticlesop.py +2 -2
  25. egain_api_python/models/getarticlelistdetailsop.py +2 -2
  26. egain_api_python/models/getarticlesintopicop.py +4 -4
  27. egain_api_python/models/getbestanswerop.py +6 -6
  28. egain_api_python/models/gethealthop.py +134 -7
  29. egain_api_python/models/{patchimportcontentvalidationop.py → getimportstatusop.py} +3 -3
  30. egain_api_python/models/getpopulararticlesop.py +4 -4
  31. egain_api_python/models/getrelatedarticlesop.py +2 -2
  32. egain_api_python/models/importstatus.py +116 -0
  33. egain_api_python/models/knowledgeexport.py +3 -5
  34. egain_api_python/models/referenceresponse.py +7 -23
  35. egain_api_python/models/retrievechunksop.py +6 -6
  36. egain_api_python/models/retrieveresponse.py +10 -12
  37. egain_api_python/models/searchresult.py +7 -23
  38. egain_api_python/populararticles.py +14 -14
  39. egain_api_python/portal_article.py +64 -64
  40. egain_api_python/portal_attachment.py +4 -4
  41. egain_api_python/portal_bookmark.py +6 -6
  42. egain_api_python/portal_suggestion.py +18 -18
  43. egain_api_python/portal_topic.py +8 -8
  44. egain_api_python/portal_userdetails.py +2 -2
  45. egain_api_python/portal_userprofile.py +4 -4
  46. egain_api_python/retrieve.py +22 -28
  47. egain_api_python/sdk.py +25 -24
  48. egain_api_python/sdkconfiguration.py +3 -4
  49. egain_api_python/search.py +24 -40
  50. egain_api_python/usermilestones.py +2 -2
  51. {egain_api_python-0.1.2.dist-info → egain_api_python-0.1.4.dist-info}/METADATA +44 -78
  52. {egain_api_python-0.1.2.dist-info → egain_api_python-0.1.4.dist-info}/RECORD +55 -57
  53. egain_api_python/models/resourcetype_parameter.py +0 -10
  54. egain_api_python/models/topicaisearchresult.py +0 -67
  55. {egain_api_python-0.1.2.dist-info → egain_api_python-0.1.4.dist-info}/WHEEL +0 -0
  56. {egain_api_python-0.1.2.dist-info → egain_api_python-0.1.4.dist-info}/licenses/LICENSE +0 -0
  57. {egain_api_python-0.1.2.dist-info → egain_api_python-0.1.4.dist-info}/top_level.txt +0 -0
@@ -3,7 +3,6 @@
3
3
  from __future__ import annotations
4
4
  from .articleaisearchresult import ArticleAISearchResult, ArticleAISearchResultTypedDict
5
5
  from .paginationinfo import PaginationInfo, PaginationInfoTypedDict
6
- from .topicaisearchresult import TopicAISearchResult, TopicAISearchResultTypedDict
7
6
  from egain_api_python.types import BaseModel
8
7
  import pydantic
9
8
  from typing import List, Literal, Optional
@@ -36,7 +35,6 @@ class SearchResultsTypedDict(TypedDict):
36
35
  r"""Top search results with relevance scores"""
37
36
 
38
37
  article: NotRequired[List[ArticleAISearchResultTypedDict]]
39
- topic: NotRequired[List[TopicAISearchResultTypedDict]]
40
38
 
41
39
 
42
40
  class SearchResults(BaseModel):
@@ -44,8 +42,6 @@ class SearchResults(BaseModel):
44
42
 
45
43
  article: Optional[List[ArticleAISearchResult]] = None
46
44
 
47
- topic: Optional[List[TopicAISearchResult]] = None
48
-
49
45
 
50
46
  class AISearchResponseTypedDict(TypedDict):
51
47
  channel: NotRequired[AISearchResponseChannelTypedDict]
@@ -29,36 +29,8 @@ class AnswersRequestChannel(BaseModel):
29
29
  r"""A descriptive name for the channel (e.g., \"web\", \"mobile app\", \"agent console\")."""
30
30
 
31
31
 
32
- class ContextTypedDict(TypedDict):
33
- r"""Additional contextual metadata that enriches the query, providing the LLM with relevant details for tailoring the response."""
34
-
35
- user_context: NotRequired[str]
36
- r"""Information about the end user (e.g., preferences, profile data, or behavioral signals)."""
37
- page_context: NotRequired[str]
38
- r"""Details about the UI or page where the query was initiated (e.g., page URL, section, or component)."""
39
- company_context: NotRequired[str]
40
- r"""Information about the organization associated with the user, used for tailoring responses in enterprise environments."""
41
-
42
-
43
- class Context(BaseModel):
44
- r"""Additional contextual metadata that enriches the query, providing the LLM with relevant details for tailoring the response."""
45
-
46
- user_context: Annotated[Optional[str], pydantic.Field(alias="userContext")] = None
47
- r"""Information about the end user (e.g., preferences, profile data, or behavioral signals)."""
48
-
49
- page_context: Annotated[Optional[str], pydantic.Field(alias="pageContext")] = None
50
- r"""Details about the UI or page where the query was initiated (e.g., page URL, section, or component)."""
51
-
52
- company_context: Annotated[
53
- Optional[str], pydantic.Field(alias="companyContext")
54
- ] = None
55
- r"""Information about the organization associated with the user, used for tailoring responses in enterprise environments."""
56
-
57
-
58
32
  class AnswersRequestTypedDict(TypedDict):
59
33
  channel: NotRequired[AnswersRequestChannelTypedDict]
60
- context: NotRequired[ContextTypedDict]
61
- r"""Additional contextual metadata that enriches the query, providing the LLM with relevant details for tailoring the response."""
62
34
  event_id: NotRequired[str]
63
35
  r"""Unique ID for this specific API call or event."""
64
36
  session_id: NotRequired[str]
@@ -68,9 +40,6 @@ class AnswersRequestTypedDict(TypedDict):
68
40
  class AnswersRequest(BaseModel):
69
41
  channel: Optional[AnswersRequestChannel] = None
70
42
 
71
- context: Optional[Context] = None
72
- r"""Additional contextual metadata that enriches the query, providing the LLM with relevant details for tailoring the response."""
73
-
74
43
  event_id: Annotated[Optional[str], pydantic.Field(alias="eventId")] = None
75
44
  r"""Unique ID for this specific API call or event."""
76
45
 
@@ -66,28 +66,26 @@ class AnswersResponseChannel(BaseModel):
66
66
 
67
67
 
68
68
  class AnswersResponseTypedDict(TypedDict):
69
- answer: NotRequired[AnswersResponseAnswerTypedDict]
70
- search_results: NotRequired[List[SearchResultTypedDict]]
69
+ answer: AnswersResponseAnswerTypedDict
70
+ search_results: List[SearchResultTypedDict]
71
71
  r"""List of top search results used to support the answer. Includes snippets, metadata, and relevance scores."""
72
- channel: NotRequired[AnswersResponseChannelTypedDict]
73
- session_id: NotRequired[str]
72
+ session_id: str
74
73
  r"""ID that ties multiple API calls to the same user session. Will be used as part of to tie events back to a session."""
74
+ channel: NotRequired[AnswersResponseChannelTypedDict]
75
75
  event_id: NotRequired[str]
76
76
  r"""Unique ID for this specific API call or event."""
77
77
 
78
78
 
79
79
  class AnswersResponse(BaseModel):
80
- answer: Optional[AnswersResponseAnswer] = None
80
+ answer: AnswersResponseAnswer
81
81
 
82
- search_results: Annotated[
83
- Optional[List[SearchResult]], pydantic.Field(alias="searchResults")
84
- ] = None
82
+ search_results: Annotated[List[SearchResult], pydantic.Field(alias="searchResults")]
85
83
  r"""List of top search results used to support the answer. Includes snippets, metadata, and relevance scores."""
86
84
 
87
- channel: Optional[AnswersResponseChannel] = None
88
-
89
- session_id: Annotated[Optional[str], pydantic.Field(alias="sessionId")] = None
85
+ session_id: Annotated[str, pydantic.Field(alias="sessionId")]
90
86
  r"""ID that ties multiple API calls to the same user session. Will be used as part of to tie events back to a session."""
91
87
 
88
+ channel: Optional[AnswersResponseChannel] = None
89
+
92
90
  event_id: Annotated[Optional[str], pydantic.Field(alias="eventId")] = None
93
91
  r"""Unique ID for this specific API call or event."""
@@ -6,7 +6,7 @@ from .schemas_tags import SchemasTags, SchemasTagsTypedDict
6
6
  from .topicbreadcrumb import TopicBreadcrumb, TopicBreadcrumbTypedDict
7
7
  from egain_api_python.types import BaseModel
8
8
  import pydantic
9
- from typing import List, Literal, Optional
9
+ from typing import Any, List, Literal, Optional
10
10
  from typing_extensions import Annotated, NotRequired, TypedDict
11
11
 
12
12
 
@@ -54,47 +54,26 @@ class ArticleAISearchResultCustomAttribute(BaseModel):
54
54
  r"""The custom attribute's type."""
55
55
 
56
56
 
57
- class OpensearchHighlightingRawTypedDict(TypedDict):
58
- r"""Article content used for highlighting a keyword search result"""
59
-
60
- article_content: NotRequired[List[str]]
61
-
62
-
63
- class OpensearchHighlightingRaw(BaseModel):
64
- r"""Article content used for highlighting a keyword search result"""
65
-
66
- article_content: Annotated[
67
- Optional[List[str]], pydantic.Field(alias="articleContent")
68
- ] = None
69
-
70
-
71
- ArticleAISearchResultTypeName = Literal[
72
- "General",
73
- "Guided Help",
74
- "Data Link",
75
- "Topic Home",
76
- "Suggestion",
77
- "Virtaul Assistant Action",
78
- "Rich Message",
79
- ]
80
- r"""Indicates the article category name."""
81
-
82
-
83
57
  class ArticleTypeAttributesTypedDict(TypedDict):
84
- r"""The type of the Article."""
58
+ r"""The type of the Article and its attributes."""
85
59
 
86
- type_name: NotRequired[ArticleAISearchResultTypeName]
60
+ type_name: NotRequired[str]
87
61
  r"""Indicates the article category name."""
62
+ article_type_id: NotRequired[Any]
63
+ r"""The ID of the Article Type."""
88
64
 
89
65
 
90
66
  class ArticleTypeAttributes(BaseModel):
91
- r"""The type of the Article."""
67
+ r"""The type of the Article and its attributes."""
92
68
 
93
- type_name: Annotated[
94
- Optional[ArticleAISearchResultTypeName], pydantic.Field(alias="typeName")
95
- ] = None
69
+ type_name: Annotated[Optional[str], pydantic.Field(alias="typeName")] = None
96
70
  r"""Indicates the article category name."""
97
71
 
72
+ article_type_id: Annotated[Optional[Any], pydantic.Field(alias="articleTypeId")] = (
73
+ None
74
+ )
75
+ r"""The ID of the Article Type."""
76
+
98
77
 
99
78
  class ArticleAISearchResultLinkTypedDict(TypedDict):
100
79
  r"""Defines the relationship between this resource and another object."""
@@ -127,7 +106,7 @@ class ArticleAISearchResultTypedDict(TypedDict):
127
106
  source: ArticleAISearchResultSource
128
107
  r"""The source type."""
129
108
  snippet: str
130
- r"""A snippet of the article content."""
109
+ r"""A semantic snippet of the article content."""
131
110
  topic_breadcrumb: List[TopicBreadcrumbTypedDict]
132
111
  r"""A list of topics from the root topic to this Article. There may be multiple paths."""
133
112
  relevance_score: float
@@ -142,8 +121,6 @@ class ArticleAISearchResultTypedDict(TypedDict):
142
121
  r"""An array of snippets belonging to the same article."""
143
122
  additional_snippet_count: NotRequired[int]
144
123
  r"""Number of additional snippets."""
145
- opensearch_highlighting_raw: NotRequired[OpensearchHighlightingRawTypedDict]
146
- r"""Article content used for highlighting a keyword search result"""
147
124
  contextual_summary: NotRequired[str]
148
125
  r"""Contextual Summary generated as part of metadata for embedding."""
149
126
  description: NotRequired[str]
@@ -158,7 +135,7 @@ class ArticleAISearchResultTypedDict(TypedDict):
158
135
  r"""An array of tag categories. Note that the total number of tag categories cannot exceed 20."""
159
136
  keywords: NotRequired[str]
160
137
  article_type_attributes: NotRequired[ArticleTypeAttributesTypedDict]
161
- r"""The type of the Article."""
138
+ r"""The type of the Article and its attributes."""
162
139
  link: NotRequired[ArticleAISearchResultLinkTypedDict]
163
140
  r"""Defines the relationship between this resource and another object."""
164
141
 
@@ -179,7 +156,7 @@ class ArticleAISearchResult(BaseModel):
179
156
  r"""The source type."""
180
157
 
181
158
  snippet: str
182
- r"""A snippet of the article content."""
159
+ r"""A semantic snippet of the article content."""
183
160
 
184
161
  topic_breadcrumb: Annotated[
185
162
  List[TopicBreadcrumb], pydantic.Field(alias="topicBreadcrumb")
@@ -213,12 +190,6 @@ class ArticleAISearchResult(BaseModel):
213
190
  ] = None
214
191
  r"""Number of additional snippets."""
215
192
 
216
- opensearch_highlighting_raw: Annotated[
217
- Optional[OpensearchHighlightingRaw],
218
- pydantic.Field(alias="opensearchHighlightingRaw"),
219
- ] = None
220
- r"""Article content used for highlighting a keyword search result"""
221
-
222
193
  contextual_summary: Annotated[
223
194
  Optional[str], pydantic.Field(alias="contextualSummary")
224
195
  ] = None
@@ -248,7 +219,7 @@ class ArticleAISearchResult(BaseModel):
248
219
  article_type_attributes: Annotated[
249
220
  Optional[ArticleTypeAttributes], pydantic.Field(alias="articleTypeAttributes")
250
221
  ] = None
251
- r"""The type of the Article."""
222
+ r"""The type of the Article and its attributes."""
252
223
 
253
224
  link: Optional[ArticleAISearchResultLink] = None
254
225
  r"""Defines the relationship between this resource and another object."""
@@ -7,7 +7,7 @@ from typing import Literal, Optional
7
7
  from typing_extensions import Annotated, NotRequired, TypedDict
8
8
 
9
9
 
10
- ArticleTypeTypeName = Literal[
10
+ TypeName = Literal[
11
11
  "General",
12
12
  "Guided Help",
13
13
  "Data Link",
@@ -24,7 +24,7 @@ class ArticleTypeTypedDict(TypedDict):
24
24
 
25
25
  article_category_id: NotRequired[int]
26
26
  r"""Specifies the article category ID."""
27
- type_name: NotRequired[ArticleTypeTypeName]
27
+ type_name: NotRequired[TypeName]
28
28
  r"""Indicates the article category name."""
29
29
  use_structured_authoring: NotRequired[bool]
30
30
  r"""Indicates whether to use Structured Authoring for the Article Type."""
@@ -40,9 +40,7 @@ class ArticleType(BaseModel):
40
40
  ] = None
41
41
  r"""Specifies the article category ID."""
42
42
 
43
- type_name: Annotated[
44
- Optional[ArticleTypeTypeName], pydantic.Field(alias="typeName")
45
- ] = None
43
+ type_name: Annotated[Optional[TypeName], pydantic.Field(alias="typeName")] = None
46
44
  r"""Indicates the article category name."""
47
45
 
48
46
  use_structured_authoring: Annotated[
@@ -6,13 +6,13 @@ from egain_api_python.utils import FieldMetadata, PathParamMetadata
6
6
  from typing_extensions import Annotated, TypedDict
7
7
 
8
8
 
9
- GET_IMPORT_CONTENT_OP_SERVERS = [
9
+ CANCEL_IMPORT_OP_SERVERS = [
10
10
  # Production Server
11
11
  "https://${API_DOMAIN}/knowledge/contentmgr/v4",
12
12
  ]
13
13
 
14
14
 
15
- class GetImportContentRequestTypedDict(TypedDict):
15
+ class CancelImportRequestTypedDict(TypedDict):
16
16
  job_id: str
17
17
  r"""**Job ID Parameter**
18
18
 
@@ -28,7 +28,7 @@ class GetImportContentRequestTypedDict(TypedDict):
28
28
  """
29
29
 
30
30
 
31
- class GetImportContentRequest(BaseModel):
31
+ class CancelImportRequest(BaseModel):
32
32
  job_id: Annotated[
33
33
  str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
34
34
  ]
@@ -6,15 +6,15 @@ from typing import Dict, List
6
6
  from typing_extensions import TypedDict
7
7
 
8
8
 
9
- CREATE_IMPORT_OP_SERVERS = [
9
+ CREATE_IMPORT_JOB_OP_SERVERS = [
10
10
  # Production Server
11
11
  "https://${API_DOMAIN}/knowledge/contentmgr/v4",
12
12
  ]
13
13
 
14
14
 
15
- class CreateImportResponseTypedDict(TypedDict):
15
+ class CreateImportJobResponseTypedDict(TypedDict):
16
16
  headers: Dict[str, List[str]]
17
17
 
18
18
 
19
- class CreateImportResponse(BaseModel):
19
+ class CreateImportJobResponse(BaseModel):
20
20
  headers: Dict[str, List[str]]
@@ -6,15 +6,15 @@ from typing import Dict, List
6
6
  from typing_extensions import TypedDict
7
7
 
8
8
 
9
- CREATE_IMPORT_VALIDATION_OP_SERVERS = [
9
+ CREATE_IMPORT_VALIDATION_JOB_OP_SERVERS = [
10
10
  # Production Server
11
11
  "https://${API_DOMAIN}/knowledge/contentmgr/v4",
12
12
  ]
13
13
 
14
14
 
15
- class CreateImportValidationResponseTypedDict(TypedDict):
15
+ class CreateImportValidationJobResponseTypedDict(TypedDict):
16
16
  headers: Dict[str, List[str]]
17
17
 
18
18
 
19
- class CreateImportValidationResponse(BaseModel):
19
+ class CreateImportValidationJobResponse(BaseModel):
20
20
  headers: Dict[str, List[str]]
@@ -16,7 +16,7 @@ ExportStatusStatus = Literal[
16
16
  ]
17
17
 
18
18
 
19
- class ProgressTypedDict(TypedDict):
19
+ class ExportStatusProgressTypedDict(TypedDict):
20
20
  r"""Details about the job's progress."""
21
21
 
22
22
  processed: NotRequired[int]
@@ -27,7 +27,7 @@ class ProgressTypedDict(TypedDict):
27
27
  r"""The percentage of the job that is complete."""
28
28
 
29
29
 
30
- class Progress(BaseModel):
30
+ class ExportStatusProgress(BaseModel):
31
31
  r"""Details about the job's progress."""
32
32
 
33
33
  processed: Optional[int] = None
@@ -40,7 +40,7 @@ class Progress(BaseModel):
40
40
  r"""The percentage of the job that is complete."""
41
41
 
42
42
 
43
- class ResultsTypedDict(TypedDict):
43
+ class ExportStatusResultsTypedDict(TypedDict):
44
44
  r"""Breakdown of completed job results."""
45
45
 
46
46
  successful: NotRequired[int]
@@ -51,7 +51,7 @@ class ResultsTypedDict(TypedDict):
51
51
  r"""The count of items with errors."""
52
52
 
53
53
 
54
- class Results(BaseModel):
54
+ class ExportStatusResults(BaseModel):
55
55
  r"""Breakdown of completed job results."""
56
56
 
57
57
  successful: Optional[int] = None
@@ -66,15 +66,17 @@ class Results(BaseModel):
66
66
 
67
67
  class ExportStatusTypedDict(TypedDict):
68
68
  status: ExportStatusStatus
69
- progress: NotRequired[ProgressTypedDict]
69
+ progress: NotRequired[ExportStatusProgressTypedDict]
70
70
  r"""Details about the job's progress."""
71
71
  start_time: NotRequired[datetime]
72
72
  r"""The timestamp when the job started."""
73
73
  estimated_completion: NotRequired[datetime]
74
74
  r"""The estimated timestamp when the job is expected to finish."""
75
+ completion_time: NotRequired[datetime]
76
+ r"""The timestamp when the job completed."""
75
77
  failure_time: NotRequired[datetime]
76
78
  r"""The timestamp when the job failed."""
77
- results: NotRequired[ResultsTypedDict]
79
+ results: NotRequired[ExportStatusResultsTypedDict]
78
80
  r"""Breakdown of completed job results."""
79
81
  error: NotRequired[str]
80
82
  r"""A description of the job failure reason."""
@@ -83,7 +85,7 @@ class ExportStatusTypedDict(TypedDict):
83
85
  class ExportStatus(BaseModel):
84
86
  status: ExportStatusStatus
85
87
 
86
- progress: Optional[Progress] = None
88
+ progress: Optional[ExportStatusProgress] = None
87
89
  r"""Details about the job's progress."""
88
90
 
89
91
  start_time: Annotated[Optional[datetime], pydantic.Field(alias="startTime")] = None
@@ -94,12 +96,17 @@ class ExportStatus(BaseModel):
94
96
  ] = None
95
97
  r"""The estimated timestamp when the job is expected to finish."""
96
98
 
99
+ completion_time: Annotated[
100
+ Optional[datetime], pydantic.Field(alias="completionTime")
101
+ ] = None
102
+ r"""The timestamp when the job completed."""
103
+
97
104
  failure_time: Annotated[Optional[datetime], pydantic.Field(alias="failureTime")] = (
98
105
  None
99
106
  )
100
107
  r"""The timestamp when the job failed."""
101
108
 
102
- results: Optional[Results] = None
109
+ results: Optional[ExportStatusResults] = None
103
110
  r"""Breakdown of completed job results."""
104
111
 
105
112
  error: Optional[str] = None
@@ -22,7 +22,7 @@ class GetAnnouncementArticlesRequestTypedDict(TypedDict):
22
22
  r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
23
23
  portal_id: str
24
24
  r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
25
- dollar_filter_tags: NotRequired[str]
25
+ filter_tags: NotRequired[str]
26
26
  r"""A comma separated list of Tag / Tag Group IDs. The query results will be filtered by the tags that are specified.<br><br>Tag IDs and Tag Group IDs can be mixed together."""
27
27
  article_result_additional_attributes: NotRequired[
28
28
  List[ArticleResultAdditionalAttributes]
@@ -72,7 +72,7 @@ class GetAnnouncementArticlesRequest(BaseModel):
72
72
  ]
73
73
  r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
74
74
 
75
- dollar_filter_tags: Annotated[
75
+ filter_tags: Annotated[
76
76
  Optional[str],
77
77
  pydantic.Field(alias="$filter[tags]"),
78
78
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -23,7 +23,7 @@ class GetArticleListDetailsRequestTypedDict(TypedDict):
23
23
  r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
24
24
  list_id: str
25
25
  r"""The ID of the list to be returned."""
26
- dollar_filter_topic_id: NotRequired[str]
26
+ filter_topic_id: NotRequired[str]
27
27
  r"""The ID of the topic. It is used to restrict to a specific topic."""
28
28
  article_result_additional_attributes: NotRequired[
29
29
  List[ArticleResultAdditionalAttributes]
@@ -74,7 +74,7 @@ class GetArticleListDetailsRequest(BaseModel):
74
74
  ]
75
75
  r"""The ID of the list to be returned."""
76
76
 
77
- dollar_filter_topic_id: Annotated[
77
+ filter_topic_id: Annotated[
78
78
  Optional[str],
79
79
  pydantic.Field(alias="$filter[topicId]"),
80
80
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -24,7 +24,7 @@ class GetArticlesInTopicRequestTypedDict(TypedDict):
24
24
  r"""The Language locale accepted by the client (used for locale specific fields in resource representation and in error responses)."""
25
25
  portal_id: str
26
26
  r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
27
- dollar_filter_topic_id: str
27
+ filter_topic_id: str
28
28
  r"""The ID of the topic. It is used to restrict to a specific topic."""
29
29
  search_profile_id: NotRequired[str]
30
30
  r"""Search Profile ID"""
@@ -51,7 +51,7 @@ class GetArticlesInTopicRequestTypedDict(TypedDict):
51
51
  | versionId | The ID of the Article version that is returned.
52
52
 
53
53
  """
54
- dollar_filter_tags: NotRequired[str]
54
+ filter_tags: NotRequired[str]
55
55
  r"""A comma separated list of Tag / Tag Group IDs. The query results will be filtered by the tags that are specified.<br><br>Tag IDs and Tag Group IDs can be mixed together."""
56
56
  workflow_milestone: NotRequired[WorkflowMilestone]
57
57
  r"""For agents with the View Author Portal or View Staging Portal actions, this determines which version of the Article is returned.<li>'Authoring' returns the most recent version of an Article checked-in by an author.</li><li>'Staging' returns the updated version currently being processed in a workflow.</li><li>'Publish' returns the most recently published version.</li>"""
@@ -82,7 +82,7 @@ class GetArticlesInTopicRequest(BaseModel):
82
82
  ]
83
83
  r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
84
84
 
85
- dollar_filter_topic_id: Annotated[
85
+ filter_topic_id: Annotated[
86
86
  str,
87
87
  pydantic.Field(alias="$filter[topicId]"),
88
88
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -122,7 +122,7 @@ class GetArticlesInTopicRequest(BaseModel):
122
122
 
123
123
  """
124
124
 
125
- dollar_filter_tags: Annotated[
125
+ filter_tags: Annotated[
126
126
  Optional[str],
127
127
  pydantic.Field(alias="$filter[tags]"),
128
128
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -26,15 +26,15 @@ class GetBestAnswerRequestTypedDict(TypedDict):
26
26
  r"""The search query string. The string must be escaped as required by the URL syntax rules."""
27
27
  portal_id: str
28
28
  r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
29
- dollar_filter_user_profile_id: NotRequired[str]
29
+ filter_user_profile_id: NotRequired[str]
30
30
  language: NotRequired[LanguageCodeParameter]
31
31
  r"""The language that describes the details of a resource. Resources available in different languages may differ from each other. <br><br> If lang is not passed, then the portal's default language is used."""
32
- dollar_filter_tags: NotRequired[Dict[str, List[str]]]
32
+ filter_tags: NotRequired[Dict[str, List[str]]]
33
33
  r"""An object where each key is a **Category Tag ID** (numeric string),
34
34
  and each value is an array of **Tag IDs** for that category.
35
35
 
36
36
  """
37
- dollar_filter_topic_ids: NotRequired[List[str]]
37
+ filter_topic_ids: NotRequired[List[str]]
38
38
  r"""An array of topic IDs. It is used to restrict search results to specific topics."""
39
39
  answers_request: NotRequired[AnswersRequestTypedDict]
40
40
 
@@ -52,7 +52,7 @@ class GetBestAnswerRequest(BaseModel):
52
52
  ]
53
53
  r"""The ID of the portal being accessed.<br><br>A portal ID is composed of a 2-4 letter prefix, followed by a dash and 4-15 digits."""
54
54
 
55
- dollar_filter_user_profile_id: Annotated[
55
+ filter_user_profile_id: Annotated[
56
56
  Optional[str],
57
57
  pydantic.Field(alias="$filter[userProfileID]"),
58
58
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -65,7 +65,7 @@ class GetBestAnswerRequest(BaseModel):
65
65
  ] = None
66
66
  r"""The language that describes the details of a resource. Resources available in different languages may differ from each other. <br><br> If lang is not passed, then the portal's default language is used."""
67
67
 
68
- dollar_filter_tags: Annotated[
68
+ filter_tags: Annotated[
69
69
  Optional[Dict[str, List[str]]],
70
70
  pydantic.Field(alias="$filter[tags]"),
71
71
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -75,7 +75,7 @@ class GetBestAnswerRequest(BaseModel):
75
75
 
76
76
  """
77
77
 
78
- dollar_filter_topic_ids: Annotated[
78
+ filter_topic_ids: Annotated[
79
79
  Optional[List[str]],
80
80
  pydantic.Field(alias="$filter[topicIds]"),
81
81
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),