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
@@ -16,9 +16,10 @@ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
16
16
  from typing import Any, Dict, List, Optional, Tuple, Union
17
17
  from typing_extensions import Annotated
18
18
 
19
- from pydantic import Field, StrictInt
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.organizations_brand_detail_response import OrganizationsBrandDetailResponse
23
24
  from neurograph.v1.models.organizations_brand_upsert_request import OrganizationsBrandUpsertRequest
24
25
  from neurograph.v1.models.organizations_create_request import OrganizationsCreateRequest
@@ -614,6 +615,532 @@ class OrganizationApi:
614
615
 
615
616
 
616
617
 
618
+ @validate_call
619
+ def api_v1_organizations_org_id_get(
620
+ self,
621
+ org_id: Annotated[StrictStr, Field(description="Organization identifier (ID with prefix 'org_' or UID)")],
622
+ _request_timeout: Union[
623
+ None,
624
+ Annotated[StrictFloat, Field(gt=0)],
625
+ Tuple[
626
+ Annotated[StrictFloat, Field(gt=0)],
627
+ Annotated[StrictFloat, Field(gt=0)]
628
+ ]
629
+ ] = None,
630
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
631
+ _content_type: Optional[StrictStr] = None,
632
+ _headers: Optional[Dict[StrictStr, Any]] = None,
633
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
634
+ ) -> OrganizationsDetailResponse:
635
+ """Get Organization by ID or UID
636
+
637
+ Retrieve a single organization record by its identifier.
638
+
639
+ :param org_id: Organization identifier (ID with prefix 'org_' or UID) (required)
640
+ :type org_id: str
641
+ :param _request_timeout: timeout setting for this request. If one
642
+ number provided, it will be total request
643
+ timeout. It can also be a pair (tuple) of
644
+ (connection, read) timeouts.
645
+ :type _request_timeout: int, tuple(int, int), optional
646
+ :param _request_auth: set to override the auth_settings for an a single
647
+ request; this effectively ignores the
648
+ authentication in the spec for a single request.
649
+ :type _request_auth: dict, optional
650
+ :param _content_type: force content-type for the request.
651
+ :type _content_type: str, Optional
652
+ :param _headers: set to override the headers for a single
653
+ request; this effectively ignores the headers
654
+ in the spec for a single request.
655
+ :type _headers: dict, optional
656
+ :param _host_index: set to override the host_index for a single
657
+ request; this effectively ignores the host_index
658
+ in the spec for a single request.
659
+ :type _host_index: int, optional
660
+ :return: Returns the result object.
661
+ """ # noqa: E501
662
+
663
+ _param = self._api_v1_organizations_org_id_get_serialize(
664
+ org_id=org_id,
665
+ _request_auth=_request_auth,
666
+ _content_type=_content_type,
667
+ _headers=_headers,
668
+ _host_index=_host_index
669
+ )
670
+
671
+ _response_types_map: Dict[str, Optional[str]] = {
672
+ '200': "OrganizationsDetailResponse",
673
+ '400': "OrganizationsDetailResponse",
674
+ }
675
+ response_data = self.api_client.call_api(
676
+ *_param,
677
+ _request_timeout=_request_timeout
678
+ )
679
+ response_data.read()
680
+ return self.api_client.response_deserialize(
681
+ response_data=response_data,
682
+ response_types_map=_response_types_map,
683
+ ).data
684
+
685
+
686
+ @validate_call
687
+ def api_v1_organizations_org_id_get_with_http_info(
688
+ self,
689
+ org_id: Annotated[StrictStr, Field(description="Organization identifier (ID with prefix 'org_' or UID)")],
690
+ _request_timeout: Union[
691
+ None,
692
+ Annotated[StrictFloat, Field(gt=0)],
693
+ Tuple[
694
+ Annotated[StrictFloat, Field(gt=0)],
695
+ Annotated[StrictFloat, Field(gt=0)]
696
+ ]
697
+ ] = None,
698
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
699
+ _content_type: Optional[StrictStr] = None,
700
+ _headers: Optional[Dict[StrictStr, Any]] = None,
701
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
702
+ ) -> ApiResponse[OrganizationsDetailResponse]:
703
+ """Get Organization by ID or UID
704
+
705
+ Retrieve a single organization record by its identifier.
706
+
707
+ :param org_id: Organization identifier (ID with prefix 'org_' or UID) (required)
708
+ :type org_id: str
709
+ :param _request_timeout: timeout setting for this request. If one
710
+ number provided, it will be total request
711
+ timeout. It can also be a pair (tuple) of
712
+ (connection, read) timeouts.
713
+ :type _request_timeout: int, tuple(int, int), optional
714
+ :param _request_auth: set to override the auth_settings for an a single
715
+ request; this effectively ignores the
716
+ authentication in the spec for a single request.
717
+ :type _request_auth: dict, optional
718
+ :param _content_type: force content-type for the request.
719
+ :type _content_type: str, Optional
720
+ :param _headers: set to override the headers for a single
721
+ request; this effectively ignores the headers
722
+ in the spec for a single request.
723
+ :type _headers: dict, optional
724
+ :param _host_index: set to override the host_index for a single
725
+ request; this effectively ignores the host_index
726
+ in the spec for a single request.
727
+ :type _host_index: int, optional
728
+ :return: Returns the result object.
729
+ """ # noqa: E501
730
+
731
+ _param = self._api_v1_organizations_org_id_get_serialize(
732
+ org_id=org_id,
733
+ _request_auth=_request_auth,
734
+ _content_type=_content_type,
735
+ _headers=_headers,
736
+ _host_index=_host_index
737
+ )
738
+
739
+ _response_types_map: Dict[str, Optional[str]] = {
740
+ '200': "OrganizationsDetailResponse",
741
+ '400': "OrganizationsDetailResponse",
742
+ }
743
+ response_data = self.api_client.call_api(
744
+ *_param,
745
+ _request_timeout=_request_timeout
746
+ )
747
+ response_data.read()
748
+ return self.api_client.response_deserialize(
749
+ response_data=response_data,
750
+ response_types_map=_response_types_map,
751
+ )
752
+
753
+
754
+ @validate_call
755
+ def api_v1_organizations_org_id_get_without_preload_content(
756
+ self,
757
+ org_id: Annotated[StrictStr, Field(description="Organization identifier (ID with prefix 'org_' or UID)")],
758
+ _request_timeout: Union[
759
+ None,
760
+ Annotated[StrictFloat, Field(gt=0)],
761
+ Tuple[
762
+ Annotated[StrictFloat, Field(gt=0)],
763
+ Annotated[StrictFloat, Field(gt=0)]
764
+ ]
765
+ ] = None,
766
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
767
+ _content_type: Optional[StrictStr] = None,
768
+ _headers: Optional[Dict[StrictStr, Any]] = None,
769
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
770
+ ) -> RESTResponseType:
771
+ """Get Organization by ID or UID
772
+
773
+ Retrieve a single organization record by its identifier.
774
+
775
+ :param org_id: Organization identifier (ID with prefix 'org_' or UID) (required)
776
+ :type org_id: str
777
+ :param _request_timeout: timeout setting for this request. If one
778
+ number provided, it will be total request
779
+ timeout. It can also be a pair (tuple) of
780
+ (connection, read) timeouts.
781
+ :type _request_timeout: int, tuple(int, int), optional
782
+ :param _request_auth: set to override the auth_settings for an a single
783
+ request; this effectively ignores the
784
+ authentication in the spec for a single request.
785
+ :type _request_auth: dict, optional
786
+ :param _content_type: force content-type for the request.
787
+ :type _content_type: str, Optional
788
+ :param _headers: set to override the headers for a single
789
+ request; this effectively ignores the headers
790
+ in the spec for a single request.
791
+ :type _headers: dict, optional
792
+ :param _host_index: set to override the host_index for a single
793
+ request; this effectively ignores the host_index
794
+ in the spec for a single request.
795
+ :type _host_index: int, optional
796
+ :return: Returns the result object.
797
+ """ # noqa: E501
798
+
799
+ _param = self._api_v1_organizations_org_id_get_serialize(
800
+ org_id=org_id,
801
+ _request_auth=_request_auth,
802
+ _content_type=_content_type,
803
+ _headers=_headers,
804
+ _host_index=_host_index
805
+ )
806
+
807
+ _response_types_map: Dict[str, Optional[str]] = {
808
+ '200': "OrganizationsDetailResponse",
809
+ '400': "OrganizationsDetailResponse",
810
+ }
811
+ response_data = self.api_client.call_api(
812
+ *_param,
813
+ _request_timeout=_request_timeout
814
+ )
815
+ return response_data.response
816
+
817
+
818
+ def _api_v1_organizations_org_id_get_serialize(
819
+ self,
820
+ org_id,
821
+ _request_auth,
822
+ _content_type,
823
+ _headers,
824
+ _host_index,
825
+ ) -> RequestSerialized:
826
+
827
+ _host = None
828
+
829
+ _collection_formats: Dict[str, str] = {
830
+ }
831
+
832
+ _path_params: Dict[str, str] = {}
833
+ _query_params: List[Tuple[str, str]] = []
834
+ _header_params: Dict[str, Optional[str]] = _headers or {}
835
+ _form_params: List[Tuple[str, str]] = []
836
+ _files: Dict[
837
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
838
+ ] = {}
839
+ _body_params: Optional[bytes] = None
840
+
841
+ # process the path parameters
842
+ if org_id is not None:
843
+ _path_params['org_id'] = org_id
844
+ # process the query parameters
845
+ # process the header parameters
846
+ # process the form parameters
847
+ # process the body parameter
848
+
849
+
850
+ # set the HTTP header `Accept`
851
+ if 'Accept' not in _header_params:
852
+ _header_params['Accept'] = self.api_client.select_header_accept(
853
+ [
854
+ 'application/json'
855
+ ]
856
+ )
857
+
858
+
859
+ # authentication setting
860
+ _auth_settings: List[str] = [
861
+ 'TokenAuth',
862
+ 'ApiKeyAuth'
863
+ ]
864
+
865
+ return self.api_client.param_serialize(
866
+ method='GET',
867
+ resource_path='/api/v1/organizations/{org_id}',
868
+ path_params=_path_params,
869
+ query_params=_query_params,
870
+ header_params=_header_params,
871
+ body=_body_params,
872
+ post_params=_form_params,
873
+ files=_files,
874
+ auth_settings=_auth_settings,
875
+ collection_formats=_collection_formats,
876
+ _host=_host,
877
+ _request_auth=_request_auth
878
+ )
879
+
880
+
881
+
882
+
883
+ @validate_call
884
+ def api_v1_organizations_org_id_users_get(
885
+ self,
886
+ org_id: Annotated[StrictStr, Field(description="Organization ID")],
887
+ _request_timeout: Union[
888
+ None,
889
+ Annotated[StrictFloat, Field(gt=0)],
890
+ Tuple[
891
+ Annotated[StrictFloat, Field(gt=0)],
892
+ Annotated[StrictFloat, Field(gt=0)]
893
+ ]
894
+ ] = None,
895
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
896
+ _content_type: Optional[StrictStr] = None,
897
+ _headers: Optional[Dict[StrictStr, Any]] = None,
898
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
899
+ ) -> AdminUsersOrgResponse:
900
+ """Organization's assigned users and their permissions
901
+
902
+
903
+ :param org_id: Organization ID (required)
904
+ :type org_id: str
905
+ :param _request_timeout: timeout setting for this request. If one
906
+ number provided, it will be total request
907
+ timeout. It can also be a pair (tuple) of
908
+ (connection, read) timeouts.
909
+ :type _request_timeout: int, tuple(int, int), optional
910
+ :param _request_auth: set to override the auth_settings for an a single
911
+ request; this effectively ignores the
912
+ authentication in the spec for a single request.
913
+ :type _request_auth: dict, optional
914
+ :param _content_type: force content-type for the request.
915
+ :type _content_type: str, Optional
916
+ :param _headers: set to override the headers for a single
917
+ request; this effectively ignores the headers
918
+ in the spec for a single request.
919
+ :type _headers: dict, optional
920
+ :param _host_index: set to override the host_index for a single
921
+ request; this effectively ignores the host_index
922
+ in the spec for a single request.
923
+ :type _host_index: int, optional
924
+ :return: Returns the result object.
925
+ """ # noqa: E501
926
+
927
+ _param = self._api_v1_organizations_org_id_users_get_serialize(
928
+ org_id=org_id,
929
+ _request_auth=_request_auth,
930
+ _content_type=_content_type,
931
+ _headers=_headers,
932
+ _host_index=_host_index
933
+ )
934
+
935
+ _response_types_map: Dict[str, Optional[str]] = {
936
+ '200': "AdminUsersOrgResponse",
937
+ '503': "AdminUsersOrgResponse",
938
+ }
939
+ response_data = self.api_client.call_api(
940
+ *_param,
941
+ _request_timeout=_request_timeout
942
+ )
943
+ response_data.read()
944
+ return self.api_client.response_deserialize(
945
+ response_data=response_data,
946
+ response_types_map=_response_types_map,
947
+ ).data
948
+
949
+
950
+ @validate_call
951
+ def api_v1_organizations_org_id_users_get_with_http_info(
952
+ self,
953
+ org_id: Annotated[StrictStr, Field(description="Organization ID")],
954
+ _request_timeout: Union[
955
+ None,
956
+ Annotated[StrictFloat, Field(gt=0)],
957
+ Tuple[
958
+ Annotated[StrictFloat, Field(gt=0)],
959
+ Annotated[StrictFloat, Field(gt=0)]
960
+ ]
961
+ ] = None,
962
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
963
+ _content_type: Optional[StrictStr] = None,
964
+ _headers: Optional[Dict[StrictStr, Any]] = None,
965
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
966
+ ) -> ApiResponse[AdminUsersOrgResponse]:
967
+ """Organization's assigned users and their permissions
968
+
969
+
970
+ :param org_id: Organization ID (required)
971
+ :type org_id: str
972
+ :param _request_timeout: timeout setting for this request. If one
973
+ number provided, it will be total request
974
+ timeout. It can also be a pair (tuple) of
975
+ (connection, read) timeouts.
976
+ :type _request_timeout: int, tuple(int, int), optional
977
+ :param _request_auth: set to override the auth_settings for an a single
978
+ request; this effectively ignores the
979
+ authentication in the spec for a single request.
980
+ :type _request_auth: dict, optional
981
+ :param _content_type: force content-type for the request.
982
+ :type _content_type: str, Optional
983
+ :param _headers: set to override the headers for a single
984
+ request; this effectively ignores the headers
985
+ in the spec for a single request.
986
+ :type _headers: dict, optional
987
+ :param _host_index: set to override the host_index for a single
988
+ request; this effectively ignores the host_index
989
+ in the spec for a single request.
990
+ :type _host_index: int, optional
991
+ :return: Returns the result object.
992
+ """ # noqa: E501
993
+
994
+ _param = self._api_v1_organizations_org_id_users_get_serialize(
995
+ org_id=org_id,
996
+ _request_auth=_request_auth,
997
+ _content_type=_content_type,
998
+ _headers=_headers,
999
+ _host_index=_host_index
1000
+ )
1001
+
1002
+ _response_types_map: Dict[str, Optional[str]] = {
1003
+ '200': "AdminUsersOrgResponse",
1004
+ '503': "AdminUsersOrgResponse",
1005
+ }
1006
+ response_data = self.api_client.call_api(
1007
+ *_param,
1008
+ _request_timeout=_request_timeout
1009
+ )
1010
+ response_data.read()
1011
+ return self.api_client.response_deserialize(
1012
+ response_data=response_data,
1013
+ response_types_map=_response_types_map,
1014
+ )
1015
+
1016
+
1017
+ @validate_call
1018
+ def api_v1_organizations_org_id_users_get_without_preload_content(
1019
+ self,
1020
+ org_id: Annotated[StrictStr, Field(description="Organization ID")],
1021
+ _request_timeout: Union[
1022
+ None,
1023
+ Annotated[StrictFloat, Field(gt=0)],
1024
+ Tuple[
1025
+ Annotated[StrictFloat, Field(gt=0)],
1026
+ Annotated[StrictFloat, Field(gt=0)]
1027
+ ]
1028
+ ] = None,
1029
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1030
+ _content_type: Optional[StrictStr] = None,
1031
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1032
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1033
+ ) -> RESTResponseType:
1034
+ """Organization's assigned users and their permissions
1035
+
1036
+
1037
+ :param org_id: Organization ID (required)
1038
+ :type org_id: str
1039
+ :param _request_timeout: timeout setting for this request. If one
1040
+ number provided, it will be total request
1041
+ timeout. It can also be a pair (tuple) of
1042
+ (connection, read) timeouts.
1043
+ :type _request_timeout: int, tuple(int, int), optional
1044
+ :param _request_auth: set to override the auth_settings for an a single
1045
+ request; this effectively ignores the
1046
+ authentication in the spec for a single request.
1047
+ :type _request_auth: dict, optional
1048
+ :param _content_type: force content-type for the request.
1049
+ :type _content_type: str, Optional
1050
+ :param _headers: set to override the headers for a single
1051
+ request; this effectively ignores the headers
1052
+ in the spec for a single request.
1053
+ :type _headers: dict, optional
1054
+ :param _host_index: set to override the host_index for a single
1055
+ request; this effectively ignores the host_index
1056
+ in the spec for a single request.
1057
+ :type _host_index: int, optional
1058
+ :return: Returns the result object.
1059
+ """ # noqa: E501
1060
+
1061
+ _param = self._api_v1_organizations_org_id_users_get_serialize(
1062
+ org_id=org_id,
1063
+ _request_auth=_request_auth,
1064
+ _content_type=_content_type,
1065
+ _headers=_headers,
1066
+ _host_index=_host_index
1067
+ )
1068
+
1069
+ _response_types_map: Dict[str, Optional[str]] = {
1070
+ '200': "AdminUsersOrgResponse",
1071
+ '503': "AdminUsersOrgResponse",
1072
+ }
1073
+ response_data = self.api_client.call_api(
1074
+ *_param,
1075
+ _request_timeout=_request_timeout
1076
+ )
1077
+ return response_data.response
1078
+
1079
+
1080
+ def _api_v1_organizations_org_id_users_get_serialize(
1081
+ self,
1082
+ org_id,
1083
+ _request_auth,
1084
+ _content_type,
1085
+ _headers,
1086
+ _host_index,
1087
+ ) -> RequestSerialized:
1088
+
1089
+ _host = None
1090
+
1091
+ _collection_formats: Dict[str, str] = {
1092
+ }
1093
+
1094
+ _path_params: Dict[str, str] = {}
1095
+ _query_params: List[Tuple[str, str]] = []
1096
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1097
+ _form_params: List[Tuple[str, str]] = []
1098
+ _files: Dict[
1099
+ str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]
1100
+ ] = {}
1101
+ _body_params: Optional[bytes] = None
1102
+
1103
+ # process the path parameters
1104
+ if org_id is not None:
1105
+ _path_params['org_id'] = org_id
1106
+ # process the query parameters
1107
+ # process the header parameters
1108
+ # process the form parameters
1109
+ # process the body parameter
1110
+
1111
+
1112
+ # set the HTTP header `Accept`
1113
+ if 'Accept' not in _header_params:
1114
+ _header_params['Accept'] = self.api_client.select_header_accept(
1115
+ [
1116
+ 'application/json'
1117
+ ]
1118
+ )
1119
+
1120
+
1121
+ # authentication setting
1122
+ _auth_settings: List[str] = [
1123
+ 'ApiKeyAuth'
1124
+ ]
1125
+
1126
+ return self.api_client.param_serialize(
1127
+ method='GET',
1128
+ resource_path='/api/v1/organizations/{org_id}/users/',
1129
+ path_params=_path_params,
1130
+ query_params=_query_params,
1131
+ header_params=_header_params,
1132
+ body=_body_params,
1133
+ post_params=_form_params,
1134
+ files=_files,
1135
+ auth_settings=_auth_settings,
1136
+ collection_formats=_collection_formats,
1137
+ _host=_host,
1138
+ _request_auth=_request_auth
1139
+ )
1140
+
1141
+
1142
+
1143
+
617
1144
  @validate_call
618
1145
  def api_v1_organizations_post(
619
1146
  self,