neurograph-core 1.202509282026__py3-none-any.whl → 1.202510052316__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 (30) hide show
  1. neurograph/v1/__init__.py +25 -218
  2. neurograph/v1/api/__init__.py +2 -29
  3. neurograph/v1/api/admin_api.py +549 -1
  4. neurograph/v1/api/client_api.py +263 -0
  5. neurograph/v1/api/knowledge_api.py +296 -0
  6. neurograph/v1/api/knowledge_extract_api.py +1 -1
  7. neurograph/v1/api/lookup_api.py +2 -0
  8. neurograph/v1/api/organization_api.py +528 -1
  9. neurograph/v1/api/reporting_api.py +1475 -0
  10. neurograph/v1/api/user_api.py +18 -1092
  11. neurograph/v1/api_client.py +4 -4
  12. neurograph/v1/models/__init__.py +12 -189
  13. neurograph/v1/models/knowledge_enrichment_artifact_create_request.py +3 -1
  14. neurograph/v1/models/knowledge_enrichment_query.py +3 -1
  15. neurograph/v1/models/knowledge_product.py +103 -0
  16. neurograph/v1/models/knowledge_product_upsert_request.py +95 -0
  17. neurograph/v1/models/knowledge_product_upsert_response.py +99 -0
  18. neurograph/v1/models/{db_lookup_environment.py → lookup_env.py} +6 -12
  19. neurograph/v1/models/lookup_lookup_environments_response.py +3 -3
  20. neurograph/v1/models/reporting_affinities_response.py +89 -0
  21. neurograph/v1/models/reporting_customer_activity_response.py +89 -0
  22. neurograph/v1/models/reporting_daily_metric.py +95 -0
  23. neurograph/v1/models/reporting_daily_metrics_response.py +97 -0
  24. neurograph/v1/models/reporting_persona_activity_response.py +89 -0
  25. neurograph/v1/models/reporting_personas_response.py +89 -0
  26. neurograph/v1/models/reporting_query.py +91 -0
  27. {neurograph_core-1.202509282026.dist-info → neurograph_core-1.202510052316.dist-info}/METADATA +2 -3
  28. {neurograph_core-1.202509282026.dist-info → neurograph_core-1.202510052316.dist-info}/RECORD +30 -19
  29. {neurograph_core-1.202509282026.dist-info → neurograph_core-1.202510052316.dist-info}/WHEEL +0 -0
  30. {neurograph_core-1.202509282026.dist-info → neurograph_core-1.202510052316.dist-info}/top_level.txt +0 -0
@@ -19,6 +19,7 @@ from typing_extensions import Annotated
19
19
  from pydantic import Field, StrictInt, StrictStr
20
20
  from typing import Optional
21
21
  from typing_extensions import Annotated
22
+ from neurograph.v1.models.admin_users_org_response import AdminUsersOrgResponse
22
23
  from neurograph.v1.models.client_get_detail_response import ClientGetDetailResponse
23
24
  from neurograph.v1.models.client_get_many_response import ClientGetManyResponse
24
25
  from neurograph.v1.models.client_personas_response import ClientPersonasResponse
@@ -1659,6 +1660,268 @@ class ClientApi:
1659
1660
 
1660
1661
 
1661
1662
 
1663
+ @validate_call
1664
+ def api_v1_clients_client_id_users_get(
1665
+ self,
1666
+ client_id: Annotated[StrictStr, Field(description="Client ID (cli_*)")],
1667
+ _request_timeout: Union[
1668
+ None,
1669
+ Annotated[StrictFloat, Field(gt=0)],
1670
+ Tuple[
1671
+ Annotated[StrictFloat, Field(gt=0)],
1672
+ Annotated[StrictFloat, Field(gt=0)]
1673
+ ]
1674
+ ] = None,
1675
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1676
+ _content_type: Optional[StrictStr] = None,
1677
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1678
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1679
+ ) -> AdminUsersOrgResponse:
1680
+ """Client's assigned users and their permissions
1681
+
1682
+
1683
+ :param client_id: Client ID (cli_*) (required)
1684
+ :type client_id: str
1685
+ :param _request_timeout: timeout setting for this request. If one
1686
+ number provided, it will be total request
1687
+ timeout. It can also be a pair (tuple) of
1688
+ (connection, read) timeouts.
1689
+ :type _request_timeout: int, tuple(int, int), optional
1690
+ :param _request_auth: set to override the auth_settings for an a single
1691
+ request; this effectively ignores the
1692
+ authentication in the spec for a single request.
1693
+ :type _request_auth: dict, optional
1694
+ :param _content_type: force content-type for the request.
1695
+ :type _content_type: str, Optional
1696
+ :param _headers: set to override the headers for a single
1697
+ request; this effectively ignores the headers
1698
+ in the spec for a single request.
1699
+ :type _headers: dict, optional
1700
+ :param _host_index: set to override the host_index for a single
1701
+ request; this effectively ignores the host_index
1702
+ in the spec for a single request.
1703
+ :type _host_index: int, optional
1704
+ :return: Returns the result object.
1705
+ """ # noqa: E501
1706
+
1707
+ _param = self._api_v1_clients_client_id_users_get_serialize(
1708
+ client_id=client_id,
1709
+ _request_auth=_request_auth,
1710
+ _content_type=_content_type,
1711
+ _headers=_headers,
1712
+ _host_index=_host_index
1713
+ )
1714
+
1715
+ _response_types_map: Dict[str, Optional[str]] = {
1716
+ '200': "AdminUsersOrgResponse",
1717
+ '503': "AdminUsersOrgResponse",
1718
+ }
1719
+ response_data = self.api_client.call_api(
1720
+ *_param,
1721
+ _request_timeout=_request_timeout
1722
+ )
1723
+ response_data.read()
1724
+ return self.api_client.response_deserialize(
1725
+ response_data=response_data,
1726
+ response_types_map=_response_types_map,
1727
+ ).data
1728
+
1729
+
1730
+ @validate_call
1731
+ def api_v1_clients_client_id_users_get_with_http_info(
1732
+ self,
1733
+ client_id: Annotated[StrictStr, Field(description="Client ID (cli_*)")],
1734
+ _request_timeout: Union[
1735
+ None,
1736
+ Annotated[StrictFloat, Field(gt=0)],
1737
+ Tuple[
1738
+ Annotated[StrictFloat, Field(gt=0)],
1739
+ Annotated[StrictFloat, Field(gt=0)]
1740
+ ]
1741
+ ] = None,
1742
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1743
+ _content_type: Optional[StrictStr] = None,
1744
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1745
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1746
+ ) -> ApiResponse[AdminUsersOrgResponse]:
1747
+ """Client's assigned users and their permissions
1748
+
1749
+
1750
+ :param client_id: Client ID (cli_*) (required)
1751
+ :type client_id: str
1752
+ :param _request_timeout: timeout setting for this request. If one
1753
+ number provided, it will be total request
1754
+ timeout. It can also be a pair (tuple) of
1755
+ (connection, read) timeouts.
1756
+ :type _request_timeout: int, tuple(int, int), optional
1757
+ :param _request_auth: set to override the auth_settings for an a single
1758
+ request; this effectively ignores the
1759
+ authentication in the spec for a single request.
1760
+ :type _request_auth: dict, optional
1761
+ :param _content_type: force content-type for the request.
1762
+ :type _content_type: str, Optional
1763
+ :param _headers: set to override the headers for a single
1764
+ request; this effectively ignores the headers
1765
+ in the spec for a single request.
1766
+ :type _headers: dict, optional
1767
+ :param _host_index: set to override the host_index for a single
1768
+ request; this effectively ignores the host_index
1769
+ in the spec for a single request.
1770
+ :type _host_index: int, optional
1771
+ :return: Returns the result object.
1772
+ """ # noqa: E501
1773
+
1774
+ _param = self._api_v1_clients_client_id_users_get_serialize(
1775
+ client_id=client_id,
1776
+ _request_auth=_request_auth,
1777
+ _content_type=_content_type,
1778
+ _headers=_headers,
1779
+ _host_index=_host_index
1780
+ )
1781
+
1782
+ _response_types_map: Dict[str, Optional[str]] = {
1783
+ '200': "AdminUsersOrgResponse",
1784
+ '503': "AdminUsersOrgResponse",
1785
+ }
1786
+ response_data = self.api_client.call_api(
1787
+ *_param,
1788
+ _request_timeout=_request_timeout
1789
+ )
1790
+ response_data.read()
1791
+ return self.api_client.response_deserialize(
1792
+ response_data=response_data,
1793
+ response_types_map=_response_types_map,
1794
+ )
1795
+
1796
+
1797
+ @validate_call
1798
+ def api_v1_clients_client_id_users_get_without_preload_content(
1799
+ self,
1800
+ client_id: Annotated[StrictStr, Field(description="Client ID (cli_*)")],
1801
+ _request_timeout: Union[
1802
+ None,
1803
+ Annotated[StrictFloat, Field(gt=0)],
1804
+ Tuple[
1805
+ Annotated[StrictFloat, Field(gt=0)],
1806
+ Annotated[StrictFloat, Field(gt=0)]
1807
+ ]
1808
+ ] = None,
1809
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1810
+ _content_type: Optional[StrictStr] = None,
1811
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1812
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1813
+ ) -> RESTResponseType:
1814
+ """Client's assigned users and their permissions
1815
+
1816
+
1817
+ :param client_id: Client ID (cli_*) (required)
1818
+ :type client_id: str
1819
+ :param _request_timeout: timeout setting for this request. If one
1820
+ number provided, it will be total request
1821
+ timeout. It can also be a pair (tuple) of
1822
+ (connection, read) timeouts.
1823
+ :type _request_timeout: int, tuple(int, int), optional
1824
+ :param _request_auth: set to override the auth_settings for an a single
1825
+ request; this effectively ignores the
1826
+ authentication in the spec for a single request.
1827
+ :type _request_auth: dict, optional
1828
+ :param _content_type: force content-type for the request.
1829
+ :type _content_type: str, Optional
1830
+ :param _headers: set to override the headers for a single
1831
+ request; this effectively ignores the headers
1832
+ in the spec for a single request.
1833
+ :type _headers: dict, optional
1834
+ :param _host_index: set to override the host_index for a single
1835
+ request; this effectively ignores the host_index
1836
+ in the spec for a single request.
1837
+ :type _host_index: int, optional
1838
+ :return: Returns the result object.
1839
+ """ # noqa: E501
1840
+
1841
+ _param = self._api_v1_clients_client_id_users_get_serialize(
1842
+ client_id=client_id,
1843
+ _request_auth=_request_auth,
1844
+ _content_type=_content_type,
1845
+ _headers=_headers,
1846
+ _host_index=_host_index
1847
+ )
1848
+
1849
+ _response_types_map: Dict[str, Optional[str]] = {
1850
+ '200': "AdminUsersOrgResponse",
1851
+ '503': "AdminUsersOrgResponse",
1852
+ }
1853
+ response_data = self.api_client.call_api(
1854
+ *_param,
1855
+ _request_timeout=_request_timeout
1856
+ )
1857
+ return response_data.response
1858
+
1859
+
1860
+ def _api_v1_clients_client_id_users_get_serialize(
1861
+ self,
1862
+ client_id,
1863
+ _request_auth,
1864
+ _content_type,
1865
+ _headers,
1866
+ _host_index,
1867
+ ) -> RequestSerialized:
1868
+
1869
+ _host = None
1870
+
1871
+ _collection_formats: Dict[str, str] = {
1872
+ }
1873
+
1874
+ _path_params: Dict[str, str] = {}
1875
+ _query_params: List[Tuple[str, str]] = []
1876
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1877
+ _form_params: List[Tuple[str, str]] = []
1878
+ _files: Dict[
1879
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1880
+ ] = {}
1881
+ _body_params: Optional[bytes] = None
1882
+
1883
+ # process the path parameters
1884
+ if client_id is not None:
1885
+ _path_params['client_id'] = client_id
1886
+ # process the query parameters
1887
+ # process the header parameters
1888
+ # process the form parameters
1889
+ # process the body parameter
1890
+
1891
+
1892
+ # set the HTTP header `Accept`
1893
+ if 'Accept' not in _header_params:
1894
+ _header_params['Accept'] = self.api_client.select_header_accept(
1895
+ [
1896
+ 'application/json'
1897
+ ]
1898
+ )
1899
+
1900
+
1901
+ # authentication setting
1902
+ _auth_settings: List[str] = [
1903
+ 'TokenAuth',
1904
+ 'ApiKeyAuth'
1905
+ ]
1906
+
1907
+ return self.api_client.param_serialize(
1908
+ method='GET',
1909
+ resource_path='/api/v1/clients/{client_id}/users/',
1910
+ path_params=_path_params,
1911
+ query_params=_query_params,
1912
+ header_params=_header_params,
1913
+ body=_body_params,
1914
+ post_params=_form_params,
1915
+ files=_files,
1916
+ auth_settings=_auth_settings,
1917
+ collection_formats=_collection_formats,
1918
+ _host=_host,
1919
+ _request_auth=_request_auth
1920
+ )
1921
+
1922
+
1923
+
1924
+
1662
1925
  @validate_call
1663
1926
  def api_v1_clients_get(
1664
1927
  self,
@@ -40,6 +40,8 @@ from neurograph.v1.models.knowledge_entity_upsert_response import KnowledgeEntit
40
40
  from neurograph.v1.models.knowledge_ingest_raw_request import KnowledgeIngestRawRequest
41
41
  from neurograph.v1.models.knowledge_ingest_raw_response import KnowledgeIngestRawResponse
42
42
  from neurograph.v1.models.knowledge_kind_response import KnowledgeKindResponse
43
+ from neurograph.v1.models.knowledge_product_upsert_request import KnowledgeProductUpsertRequest
44
+ from neurograph.v1.models.knowledge_product_upsert_response import KnowledgeProductUpsertResponse
43
45
 
44
46
  from neurograph.v1.api_client import ApiClient, RequestSerialized
45
47
  from neurograph.v1.api_response import ApiResponse
@@ -1563,6 +1565,7 @@ class KnowledgeApi:
1563
1565
  client_id: Optional[StrictStr] = None,
1564
1566
  is_current: Optional[StrictBool] = None,
1565
1567
  job_name: Optional[StrictStr] = None,
1568
+ kind: Optional[StrictStr] = None,
1566
1569
  limit: Optional[StrictInt] = None,
1567
1570
  offset: Optional[StrictInt] = None,
1568
1571
  status: Optional[StrictStr] = None,
@@ -1590,6 +1593,8 @@ class KnowledgeApi:
1590
1593
  :type is_current: bool
1591
1594
  :param job_name:
1592
1595
  :type job_name: str
1596
+ :param kind:
1597
+ :type kind: str
1593
1598
  :param limit:
1594
1599
  :type limit: int
1595
1600
  :param offset:
@@ -1624,6 +1629,7 @@ class KnowledgeApi:
1624
1629
  client_id=client_id,
1625
1630
  is_current=is_current,
1626
1631
  job_name=job_name,
1632
+ kind=kind,
1627
1633
  limit=limit,
1628
1634
  offset=offset,
1629
1635
  status=status,
@@ -1656,6 +1662,7 @@ class KnowledgeApi:
1656
1662
  client_id: Optional[StrictStr] = None,
1657
1663
  is_current: Optional[StrictBool] = None,
1658
1664
  job_name: Optional[StrictStr] = None,
1665
+ kind: Optional[StrictStr] = None,
1659
1666
  limit: Optional[StrictInt] = None,
1660
1667
  offset: Optional[StrictInt] = None,
1661
1668
  status: Optional[StrictStr] = None,
@@ -1683,6 +1690,8 @@ class KnowledgeApi:
1683
1690
  :type is_current: bool
1684
1691
  :param job_name:
1685
1692
  :type job_name: str
1693
+ :param kind:
1694
+ :type kind: str
1686
1695
  :param limit:
1687
1696
  :type limit: int
1688
1697
  :param offset:
@@ -1717,6 +1726,7 @@ class KnowledgeApi:
1717
1726
  client_id=client_id,
1718
1727
  is_current=is_current,
1719
1728
  job_name=job_name,
1729
+ kind=kind,
1720
1730
  limit=limit,
1721
1731
  offset=offset,
1722
1732
  status=status,
@@ -1749,6 +1759,7 @@ class KnowledgeApi:
1749
1759
  client_id: Optional[StrictStr] = None,
1750
1760
  is_current: Optional[StrictBool] = None,
1751
1761
  job_name: Optional[StrictStr] = None,
1762
+ kind: Optional[StrictStr] = None,
1752
1763
  limit: Optional[StrictInt] = None,
1753
1764
  offset: Optional[StrictInt] = None,
1754
1765
  status: Optional[StrictStr] = None,
@@ -1776,6 +1787,8 @@ class KnowledgeApi:
1776
1787
  :type is_current: bool
1777
1788
  :param job_name:
1778
1789
  :type job_name: str
1790
+ :param kind:
1791
+ :type kind: str
1779
1792
  :param limit:
1780
1793
  :type limit: int
1781
1794
  :param offset:
@@ -1810,6 +1823,7 @@ class KnowledgeApi:
1810
1823
  client_id=client_id,
1811
1824
  is_current=is_current,
1812
1825
  job_name=job_name,
1826
+ kind=kind,
1813
1827
  limit=limit,
1814
1828
  offset=offset,
1815
1829
  status=status,
@@ -1837,6 +1851,7 @@ class KnowledgeApi:
1837
1851
  client_id,
1838
1852
  is_current,
1839
1853
  job_name,
1854
+ kind,
1840
1855
  limit,
1841
1856
  offset,
1842
1857
  status,
@@ -1875,6 +1890,10 @@ class KnowledgeApi:
1875
1890
 
1876
1891
  _query_params.append(('job_name', job_name))
1877
1892
 
1893
+ if kind is not None:
1894
+
1895
+ _query_params.append(('kind', kind))
1896
+
1878
1897
  if limit is not None:
1879
1898
 
1880
1899
  _query_params.append(('limit', limit))
@@ -3116,6 +3135,283 @@ class KnowledgeApi:
3116
3135
 
3117
3136
 
3118
3137
 
3138
+ @validate_call
3139
+ def api_v1_knowledge_extract_product_post(
3140
+ self,
3141
+ request: Annotated[KnowledgeProductUpsertRequest, Field(description="Body")],
3142
+ _request_timeout: Union[
3143
+ None,
3144
+ Annotated[StrictFloat, Field(gt=0)],
3145
+ Tuple[
3146
+ Annotated[StrictFloat, Field(gt=0)],
3147
+ Annotated[StrictFloat, Field(gt=0)]
3148
+ ]
3149
+ ] = None,
3150
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3151
+ _content_type: Optional[StrictStr] = None,
3152
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3153
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3154
+ ) -> KnowledgeProductUpsertResponse:
3155
+ """Bulk upsert Knowledge Products
3156
+
3157
+ Insert or update products into knowledge.product (deduped by conflict key).
3158
+
3159
+ :param request: Body (required)
3160
+ :type request: KnowledgeProductUpsertRequest
3161
+ :param _request_timeout: timeout setting for this request. If one
3162
+ number provided, it will be total request
3163
+ timeout. It can also be a pair (tuple) of
3164
+ (connection, read) timeouts.
3165
+ :type _request_timeout: int, tuple(int, int), optional
3166
+ :param _request_auth: set to override the auth_settings for an a single
3167
+ request; this effectively ignores the
3168
+ authentication in the spec for a single request.
3169
+ :type _request_auth: dict, optional
3170
+ :param _content_type: force content-type for the request.
3171
+ :type _content_type: str, Optional
3172
+ :param _headers: set to override the headers for a single
3173
+ request; this effectively ignores the headers
3174
+ in the spec for a single request.
3175
+ :type _headers: dict, optional
3176
+ :param _host_index: set to override the host_index for a single
3177
+ request; this effectively ignores the host_index
3178
+ in the spec for a single request.
3179
+ :type _host_index: int, optional
3180
+ :return: Returns the result object.
3181
+ """ # noqa: E501
3182
+
3183
+ _param = self._api_v1_knowledge_extract_product_post_serialize(
3184
+ request=request,
3185
+ _request_auth=_request_auth,
3186
+ _content_type=_content_type,
3187
+ _headers=_headers,
3188
+ _host_index=_host_index
3189
+ )
3190
+
3191
+ _response_types_map: Dict[str, Optional[str]] = {
3192
+ '200': "KnowledgeProductUpsertResponse",
3193
+ '400': "KnowledgeProductUpsertResponse",
3194
+ }
3195
+ response_data = self.api_client.call_api(
3196
+ *_param,
3197
+ _request_timeout=_request_timeout
3198
+ )
3199
+ response_data.read()
3200
+ return self.api_client.response_deserialize(
3201
+ response_data=response_data,
3202
+ response_types_map=_response_types_map,
3203
+ ).data
3204
+
3205
+
3206
+ @validate_call
3207
+ def api_v1_knowledge_extract_product_post_with_http_info(
3208
+ self,
3209
+ request: Annotated[KnowledgeProductUpsertRequest, Field(description="Body")],
3210
+ _request_timeout: Union[
3211
+ None,
3212
+ Annotated[StrictFloat, Field(gt=0)],
3213
+ Tuple[
3214
+ Annotated[StrictFloat, Field(gt=0)],
3215
+ Annotated[StrictFloat, Field(gt=0)]
3216
+ ]
3217
+ ] = None,
3218
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3219
+ _content_type: Optional[StrictStr] = None,
3220
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3221
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3222
+ ) -> ApiResponse[KnowledgeProductUpsertResponse]:
3223
+ """Bulk upsert Knowledge Products
3224
+
3225
+ Insert or update products into knowledge.product (deduped by conflict key).
3226
+
3227
+ :param request: Body (required)
3228
+ :type request: KnowledgeProductUpsertRequest
3229
+ :param _request_timeout: timeout setting for this request. If one
3230
+ number provided, it will be total request
3231
+ timeout. It can also be a pair (tuple) of
3232
+ (connection, read) timeouts.
3233
+ :type _request_timeout: int, tuple(int, int), optional
3234
+ :param _request_auth: set to override the auth_settings for an a single
3235
+ request; this effectively ignores the
3236
+ authentication in the spec for a single request.
3237
+ :type _request_auth: dict, optional
3238
+ :param _content_type: force content-type for the request.
3239
+ :type _content_type: str, Optional
3240
+ :param _headers: set to override the headers for a single
3241
+ request; this effectively ignores the headers
3242
+ in the spec for a single request.
3243
+ :type _headers: dict, optional
3244
+ :param _host_index: set to override the host_index for a single
3245
+ request; this effectively ignores the host_index
3246
+ in the spec for a single request.
3247
+ :type _host_index: int, optional
3248
+ :return: Returns the result object.
3249
+ """ # noqa: E501
3250
+
3251
+ _param = self._api_v1_knowledge_extract_product_post_serialize(
3252
+ request=request,
3253
+ _request_auth=_request_auth,
3254
+ _content_type=_content_type,
3255
+ _headers=_headers,
3256
+ _host_index=_host_index
3257
+ )
3258
+
3259
+ _response_types_map: Dict[str, Optional[str]] = {
3260
+ '200': "KnowledgeProductUpsertResponse",
3261
+ '400': "KnowledgeProductUpsertResponse",
3262
+ }
3263
+ response_data = self.api_client.call_api(
3264
+ *_param,
3265
+ _request_timeout=_request_timeout
3266
+ )
3267
+ response_data.read()
3268
+ return self.api_client.response_deserialize(
3269
+ response_data=response_data,
3270
+ response_types_map=_response_types_map,
3271
+ )
3272
+
3273
+
3274
+ @validate_call
3275
+ def api_v1_knowledge_extract_product_post_without_preload_content(
3276
+ self,
3277
+ request: Annotated[KnowledgeProductUpsertRequest, Field(description="Body")],
3278
+ _request_timeout: Union[
3279
+ None,
3280
+ Annotated[StrictFloat, Field(gt=0)],
3281
+ Tuple[
3282
+ Annotated[StrictFloat, Field(gt=0)],
3283
+ Annotated[StrictFloat, Field(gt=0)]
3284
+ ]
3285
+ ] = None,
3286
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3287
+ _content_type: Optional[StrictStr] = None,
3288
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3289
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3290
+ ) -> RESTResponseType:
3291
+ """Bulk upsert Knowledge Products
3292
+
3293
+ Insert or update products into knowledge.product (deduped by conflict key).
3294
+
3295
+ :param request: Body (required)
3296
+ :type request: KnowledgeProductUpsertRequest
3297
+ :param _request_timeout: timeout setting for this request. If one
3298
+ number provided, it will be total request
3299
+ timeout. It can also be a pair (tuple) of
3300
+ (connection, read) timeouts.
3301
+ :type _request_timeout: int, tuple(int, int), optional
3302
+ :param _request_auth: set to override the auth_settings for an a single
3303
+ request; this effectively ignores the
3304
+ authentication in the spec for a single request.
3305
+ :type _request_auth: dict, optional
3306
+ :param _content_type: force content-type for the request.
3307
+ :type _content_type: str, Optional
3308
+ :param _headers: set to override the headers for a single
3309
+ request; this effectively ignores the headers
3310
+ in the spec for a single request.
3311
+ :type _headers: dict, optional
3312
+ :param _host_index: set to override the host_index for a single
3313
+ request; this effectively ignores the host_index
3314
+ in the spec for a single request.
3315
+ :type _host_index: int, optional
3316
+ :return: Returns the result object.
3317
+ """ # noqa: E501
3318
+
3319
+ _param = self._api_v1_knowledge_extract_product_post_serialize(
3320
+ request=request,
3321
+ _request_auth=_request_auth,
3322
+ _content_type=_content_type,
3323
+ _headers=_headers,
3324
+ _host_index=_host_index
3325
+ )
3326
+
3327
+ _response_types_map: Dict[str, Optional[str]] = {
3328
+ '200': "KnowledgeProductUpsertResponse",
3329
+ '400': "KnowledgeProductUpsertResponse",
3330
+ }
3331
+ response_data = self.api_client.call_api(
3332
+ *_param,
3333
+ _request_timeout=_request_timeout
3334
+ )
3335
+ return response_data.response
3336
+
3337
+
3338
+ def _api_v1_knowledge_extract_product_post_serialize(
3339
+ self,
3340
+ request,
3341
+ _request_auth,
3342
+ _content_type,
3343
+ _headers,
3344
+ _host_index,
3345
+ ) -> RequestSerialized:
3346
+
3347
+ _host = None
3348
+
3349
+ _collection_formats: Dict[str, str] = {
3350
+ }
3351
+
3352
+ _path_params: Dict[str, str] = {}
3353
+ _query_params: List[Tuple[str, str]] = []
3354
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3355
+ _form_params: List[Tuple[str, str]] = []
3356
+ _files: Dict[
3357
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
3358
+ ] = {}
3359
+ _body_params: Optional[bytes] = None
3360
+
3361
+ # process the path parameters
3362
+ # process the query parameters
3363
+ # process the header parameters
3364
+ # process the form parameters
3365
+ # process the body parameter
3366
+ if request is not None:
3367
+ _body_params = request
3368
+
3369
+
3370
+ # set the HTTP header `Accept`
3371
+ if 'Accept' not in _header_params:
3372
+ _header_params['Accept'] = self.api_client.select_header_accept(
3373
+ [
3374
+ 'application/json'
3375
+ ]
3376
+ )
3377
+
3378
+ # set the HTTP header `Content-Type`
3379
+ if _content_type:
3380
+ _header_params['Content-Type'] = _content_type
3381
+ else:
3382
+ _default_content_type = (
3383
+ self.api_client.select_header_content_type(
3384
+ [
3385
+ 'application/json'
3386
+ ]
3387
+ )
3388
+ )
3389
+ if _default_content_type is not None:
3390
+ _header_params['Content-Type'] = _default_content_type
3391
+
3392
+ # authentication setting
3393
+ _auth_settings: List[str] = [
3394
+ 'TokenAuth'
3395
+ ]
3396
+
3397
+ return self.api_client.param_serialize(
3398
+ method='POST',
3399
+ resource_path='/api/v1/knowledge/extract/product/',
3400
+ path_params=_path_params,
3401
+ query_params=_query_params,
3402
+ header_params=_header_params,
3403
+ body=_body_params,
3404
+ post_params=_form_params,
3405
+ files=_files,
3406
+ auth_settings=_auth_settings,
3407
+ collection_formats=_collection_formats,
3408
+ _host=_host,
3409
+ _request_auth=_request_auth
3410
+ )
3411
+
3412
+
3413
+
3414
+
3119
3415
  @validate_call
3120
3416
  def api_v1_knowledge_ingest_raw_post(
3121
3417
  self,
@@ -1782,7 +1782,7 @@ class KnowledgeExtractApi:
1782
1782
 
1783
1783
  return self.api_client.param_serialize(
1784
1784
  method='GET',
1785
- resource_path='/api/v1/knowledge/extract/store',
1785
+ resource_path='/api/v1/knowledge/extract/store/',
1786
1786
  path_params=_path_params,
1787
1787
  query_params=_query_params,
1788
1788
  header_params=_header_params,
@@ -1549,6 +1549,8 @@ class LookupApi:
1549
1549
 
1550
1550
  # authentication setting
1551
1551
  _auth_settings: List[str] = [
1552
+ 'TokenAuth',
1553
+ 'ApiKeyAuth'
1552
1554
  ]
1553
1555
 
1554
1556
  return self.api_client.param_serialize(