orq-ai-sdk 4.2.0rc28__py3-none-any.whl → 4.2.6__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.
- orq_ai_sdk/_hooks/globalhook.py +0 -1
- orq_ai_sdk/_version.py +3 -3
- orq_ai_sdk/audio.py +30 -0
- orq_ai_sdk/basesdk.py +20 -6
- orq_ai_sdk/chat.py +22 -0
- orq_ai_sdk/completions.py +332 -0
- orq_ai_sdk/contacts.py +43 -855
- orq_ai_sdk/deployments.py +61 -0
- orq_ai_sdk/edits.py +258 -0
- orq_ai_sdk/embeddings.py +238 -0
- orq_ai_sdk/generations.py +272 -0
- orq_ai_sdk/identities.py +1037 -0
- orq_ai_sdk/images.py +28 -0
- orq_ai_sdk/models/__init__.py +5341 -737
- orq_ai_sdk/models/actionreviewedstreamingevent.py +18 -1
- orq_ai_sdk/models/actionreviewrequestedstreamingevent.py +44 -1
- orq_ai_sdk/models/agenterroredstreamingevent.py +18 -1
- orq_ai_sdk/models/agentinactivestreamingevent.py +168 -70
- orq_ai_sdk/models/agentmessagecreatedstreamingevent.py +18 -2
- orq_ai_sdk/models/agentresponsemessage.py +18 -2
- orq_ai_sdk/models/agentstartedstreamingevent.py +127 -2
- orq_ai_sdk/models/agentthoughtstreamingevent.py +178 -211
- orq_ai_sdk/models/conversationresponse.py +31 -20
- orq_ai_sdk/models/conversationwithmessagesresponse.py +31 -20
- orq_ai_sdk/models/createagentrequestop.py +1922 -384
- orq_ai_sdk/models/createagentresponse.py +147 -91
- orq_ai_sdk/models/createagentresponserequestop.py +111 -2
- orq_ai_sdk/models/createchatcompletionop.py +1375 -861
- orq_ai_sdk/models/createchunkop.py +46 -19
- orq_ai_sdk/models/createcompletionop.py +1890 -0
- orq_ai_sdk/models/createcontactop.py +45 -56
- orq_ai_sdk/models/createconversationop.py +61 -39
- orq_ai_sdk/models/createconversationresponseop.py +68 -4
- orq_ai_sdk/models/createdatasetitemop.py +424 -80
- orq_ai_sdk/models/createdatasetop.py +19 -2
- orq_ai_sdk/models/createdatasourceop.py +92 -26
- orq_ai_sdk/models/createembeddingop.py +384 -0
- orq_ai_sdk/models/createevalop.py +552 -24
- orq_ai_sdk/models/createidentityop.py +176 -0
- orq_ai_sdk/models/createimageeditop.py +504 -0
- orq_ai_sdk/models/createimageop.py +208 -117
- orq_ai_sdk/models/createimagevariationop.py +486 -0
- orq_ai_sdk/models/createknowledgeop.py +186 -121
- orq_ai_sdk/models/creatememorydocumentop.py +50 -1
- orq_ai_sdk/models/creatememoryop.py +34 -21
- orq_ai_sdk/models/creatememorystoreop.py +34 -1
- orq_ai_sdk/models/createmoderationop.py +521 -0
- orq_ai_sdk/models/createpromptop.py +2748 -1252
- orq_ai_sdk/models/creatererankop.py +416 -0
- orq_ai_sdk/models/createresponseop.py +2567 -0
- orq_ai_sdk/models/createspeechop.py +316 -0
- orq_ai_sdk/models/createtoolop.py +537 -12
- orq_ai_sdk/models/createtranscriptionop.py +562 -0
- orq_ai_sdk/models/createtranslationop.py +540 -0
- orq_ai_sdk/models/datapart.py +18 -1
- orq_ai_sdk/models/deletechunksop.py +34 -1
- orq_ai_sdk/models/{deletecontactop.py → deleteidentityop.py} +9 -9
- orq_ai_sdk/models/deletepromptop.py +26 -0
- orq_ai_sdk/models/deploymentcreatemetricop.py +362 -76
- orq_ai_sdk/models/deploymentgetconfigop.py +635 -194
- orq_ai_sdk/models/deploymentinvokeop.py +168 -173
- orq_ai_sdk/models/deploymentsop.py +195 -58
- orq_ai_sdk/models/deploymentstreamop.py +652 -304
- orq_ai_sdk/models/errorpart.py +18 -1
- orq_ai_sdk/models/filecontentpartschema.py +18 -1
- orq_ai_sdk/models/filegetop.py +19 -2
- orq_ai_sdk/models/filelistop.py +35 -2
- orq_ai_sdk/models/filepart.py +50 -1
- orq_ai_sdk/models/fileuploadop.py +51 -2
- orq_ai_sdk/models/generateconversationnameop.py +31 -20
- orq_ai_sdk/models/get_v2_evaluators_id_versionsop.py +34 -1
- orq_ai_sdk/models/get_v2_tools_tool_id_versions_version_id_op.py +18 -1
- orq_ai_sdk/models/get_v2_tools_tool_id_versionsop.py +34 -1
- orq_ai_sdk/models/getallmemoriesop.py +34 -21
- orq_ai_sdk/models/getallmemorydocumentsop.py +42 -1
- orq_ai_sdk/models/getallmemorystoresop.py +34 -1
- orq_ai_sdk/models/getallpromptsop.py +1690 -230
- orq_ai_sdk/models/getalltoolsop.py +325 -8
- orq_ai_sdk/models/getchunkscountop.py +34 -1
- orq_ai_sdk/models/getevalsop.py +395 -43
- orq_ai_sdk/models/getonechunkop.py +14 -19
- orq_ai_sdk/models/getoneknowledgeop.py +116 -96
- orq_ai_sdk/models/getonepromptop.py +1673 -230
- orq_ai_sdk/models/getpromptversionop.py +1670 -216
- orq_ai_sdk/models/imagecontentpartschema.py +50 -1
- orq_ai_sdk/models/internal/globals.py +18 -1
- orq_ai_sdk/models/invokeagentop.py +140 -2
- orq_ai_sdk/models/invokedeploymentrequest.py +418 -80
- orq_ai_sdk/models/invokeevalop.py +160 -131
- orq_ai_sdk/models/listagentsop.py +793 -166
- orq_ai_sdk/models/listchunksop.py +32 -19
- orq_ai_sdk/models/listchunkspaginatedop.py +46 -19
- orq_ai_sdk/models/listconversationsop.py +18 -1
- orq_ai_sdk/models/listdatasetdatapointsop.py +252 -42
- orq_ai_sdk/models/listdatasetsop.py +35 -2
- orq_ai_sdk/models/listdatasourcesop.py +35 -26
- orq_ai_sdk/models/{listcontactsop.py → listidentitiesop.py} +89 -79
- orq_ai_sdk/models/listknowledgebasesop.py +132 -96
- orq_ai_sdk/models/listmodelsop.py +1 -0
- orq_ai_sdk/models/listpromptversionsop.py +1684 -216
- orq_ai_sdk/models/parseop.py +161 -17
- orq_ai_sdk/models/partdoneevent.py +19 -2
- orq_ai_sdk/models/post_v2_router_ocrop.py +408 -0
- orq_ai_sdk/models/publiccontact.py +27 -4
- orq_ai_sdk/models/publicidentity.py +62 -0
- orq_ai_sdk/models/reasoningpart.py +19 -2
- orq_ai_sdk/models/refusalpartschema.py +18 -1
- orq_ai_sdk/models/remoteconfigsgetconfigop.py +34 -1
- orq_ai_sdk/models/responsedoneevent.py +114 -84
- orq_ai_sdk/models/responsestartedevent.py +18 -1
- orq_ai_sdk/models/retrieveagentrequestop.py +787 -166
- orq_ai_sdk/models/retrievedatapointop.py +236 -42
- orq_ai_sdk/models/retrievedatasetop.py +19 -2
- orq_ai_sdk/models/retrievedatasourceop.py +17 -26
- orq_ai_sdk/models/{retrievecontactop.py → retrieveidentityop.py} +38 -41
- orq_ai_sdk/models/retrievememorydocumentop.py +18 -1
- orq_ai_sdk/models/retrievememoryop.py +18 -21
- orq_ai_sdk/models/retrievememorystoreop.py +18 -1
- orq_ai_sdk/models/retrievetoolop.py +309 -8
- orq_ai_sdk/models/runagentop.py +1451 -197
- orq_ai_sdk/models/searchknowledgeop.py +108 -1
- orq_ai_sdk/models/security.py +18 -1
- orq_ai_sdk/models/streamagentop.py +93 -2
- orq_ai_sdk/models/streamrunagentop.py +1428 -195
- orq_ai_sdk/models/textcontentpartschema.py +34 -1
- orq_ai_sdk/models/thinkingconfigenabledschema.py +18 -1
- orq_ai_sdk/models/toolcallpart.py +18 -1
- orq_ai_sdk/models/tooldoneevent.py +18 -1
- orq_ai_sdk/models/toolexecutionfailedstreamingevent.py +50 -1
- orq_ai_sdk/models/toolexecutionfinishedstreamingevent.py +34 -1
- orq_ai_sdk/models/toolexecutionstartedstreamingevent.py +34 -1
- orq_ai_sdk/models/toolresultpart.py +18 -1
- orq_ai_sdk/models/toolreviewrequestedevent.py +18 -1
- orq_ai_sdk/models/toolstartedevent.py +18 -1
- orq_ai_sdk/models/updateagentop.py +1951 -404
- orq_ai_sdk/models/updatechunkop.py +46 -19
- orq_ai_sdk/models/updateconversationop.py +61 -39
- orq_ai_sdk/models/updatedatapointop.py +424 -80
- orq_ai_sdk/models/updatedatasetop.py +51 -2
- orq_ai_sdk/models/updatedatasourceop.py +17 -26
- orq_ai_sdk/models/updateevalop.py +577 -16
- orq_ai_sdk/models/{updatecontactop.py → updateidentityop.py} +78 -68
- orq_ai_sdk/models/updateknowledgeop.py +234 -190
- orq_ai_sdk/models/updatememorydocumentop.py +50 -1
- orq_ai_sdk/models/updatememoryop.py +50 -21
- orq_ai_sdk/models/updatememorystoreop.py +66 -1
- orq_ai_sdk/models/updatepromptop.py +2844 -1450
- orq_ai_sdk/models/updatetoolop.py +592 -9
- orq_ai_sdk/models/usermessagerequest.py +18 -2
- orq_ai_sdk/moderations.py +218 -0
- orq_ai_sdk/orq_completions.py +660 -0
- orq_ai_sdk/orq_responses.py +398 -0
- orq_ai_sdk/prompts.py +28 -36
- orq_ai_sdk/rerank.py +232 -0
- orq_ai_sdk/router.py +89 -641
- orq_ai_sdk/sdk.py +3 -0
- orq_ai_sdk/speech.py +251 -0
- orq_ai_sdk/transcriptions.py +326 -0
- orq_ai_sdk/translations.py +298 -0
- orq_ai_sdk/utils/__init__.py +13 -1
- orq_ai_sdk/variations.py +254 -0
- orq_ai_sdk-4.2.6.dist-info/METADATA +888 -0
- orq_ai_sdk-4.2.6.dist-info/RECORD +263 -0
- {orq_ai_sdk-4.2.0rc28.dist-info → orq_ai_sdk-4.2.6.dist-info}/WHEEL +2 -1
- orq_ai_sdk-4.2.6.dist-info/top_level.txt +1 -0
- orq_ai_sdk-4.2.0rc28.dist-info/METADATA +0 -867
- orq_ai_sdk-4.2.0rc28.dist-info/RECORD +0 -233
orq_ai_sdk/identities.py
ADDED
|
@@ -0,0 +1,1037 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from .basesdk import BaseSDK
|
|
4
|
+
from orq_ai_sdk import models, utils
|
|
5
|
+
from orq_ai_sdk._hooks import HookContext
|
|
6
|
+
from orq_ai_sdk.models import (
|
|
7
|
+
createidentityop as models_createidentityop,
|
|
8
|
+
listidentitiesop as models_listidentitiesop,
|
|
9
|
+
)
|
|
10
|
+
from orq_ai_sdk.types import BaseModel, OptionalNullable, UNSET
|
|
11
|
+
from orq_ai_sdk.utils import get_security_from_env
|
|
12
|
+
from orq_ai_sdk.utils.unmarshal_json_response import unmarshal_json_response
|
|
13
|
+
from typing import Any, Dict, List, Mapping, Optional, Union, cast
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Identities(BaseSDK):
|
|
17
|
+
def list(
|
|
18
|
+
self,
|
|
19
|
+
*,
|
|
20
|
+
limit: Optional[float] = 10,
|
|
21
|
+
starting_after: Optional[str] = None,
|
|
22
|
+
ending_before: Optional[str] = None,
|
|
23
|
+
search: Optional[str] = None,
|
|
24
|
+
filter_by: Optional[
|
|
25
|
+
Union[
|
|
26
|
+
models_listidentitiesop.QueryParamFilterBy,
|
|
27
|
+
models_listidentitiesop.QueryParamFilterByTypedDict,
|
|
28
|
+
]
|
|
29
|
+
] = None,
|
|
30
|
+
include_metrics: OptionalNullable[bool] = False,
|
|
31
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
32
|
+
server_url: Optional[str] = None,
|
|
33
|
+
timeout_ms: Optional[int] = None,
|
|
34
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
35
|
+
) -> models.ListIdentitiesResponseBody:
|
|
36
|
+
r"""List identities
|
|
37
|
+
|
|
38
|
+
Retrieves a paginated list of identities in your workspace. Use pagination parameters to navigate through large identity lists efficiently.
|
|
39
|
+
|
|
40
|
+
:param limit: A limit on the number of objects to be returned. Limit can range between 1 and 50, and the default is 10
|
|
41
|
+
:param starting_after: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with `01JJ1HDHN79XAS7A01WB3HYSDB`, your subsequent call can include `after=01JJ1HDHN79XAS7A01WB3HYSDB` in order to fetch the next page of the list.
|
|
42
|
+
:param ending_before: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with `01JJ1HDHN79XAS7A01WB3HYSDB`, your subsequent call can include `before=01JJ1HDHN79XAS7A01WB3HYSDB` in order to fetch the previous page of the list.
|
|
43
|
+
:param search: Search identities by display name or email address. Minimum 2 characters required.
|
|
44
|
+
:param filter_by: Filter identities by tags. Can be provided as JSON object {\"tags\": [\"premium\", \"beta-user\"]} or as query format \"tags=premium,beta-user\"
|
|
45
|
+
:param include_metrics: Include usage metrics of the last 30 days for each identity.
|
|
46
|
+
:param retries: Override the default retry configuration for this method
|
|
47
|
+
:param server_url: Override the default server URL for this method
|
|
48
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
49
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
50
|
+
"""
|
|
51
|
+
base_url = None
|
|
52
|
+
url_variables = None
|
|
53
|
+
if timeout_ms is None:
|
|
54
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
55
|
+
|
|
56
|
+
if timeout_ms is None:
|
|
57
|
+
timeout_ms = 600000
|
|
58
|
+
|
|
59
|
+
if server_url is not None:
|
|
60
|
+
base_url = server_url
|
|
61
|
+
else:
|
|
62
|
+
base_url = self._get_url(base_url, url_variables)
|
|
63
|
+
|
|
64
|
+
request = models.ListIdentitiesRequest(
|
|
65
|
+
limit=limit,
|
|
66
|
+
starting_after=starting_after,
|
|
67
|
+
ending_before=ending_before,
|
|
68
|
+
search=search,
|
|
69
|
+
filter_by=utils.get_pydantic_model(
|
|
70
|
+
filter_by, Optional[models.QueryParamFilterBy]
|
|
71
|
+
),
|
|
72
|
+
include_metrics=include_metrics,
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
req = self._build_request(
|
|
76
|
+
method="GET",
|
|
77
|
+
path="/v2/identities",
|
|
78
|
+
base_url=base_url,
|
|
79
|
+
url_variables=url_variables,
|
|
80
|
+
request=request,
|
|
81
|
+
request_body_required=False,
|
|
82
|
+
request_has_path_params=False,
|
|
83
|
+
request_has_query_params=True,
|
|
84
|
+
user_agent_header="user-agent",
|
|
85
|
+
accept_header_value="application/json",
|
|
86
|
+
http_headers=http_headers,
|
|
87
|
+
security=self.sdk_configuration.security,
|
|
88
|
+
allow_empty_value=None,
|
|
89
|
+
timeout_ms=timeout_ms,
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
if retries == UNSET:
|
|
93
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
94
|
+
retries = self.sdk_configuration.retry_config
|
|
95
|
+
|
|
96
|
+
retry_config = None
|
|
97
|
+
if isinstance(retries, utils.RetryConfig):
|
|
98
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
99
|
+
|
|
100
|
+
http_res = self.do_request(
|
|
101
|
+
hook_ctx=HookContext(
|
|
102
|
+
config=self.sdk_configuration,
|
|
103
|
+
base_url=base_url or "",
|
|
104
|
+
operation_id="ListIdentities",
|
|
105
|
+
oauth2_scopes=None,
|
|
106
|
+
security_source=get_security_from_env(
|
|
107
|
+
self.sdk_configuration.security, models.Security
|
|
108
|
+
),
|
|
109
|
+
),
|
|
110
|
+
request=req,
|
|
111
|
+
error_status_codes=["4XX", "5XX"],
|
|
112
|
+
retry_config=retry_config,
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
116
|
+
return unmarshal_json_response(models.ListIdentitiesResponseBody, http_res)
|
|
117
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
118
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
119
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
120
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
121
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
122
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
123
|
+
|
|
124
|
+
raise models.APIError("Unexpected response received", http_res)
|
|
125
|
+
|
|
126
|
+
async def list_async(
|
|
127
|
+
self,
|
|
128
|
+
*,
|
|
129
|
+
limit: Optional[float] = 10,
|
|
130
|
+
starting_after: Optional[str] = None,
|
|
131
|
+
ending_before: Optional[str] = None,
|
|
132
|
+
search: Optional[str] = None,
|
|
133
|
+
filter_by: Optional[
|
|
134
|
+
Union[
|
|
135
|
+
models_listidentitiesop.QueryParamFilterBy,
|
|
136
|
+
models_listidentitiesop.QueryParamFilterByTypedDict,
|
|
137
|
+
]
|
|
138
|
+
] = None,
|
|
139
|
+
include_metrics: OptionalNullable[bool] = False,
|
|
140
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
141
|
+
server_url: Optional[str] = None,
|
|
142
|
+
timeout_ms: Optional[int] = None,
|
|
143
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
144
|
+
) -> models.ListIdentitiesResponseBody:
|
|
145
|
+
r"""List identities
|
|
146
|
+
|
|
147
|
+
Retrieves a paginated list of identities in your workspace. Use pagination parameters to navigate through large identity lists efficiently.
|
|
148
|
+
|
|
149
|
+
:param limit: A limit on the number of objects to be returned. Limit can range between 1 and 50, and the default is 10
|
|
150
|
+
:param starting_after: A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, ending with `01JJ1HDHN79XAS7A01WB3HYSDB`, your subsequent call can include `after=01JJ1HDHN79XAS7A01WB3HYSDB` in order to fetch the next page of the list.
|
|
151
|
+
:param ending_before: A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 20 objects, starting with `01JJ1HDHN79XAS7A01WB3HYSDB`, your subsequent call can include `before=01JJ1HDHN79XAS7A01WB3HYSDB` in order to fetch the previous page of the list.
|
|
152
|
+
:param search: Search identities by display name or email address. Minimum 2 characters required.
|
|
153
|
+
:param filter_by: Filter identities by tags. Can be provided as JSON object {\"tags\": [\"premium\", \"beta-user\"]} or as query format \"tags=premium,beta-user\"
|
|
154
|
+
:param include_metrics: Include usage metrics of the last 30 days for each identity.
|
|
155
|
+
:param retries: Override the default retry configuration for this method
|
|
156
|
+
:param server_url: Override the default server URL for this method
|
|
157
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
158
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
159
|
+
"""
|
|
160
|
+
base_url = None
|
|
161
|
+
url_variables = None
|
|
162
|
+
if timeout_ms is None:
|
|
163
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
164
|
+
|
|
165
|
+
if timeout_ms is None:
|
|
166
|
+
timeout_ms = 600000
|
|
167
|
+
|
|
168
|
+
if server_url is not None:
|
|
169
|
+
base_url = server_url
|
|
170
|
+
else:
|
|
171
|
+
base_url = self._get_url(base_url, url_variables)
|
|
172
|
+
|
|
173
|
+
request = models.ListIdentitiesRequest(
|
|
174
|
+
limit=limit,
|
|
175
|
+
starting_after=starting_after,
|
|
176
|
+
ending_before=ending_before,
|
|
177
|
+
search=search,
|
|
178
|
+
filter_by=utils.get_pydantic_model(
|
|
179
|
+
filter_by, Optional[models.QueryParamFilterBy]
|
|
180
|
+
),
|
|
181
|
+
include_metrics=include_metrics,
|
|
182
|
+
)
|
|
183
|
+
|
|
184
|
+
req = self._build_request_async(
|
|
185
|
+
method="GET",
|
|
186
|
+
path="/v2/identities",
|
|
187
|
+
base_url=base_url,
|
|
188
|
+
url_variables=url_variables,
|
|
189
|
+
request=request,
|
|
190
|
+
request_body_required=False,
|
|
191
|
+
request_has_path_params=False,
|
|
192
|
+
request_has_query_params=True,
|
|
193
|
+
user_agent_header="user-agent",
|
|
194
|
+
accept_header_value="application/json",
|
|
195
|
+
http_headers=http_headers,
|
|
196
|
+
security=self.sdk_configuration.security,
|
|
197
|
+
allow_empty_value=None,
|
|
198
|
+
timeout_ms=timeout_ms,
|
|
199
|
+
)
|
|
200
|
+
|
|
201
|
+
if retries == UNSET:
|
|
202
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
203
|
+
retries = self.sdk_configuration.retry_config
|
|
204
|
+
|
|
205
|
+
retry_config = None
|
|
206
|
+
if isinstance(retries, utils.RetryConfig):
|
|
207
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
208
|
+
|
|
209
|
+
http_res = await self.do_request_async(
|
|
210
|
+
hook_ctx=HookContext(
|
|
211
|
+
config=self.sdk_configuration,
|
|
212
|
+
base_url=base_url or "",
|
|
213
|
+
operation_id="ListIdentities",
|
|
214
|
+
oauth2_scopes=None,
|
|
215
|
+
security_source=get_security_from_env(
|
|
216
|
+
self.sdk_configuration.security, models.Security
|
|
217
|
+
),
|
|
218
|
+
),
|
|
219
|
+
request=req,
|
|
220
|
+
error_status_codes=["4XX", "5XX"],
|
|
221
|
+
retry_config=retry_config,
|
|
222
|
+
)
|
|
223
|
+
|
|
224
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
225
|
+
return unmarshal_json_response(models.ListIdentitiesResponseBody, http_res)
|
|
226
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
227
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
228
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
229
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
230
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
231
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
232
|
+
|
|
233
|
+
raise models.APIError("Unexpected response received", http_res)
|
|
234
|
+
|
|
235
|
+
def create(
|
|
236
|
+
self,
|
|
237
|
+
*,
|
|
238
|
+
request: Optional[
|
|
239
|
+
Union[
|
|
240
|
+
models_createidentityop.CreateIdentityRequestBody,
|
|
241
|
+
models_createidentityop.CreateIdentityRequestBodyTypedDict,
|
|
242
|
+
]
|
|
243
|
+
] = None,
|
|
244
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
245
|
+
server_url: Optional[str] = None,
|
|
246
|
+
timeout_ms: Optional[int] = None,
|
|
247
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
248
|
+
) -> models.CreateIdentityResponseBody:
|
|
249
|
+
r"""Create an identity
|
|
250
|
+
|
|
251
|
+
Creates a new identity with a unique external_id. If an identity with the same external_id already exists, the operation will fail. Use this endpoint to add users from your system to orq.ai for tracking their usage and engagement.
|
|
252
|
+
|
|
253
|
+
:param request: The request object to send.
|
|
254
|
+
:param retries: Override the default retry configuration for this method
|
|
255
|
+
:param server_url: Override the default server URL for this method
|
|
256
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
257
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
258
|
+
"""
|
|
259
|
+
base_url = None
|
|
260
|
+
url_variables = None
|
|
261
|
+
if timeout_ms is None:
|
|
262
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
263
|
+
|
|
264
|
+
if timeout_ms is None:
|
|
265
|
+
timeout_ms = 600000
|
|
266
|
+
|
|
267
|
+
if server_url is not None:
|
|
268
|
+
base_url = server_url
|
|
269
|
+
else:
|
|
270
|
+
base_url = self._get_url(base_url, url_variables)
|
|
271
|
+
|
|
272
|
+
if not isinstance(request, BaseModel):
|
|
273
|
+
request = utils.unmarshal(
|
|
274
|
+
request, Optional[models.CreateIdentityRequestBody]
|
|
275
|
+
)
|
|
276
|
+
request = cast(Optional[models.CreateIdentityRequestBody], request)
|
|
277
|
+
|
|
278
|
+
req = self._build_request(
|
|
279
|
+
method="POST",
|
|
280
|
+
path="/v2/identities",
|
|
281
|
+
base_url=base_url,
|
|
282
|
+
url_variables=url_variables,
|
|
283
|
+
request=request,
|
|
284
|
+
request_body_required=False,
|
|
285
|
+
request_has_path_params=False,
|
|
286
|
+
request_has_query_params=True,
|
|
287
|
+
user_agent_header="user-agent",
|
|
288
|
+
accept_header_value="application/json",
|
|
289
|
+
http_headers=http_headers,
|
|
290
|
+
security=self.sdk_configuration.security,
|
|
291
|
+
get_serialized_body=lambda: utils.serialize_request_body(
|
|
292
|
+
request, False, True, "json", Optional[models.CreateIdentityRequestBody]
|
|
293
|
+
),
|
|
294
|
+
allow_empty_value=None,
|
|
295
|
+
timeout_ms=timeout_ms,
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
if retries == UNSET:
|
|
299
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
300
|
+
retries = self.sdk_configuration.retry_config
|
|
301
|
+
|
|
302
|
+
retry_config = None
|
|
303
|
+
if isinstance(retries, utils.RetryConfig):
|
|
304
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
305
|
+
|
|
306
|
+
http_res = self.do_request(
|
|
307
|
+
hook_ctx=HookContext(
|
|
308
|
+
config=self.sdk_configuration,
|
|
309
|
+
base_url=base_url or "",
|
|
310
|
+
operation_id="CreateIdentity",
|
|
311
|
+
oauth2_scopes=None,
|
|
312
|
+
security_source=get_security_from_env(
|
|
313
|
+
self.sdk_configuration.security, models.Security
|
|
314
|
+
),
|
|
315
|
+
),
|
|
316
|
+
request=req,
|
|
317
|
+
error_status_codes=["4XX", "5XX"],
|
|
318
|
+
retry_config=retry_config,
|
|
319
|
+
)
|
|
320
|
+
|
|
321
|
+
if utils.match_response(http_res, "201", "application/json"):
|
|
322
|
+
return unmarshal_json_response(models.CreateIdentityResponseBody, http_res)
|
|
323
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
324
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
325
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
326
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
327
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
328
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
329
|
+
|
|
330
|
+
raise models.APIError("Unexpected response received", http_res)
|
|
331
|
+
|
|
332
|
+
async def create_async(
|
|
333
|
+
self,
|
|
334
|
+
*,
|
|
335
|
+
request: Optional[
|
|
336
|
+
Union[
|
|
337
|
+
models_createidentityop.CreateIdentityRequestBody,
|
|
338
|
+
models_createidentityop.CreateIdentityRequestBodyTypedDict,
|
|
339
|
+
]
|
|
340
|
+
] = None,
|
|
341
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
342
|
+
server_url: Optional[str] = None,
|
|
343
|
+
timeout_ms: Optional[int] = None,
|
|
344
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
345
|
+
) -> models.CreateIdentityResponseBody:
|
|
346
|
+
r"""Create an identity
|
|
347
|
+
|
|
348
|
+
Creates a new identity with a unique external_id. If an identity with the same external_id already exists, the operation will fail. Use this endpoint to add users from your system to orq.ai for tracking their usage and engagement.
|
|
349
|
+
|
|
350
|
+
:param request: The request object to send.
|
|
351
|
+
:param retries: Override the default retry configuration for this method
|
|
352
|
+
:param server_url: Override the default server URL for this method
|
|
353
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
354
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
355
|
+
"""
|
|
356
|
+
base_url = None
|
|
357
|
+
url_variables = None
|
|
358
|
+
if timeout_ms is None:
|
|
359
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
360
|
+
|
|
361
|
+
if timeout_ms is None:
|
|
362
|
+
timeout_ms = 600000
|
|
363
|
+
|
|
364
|
+
if server_url is not None:
|
|
365
|
+
base_url = server_url
|
|
366
|
+
else:
|
|
367
|
+
base_url = self._get_url(base_url, url_variables)
|
|
368
|
+
|
|
369
|
+
if not isinstance(request, BaseModel):
|
|
370
|
+
request = utils.unmarshal(
|
|
371
|
+
request, Optional[models.CreateIdentityRequestBody]
|
|
372
|
+
)
|
|
373
|
+
request = cast(Optional[models.CreateIdentityRequestBody], request)
|
|
374
|
+
|
|
375
|
+
req = self._build_request_async(
|
|
376
|
+
method="POST",
|
|
377
|
+
path="/v2/identities",
|
|
378
|
+
base_url=base_url,
|
|
379
|
+
url_variables=url_variables,
|
|
380
|
+
request=request,
|
|
381
|
+
request_body_required=False,
|
|
382
|
+
request_has_path_params=False,
|
|
383
|
+
request_has_query_params=True,
|
|
384
|
+
user_agent_header="user-agent",
|
|
385
|
+
accept_header_value="application/json",
|
|
386
|
+
http_headers=http_headers,
|
|
387
|
+
security=self.sdk_configuration.security,
|
|
388
|
+
get_serialized_body=lambda: utils.serialize_request_body(
|
|
389
|
+
request, False, True, "json", Optional[models.CreateIdentityRequestBody]
|
|
390
|
+
),
|
|
391
|
+
allow_empty_value=None,
|
|
392
|
+
timeout_ms=timeout_ms,
|
|
393
|
+
)
|
|
394
|
+
|
|
395
|
+
if retries == UNSET:
|
|
396
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
397
|
+
retries = self.sdk_configuration.retry_config
|
|
398
|
+
|
|
399
|
+
retry_config = None
|
|
400
|
+
if isinstance(retries, utils.RetryConfig):
|
|
401
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
402
|
+
|
|
403
|
+
http_res = await self.do_request_async(
|
|
404
|
+
hook_ctx=HookContext(
|
|
405
|
+
config=self.sdk_configuration,
|
|
406
|
+
base_url=base_url or "",
|
|
407
|
+
operation_id="CreateIdentity",
|
|
408
|
+
oauth2_scopes=None,
|
|
409
|
+
security_source=get_security_from_env(
|
|
410
|
+
self.sdk_configuration.security, models.Security
|
|
411
|
+
),
|
|
412
|
+
),
|
|
413
|
+
request=req,
|
|
414
|
+
error_status_codes=["4XX", "5XX"],
|
|
415
|
+
retry_config=retry_config,
|
|
416
|
+
)
|
|
417
|
+
|
|
418
|
+
if utils.match_response(http_res, "201", "application/json"):
|
|
419
|
+
return unmarshal_json_response(models.CreateIdentityResponseBody, http_res)
|
|
420
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
421
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
422
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
423
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
424
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
425
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
426
|
+
|
|
427
|
+
raise models.APIError("Unexpected response received", http_res)
|
|
428
|
+
|
|
429
|
+
def retrieve(
|
|
430
|
+
self,
|
|
431
|
+
*,
|
|
432
|
+
id: str,
|
|
433
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
434
|
+
server_url: Optional[str] = None,
|
|
435
|
+
timeout_ms: Optional[int] = None,
|
|
436
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
437
|
+
) -> models.RetrieveIdentityResponseBody:
|
|
438
|
+
r"""Retrieve an identity
|
|
439
|
+
|
|
440
|
+
Retrieves detailed information about a specific identity using their identity ID or external ID from your system.
|
|
441
|
+
|
|
442
|
+
:param id: Unique identity id or external id
|
|
443
|
+
:param retries: Override the default retry configuration for this method
|
|
444
|
+
:param server_url: Override the default server URL for this method
|
|
445
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
446
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
447
|
+
"""
|
|
448
|
+
base_url = None
|
|
449
|
+
url_variables = None
|
|
450
|
+
if timeout_ms is None:
|
|
451
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
452
|
+
|
|
453
|
+
if timeout_ms is None:
|
|
454
|
+
timeout_ms = 600000
|
|
455
|
+
|
|
456
|
+
if server_url is not None:
|
|
457
|
+
base_url = server_url
|
|
458
|
+
else:
|
|
459
|
+
base_url = self._get_url(base_url, url_variables)
|
|
460
|
+
|
|
461
|
+
request = models.RetrieveIdentityRequest(
|
|
462
|
+
id=id,
|
|
463
|
+
)
|
|
464
|
+
|
|
465
|
+
req = self._build_request(
|
|
466
|
+
method="GET",
|
|
467
|
+
path="/v2/identities/{id}",
|
|
468
|
+
base_url=base_url,
|
|
469
|
+
url_variables=url_variables,
|
|
470
|
+
request=request,
|
|
471
|
+
request_body_required=False,
|
|
472
|
+
request_has_path_params=True,
|
|
473
|
+
request_has_query_params=True,
|
|
474
|
+
user_agent_header="user-agent",
|
|
475
|
+
accept_header_value="application/json",
|
|
476
|
+
http_headers=http_headers,
|
|
477
|
+
security=self.sdk_configuration.security,
|
|
478
|
+
allow_empty_value=None,
|
|
479
|
+
timeout_ms=timeout_ms,
|
|
480
|
+
)
|
|
481
|
+
|
|
482
|
+
if retries == UNSET:
|
|
483
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
484
|
+
retries = self.sdk_configuration.retry_config
|
|
485
|
+
|
|
486
|
+
retry_config = None
|
|
487
|
+
if isinstance(retries, utils.RetryConfig):
|
|
488
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
489
|
+
|
|
490
|
+
http_res = self.do_request(
|
|
491
|
+
hook_ctx=HookContext(
|
|
492
|
+
config=self.sdk_configuration,
|
|
493
|
+
base_url=base_url or "",
|
|
494
|
+
operation_id="RetrieveIdentity",
|
|
495
|
+
oauth2_scopes=None,
|
|
496
|
+
security_source=get_security_from_env(
|
|
497
|
+
self.sdk_configuration.security, models.Security
|
|
498
|
+
),
|
|
499
|
+
),
|
|
500
|
+
request=req,
|
|
501
|
+
error_status_codes=["404", "4XX", "5XX"],
|
|
502
|
+
retry_config=retry_config,
|
|
503
|
+
)
|
|
504
|
+
|
|
505
|
+
response_data: Any = None
|
|
506
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
507
|
+
return unmarshal_json_response(
|
|
508
|
+
models.RetrieveIdentityResponseBody, http_res
|
|
509
|
+
)
|
|
510
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
511
|
+
response_data = unmarshal_json_response(
|
|
512
|
+
models.RetrieveIdentityIdentitiesResponseBodyData, http_res
|
|
513
|
+
)
|
|
514
|
+
raise models.RetrieveIdentityIdentitiesResponseBody(response_data, http_res)
|
|
515
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
516
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
517
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
518
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
519
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
520
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
521
|
+
|
|
522
|
+
raise models.APIError("Unexpected response received", http_res)
|
|
523
|
+
|
|
524
|
+
async def retrieve_async(
|
|
525
|
+
self,
|
|
526
|
+
*,
|
|
527
|
+
id: str,
|
|
528
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
529
|
+
server_url: Optional[str] = None,
|
|
530
|
+
timeout_ms: Optional[int] = None,
|
|
531
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
532
|
+
) -> models.RetrieveIdentityResponseBody:
|
|
533
|
+
r"""Retrieve an identity
|
|
534
|
+
|
|
535
|
+
Retrieves detailed information about a specific identity using their identity ID or external ID from your system.
|
|
536
|
+
|
|
537
|
+
:param id: Unique identity id or external id
|
|
538
|
+
:param retries: Override the default retry configuration for this method
|
|
539
|
+
:param server_url: Override the default server URL for this method
|
|
540
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
541
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
542
|
+
"""
|
|
543
|
+
base_url = None
|
|
544
|
+
url_variables = None
|
|
545
|
+
if timeout_ms is None:
|
|
546
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
547
|
+
|
|
548
|
+
if timeout_ms is None:
|
|
549
|
+
timeout_ms = 600000
|
|
550
|
+
|
|
551
|
+
if server_url is not None:
|
|
552
|
+
base_url = server_url
|
|
553
|
+
else:
|
|
554
|
+
base_url = self._get_url(base_url, url_variables)
|
|
555
|
+
|
|
556
|
+
request = models.RetrieveIdentityRequest(
|
|
557
|
+
id=id,
|
|
558
|
+
)
|
|
559
|
+
|
|
560
|
+
req = self._build_request_async(
|
|
561
|
+
method="GET",
|
|
562
|
+
path="/v2/identities/{id}",
|
|
563
|
+
base_url=base_url,
|
|
564
|
+
url_variables=url_variables,
|
|
565
|
+
request=request,
|
|
566
|
+
request_body_required=False,
|
|
567
|
+
request_has_path_params=True,
|
|
568
|
+
request_has_query_params=True,
|
|
569
|
+
user_agent_header="user-agent",
|
|
570
|
+
accept_header_value="application/json",
|
|
571
|
+
http_headers=http_headers,
|
|
572
|
+
security=self.sdk_configuration.security,
|
|
573
|
+
allow_empty_value=None,
|
|
574
|
+
timeout_ms=timeout_ms,
|
|
575
|
+
)
|
|
576
|
+
|
|
577
|
+
if retries == UNSET:
|
|
578
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
579
|
+
retries = self.sdk_configuration.retry_config
|
|
580
|
+
|
|
581
|
+
retry_config = None
|
|
582
|
+
if isinstance(retries, utils.RetryConfig):
|
|
583
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
584
|
+
|
|
585
|
+
http_res = await self.do_request_async(
|
|
586
|
+
hook_ctx=HookContext(
|
|
587
|
+
config=self.sdk_configuration,
|
|
588
|
+
base_url=base_url or "",
|
|
589
|
+
operation_id="RetrieveIdentity",
|
|
590
|
+
oauth2_scopes=None,
|
|
591
|
+
security_source=get_security_from_env(
|
|
592
|
+
self.sdk_configuration.security, models.Security
|
|
593
|
+
),
|
|
594
|
+
),
|
|
595
|
+
request=req,
|
|
596
|
+
error_status_codes=["404", "4XX", "5XX"],
|
|
597
|
+
retry_config=retry_config,
|
|
598
|
+
)
|
|
599
|
+
|
|
600
|
+
response_data: Any = None
|
|
601
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
602
|
+
return unmarshal_json_response(
|
|
603
|
+
models.RetrieveIdentityResponseBody, http_res
|
|
604
|
+
)
|
|
605
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
606
|
+
response_data = unmarshal_json_response(
|
|
607
|
+
models.RetrieveIdentityIdentitiesResponseBodyData, http_res
|
|
608
|
+
)
|
|
609
|
+
raise models.RetrieveIdentityIdentitiesResponseBody(response_data, http_res)
|
|
610
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
611
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
612
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
613
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
614
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
615
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
616
|
+
|
|
617
|
+
raise models.APIError("Unexpected response received", http_res)
|
|
618
|
+
|
|
619
|
+
def update(
|
|
620
|
+
self,
|
|
621
|
+
*,
|
|
622
|
+
id: str,
|
|
623
|
+
display_name: OptionalNullable[str] = UNSET,
|
|
624
|
+
email: OptionalNullable[str] = UNSET,
|
|
625
|
+
avatar_url: OptionalNullable[str] = UNSET,
|
|
626
|
+
tags: Optional[List[str]] = None,
|
|
627
|
+
metadata: Optional[Dict[str, Any]] = None,
|
|
628
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
629
|
+
server_url: Optional[str] = None,
|
|
630
|
+
timeout_ms: Optional[int] = None,
|
|
631
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
632
|
+
) -> models.UpdateIdentityResponseBody:
|
|
633
|
+
r"""Update an identity
|
|
634
|
+
|
|
635
|
+
Updates specific fields of an existing identity. Only the fields provided in the request body will be updated.
|
|
636
|
+
|
|
637
|
+
:param id: Unique identity id or external id
|
|
638
|
+
:param display_name: Display name or nickname of the contact user. This is typically shown in user interfaces.
|
|
639
|
+
:param email: Email address of the contact user
|
|
640
|
+
:param avatar_url: URL linking to the contact user's avatar image
|
|
641
|
+
:param tags: Array of tags associated with the contact. Useful for organizing and filtering contacts by categories, departments, or custom classifications.
|
|
642
|
+
:param metadata: Additional custom metadata associated with the contact as key-value pairs. Use this to store any extra information specific to your application.
|
|
643
|
+
:param retries: Override the default retry configuration for this method
|
|
644
|
+
:param server_url: Override the default server URL for this method
|
|
645
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
646
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
647
|
+
"""
|
|
648
|
+
base_url = None
|
|
649
|
+
url_variables = None
|
|
650
|
+
if timeout_ms is None:
|
|
651
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
652
|
+
|
|
653
|
+
if timeout_ms is None:
|
|
654
|
+
timeout_ms = 600000
|
|
655
|
+
|
|
656
|
+
if server_url is not None:
|
|
657
|
+
base_url = server_url
|
|
658
|
+
else:
|
|
659
|
+
base_url = self._get_url(base_url, url_variables)
|
|
660
|
+
|
|
661
|
+
request = models.UpdateIdentityRequest(
|
|
662
|
+
id=id,
|
|
663
|
+
request_body=models.UpdateIdentityRequestBody(
|
|
664
|
+
display_name=display_name,
|
|
665
|
+
email=email,
|
|
666
|
+
avatar_url=avatar_url,
|
|
667
|
+
tags=tags,
|
|
668
|
+
metadata=metadata,
|
|
669
|
+
),
|
|
670
|
+
)
|
|
671
|
+
|
|
672
|
+
req = self._build_request(
|
|
673
|
+
method="PATCH",
|
|
674
|
+
path="/v2/identities/{id}",
|
|
675
|
+
base_url=base_url,
|
|
676
|
+
url_variables=url_variables,
|
|
677
|
+
request=request,
|
|
678
|
+
request_body_required=False,
|
|
679
|
+
request_has_path_params=True,
|
|
680
|
+
request_has_query_params=True,
|
|
681
|
+
user_agent_header="user-agent",
|
|
682
|
+
accept_header_value="application/json",
|
|
683
|
+
http_headers=http_headers,
|
|
684
|
+
security=self.sdk_configuration.security,
|
|
685
|
+
get_serialized_body=lambda: utils.serialize_request_body(
|
|
686
|
+
request.request_body,
|
|
687
|
+
False,
|
|
688
|
+
True,
|
|
689
|
+
"json",
|
|
690
|
+
Optional[models.UpdateIdentityRequestBody],
|
|
691
|
+
),
|
|
692
|
+
allow_empty_value=None,
|
|
693
|
+
timeout_ms=timeout_ms,
|
|
694
|
+
)
|
|
695
|
+
|
|
696
|
+
if retries == UNSET:
|
|
697
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
698
|
+
retries = self.sdk_configuration.retry_config
|
|
699
|
+
|
|
700
|
+
retry_config = None
|
|
701
|
+
if isinstance(retries, utils.RetryConfig):
|
|
702
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
703
|
+
|
|
704
|
+
http_res = self.do_request(
|
|
705
|
+
hook_ctx=HookContext(
|
|
706
|
+
config=self.sdk_configuration,
|
|
707
|
+
base_url=base_url or "",
|
|
708
|
+
operation_id="UpdateIdentity",
|
|
709
|
+
oauth2_scopes=None,
|
|
710
|
+
security_source=get_security_from_env(
|
|
711
|
+
self.sdk_configuration.security, models.Security
|
|
712
|
+
),
|
|
713
|
+
),
|
|
714
|
+
request=req,
|
|
715
|
+
error_status_codes=["404", "4XX", "5XX"],
|
|
716
|
+
retry_config=retry_config,
|
|
717
|
+
)
|
|
718
|
+
|
|
719
|
+
response_data: Any = None
|
|
720
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
721
|
+
return unmarshal_json_response(models.UpdateIdentityResponseBody, http_res)
|
|
722
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
723
|
+
response_data = unmarshal_json_response(
|
|
724
|
+
models.UpdateIdentityIdentitiesResponseBodyData, http_res
|
|
725
|
+
)
|
|
726
|
+
raise models.UpdateIdentityIdentitiesResponseBody(response_data, http_res)
|
|
727
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
728
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
729
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
730
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
731
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
732
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
733
|
+
|
|
734
|
+
raise models.APIError("Unexpected response received", http_res)
|
|
735
|
+
|
|
736
|
+
async def update_async(
|
|
737
|
+
self,
|
|
738
|
+
*,
|
|
739
|
+
id: str,
|
|
740
|
+
display_name: OptionalNullable[str] = UNSET,
|
|
741
|
+
email: OptionalNullable[str] = UNSET,
|
|
742
|
+
avatar_url: OptionalNullable[str] = UNSET,
|
|
743
|
+
tags: Optional[List[str]] = None,
|
|
744
|
+
metadata: Optional[Dict[str, Any]] = None,
|
|
745
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
746
|
+
server_url: Optional[str] = None,
|
|
747
|
+
timeout_ms: Optional[int] = None,
|
|
748
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
749
|
+
) -> models.UpdateIdentityResponseBody:
|
|
750
|
+
r"""Update an identity
|
|
751
|
+
|
|
752
|
+
Updates specific fields of an existing identity. Only the fields provided in the request body will be updated.
|
|
753
|
+
|
|
754
|
+
:param id: Unique identity id or external id
|
|
755
|
+
:param display_name: Display name or nickname of the contact user. This is typically shown in user interfaces.
|
|
756
|
+
:param email: Email address of the contact user
|
|
757
|
+
:param avatar_url: URL linking to the contact user's avatar image
|
|
758
|
+
:param tags: Array of tags associated with the contact. Useful for organizing and filtering contacts by categories, departments, or custom classifications.
|
|
759
|
+
:param metadata: Additional custom metadata associated with the contact as key-value pairs. Use this to store any extra information specific to your application.
|
|
760
|
+
:param retries: Override the default retry configuration for this method
|
|
761
|
+
:param server_url: Override the default server URL for this method
|
|
762
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
763
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
764
|
+
"""
|
|
765
|
+
base_url = None
|
|
766
|
+
url_variables = None
|
|
767
|
+
if timeout_ms is None:
|
|
768
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
769
|
+
|
|
770
|
+
if timeout_ms is None:
|
|
771
|
+
timeout_ms = 600000
|
|
772
|
+
|
|
773
|
+
if server_url is not None:
|
|
774
|
+
base_url = server_url
|
|
775
|
+
else:
|
|
776
|
+
base_url = self._get_url(base_url, url_variables)
|
|
777
|
+
|
|
778
|
+
request = models.UpdateIdentityRequest(
|
|
779
|
+
id=id,
|
|
780
|
+
request_body=models.UpdateIdentityRequestBody(
|
|
781
|
+
display_name=display_name,
|
|
782
|
+
email=email,
|
|
783
|
+
avatar_url=avatar_url,
|
|
784
|
+
tags=tags,
|
|
785
|
+
metadata=metadata,
|
|
786
|
+
),
|
|
787
|
+
)
|
|
788
|
+
|
|
789
|
+
req = self._build_request_async(
|
|
790
|
+
method="PATCH",
|
|
791
|
+
path="/v2/identities/{id}",
|
|
792
|
+
base_url=base_url,
|
|
793
|
+
url_variables=url_variables,
|
|
794
|
+
request=request,
|
|
795
|
+
request_body_required=False,
|
|
796
|
+
request_has_path_params=True,
|
|
797
|
+
request_has_query_params=True,
|
|
798
|
+
user_agent_header="user-agent",
|
|
799
|
+
accept_header_value="application/json",
|
|
800
|
+
http_headers=http_headers,
|
|
801
|
+
security=self.sdk_configuration.security,
|
|
802
|
+
get_serialized_body=lambda: utils.serialize_request_body(
|
|
803
|
+
request.request_body,
|
|
804
|
+
False,
|
|
805
|
+
True,
|
|
806
|
+
"json",
|
|
807
|
+
Optional[models.UpdateIdentityRequestBody],
|
|
808
|
+
),
|
|
809
|
+
allow_empty_value=None,
|
|
810
|
+
timeout_ms=timeout_ms,
|
|
811
|
+
)
|
|
812
|
+
|
|
813
|
+
if retries == UNSET:
|
|
814
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
815
|
+
retries = self.sdk_configuration.retry_config
|
|
816
|
+
|
|
817
|
+
retry_config = None
|
|
818
|
+
if isinstance(retries, utils.RetryConfig):
|
|
819
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
820
|
+
|
|
821
|
+
http_res = await self.do_request_async(
|
|
822
|
+
hook_ctx=HookContext(
|
|
823
|
+
config=self.sdk_configuration,
|
|
824
|
+
base_url=base_url or "",
|
|
825
|
+
operation_id="UpdateIdentity",
|
|
826
|
+
oauth2_scopes=None,
|
|
827
|
+
security_source=get_security_from_env(
|
|
828
|
+
self.sdk_configuration.security, models.Security
|
|
829
|
+
),
|
|
830
|
+
),
|
|
831
|
+
request=req,
|
|
832
|
+
error_status_codes=["404", "4XX", "5XX"],
|
|
833
|
+
retry_config=retry_config,
|
|
834
|
+
)
|
|
835
|
+
|
|
836
|
+
response_data: Any = None
|
|
837
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
838
|
+
return unmarshal_json_response(models.UpdateIdentityResponseBody, http_res)
|
|
839
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
840
|
+
response_data = unmarshal_json_response(
|
|
841
|
+
models.UpdateIdentityIdentitiesResponseBodyData, http_res
|
|
842
|
+
)
|
|
843
|
+
raise models.UpdateIdentityIdentitiesResponseBody(response_data, http_res)
|
|
844
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
845
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
846
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
847
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
848
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
849
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
850
|
+
|
|
851
|
+
raise models.APIError("Unexpected response received", http_res)
|
|
852
|
+
|
|
853
|
+
def delete(
|
|
854
|
+
self,
|
|
855
|
+
*,
|
|
856
|
+
id: str,
|
|
857
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
858
|
+
server_url: Optional[str] = None,
|
|
859
|
+
timeout_ms: Optional[int] = None,
|
|
860
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
861
|
+
):
|
|
862
|
+
r"""Delete an identity
|
|
863
|
+
|
|
864
|
+
Permanently deletes an identity from your workspace and cleans up associated budget configurations. This action cannot be undone.
|
|
865
|
+
|
|
866
|
+
:param id: Identity ID or External ID
|
|
867
|
+
:param retries: Override the default retry configuration for this method
|
|
868
|
+
:param server_url: Override the default server URL for this method
|
|
869
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
870
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
871
|
+
"""
|
|
872
|
+
base_url = None
|
|
873
|
+
url_variables = None
|
|
874
|
+
if timeout_ms is None:
|
|
875
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
876
|
+
|
|
877
|
+
if timeout_ms is None:
|
|
878
|
+
timeout_ms = 600000
|
|
879
|
+
|
|
880
|
+
if server_url is not None:
|
|
881
|
+
base_url = server_url
|
|
882
|
+
else:
|
|
883
|
+
base_url = self._get_url(base_url, url_variables)
|
|
884
|
+
|
|
885
|
+
request = models.DeleteIdentityRequest(
|
|
886
|
+
id=id,
|
|
887
|
+
)
|
|
888
|
+
|
|
889
|
+
req = self._build_request(
|
|
890
|
+
method="DELETE",
|
|
891
|
+
path="/v2/identities/{id}",
|
|
892
|
+
base_url=base_url,
|
|
893
|
+
url_variables=url_variables,
|
|
894
|
+
request=request,
|
|
895
|
+
request_body_required=False,
|
|
896
|
+
request_has_path_params=True,
|
|
897
|
+
request_has_query_params=True,
|
|
898
|
+
user_agent_header="user-agent",
|
|
899
|
+
accept_header_value="application/json",
|
|
900
|
+
http_headers=http_headers,
|
|
901
|
+
security=self.sdk_configuration.security,
|
|
902
|
+
allow_empty_value=None,
|
|
903
|
+
timeout_ms=timeout_ms,
|
|
904
|
+
)
|
|
905
|
+
|
|
906
|
+
if retries == UNSET:
|
|
907
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
908
|
+
retries = self.sdk_configuration.retry_config
|
|
909
|
+
|
|
910
|
+
retry_config = None
|
|
911
|
+
if isinstance(retries, utils.RetryConfig):
|
|
912
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
913
|
+
|
|
914
|
+
http_res = self.do_request(
|
|
915
|
+
hook_ctx=HookContext(
|
|
916
|
+
config=self.sdk_configuration,
|
|
917
|
+
base_url=base_url or "",
|
|
918
|
+
operation_id="DeleteIdentity",
|
|
919
|
+
oauth2_scopes=None,
|
|
920
|
+
security_source=get_security_from_env(
|
|
921
|
+
self.sdk_configuration.security, models.Security
|
|
922
|
+
),
|
|
923
|
+
),
|
|
924
|
+
request=req,
|
|
925
|
+
error_status_codes=["404", "4XX", "5XX"],
|
|
926
|
+
retry_config=retry_config,
|
|
927
|
+
)
|
|
928
|
+
|
|
929
|
+
response_data: Any = None
|
|
930
|
+
if utils.match_response(http_res, "204", "*"):
|
|
931
|
+
return
|
|
932
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
933
|
+
response_data = unmarshal_json_response(
|
|
934
|
+
models.DeleteIdentityResponseBodyData, http_res
|
|
935
|
+
)
|
|
936
|
+
raise models.DeleteIdentityResponseBody(response_data, http_res)
|
|
937
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
938
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
939
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
940
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
941
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
942
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
943
|
+
|
|
944
|
+
raise models.APIError("Unexpected response received", http_res)
|
|
945
|
+
|
|
946
|
+
async def delete_async(
|
|
947
|
+
self,
|
|
948
|
+
*,
|
|
949
|
+
id: str,
|
|
950
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
951
|
+
server_url: Optional[str] = None,
|
|
952
|
+
timeout_ms: Optional[int] = None,
|
|
953
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
954
|
+
):
|
|
955
|
+
r"""Delete an identity
|
|
956
|
+
|
|
957
|
+
Permanently deletes an identity from your workspace and cleans up associated budget configurations. This action cannot be undone.
|
|
958
|
+
|
|
959
|
+
:param id: Identity ID or External ID
|
|
960
|
+
:param retries: Override the default retry configuration for this method
|
|
961
|
+
:param server_url: Override the default server URL for this method
|
|
962
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
963
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
964
|
+
"""
|
|
965
|
+
base_url = None
|
|
966
|
+
url_variables = None
|
|
967
|
+
if timeout_ms is None:
|
|
968
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
969
|
+
|
|
970
|
+
if timeout_ms is None:
|
|
971
|
+
timeout_ms = 600000
|
|
972
|
+
|
|
973
|
+
if server_url is not None:
|
|
974
|
+
base_url = server_url
|
|
975
|
+
else:
|
|
976
|
+
base_url = self._get_url(base_url, url_variables)
|
|
977
|
+
|
|
978
|
+
request = models.DeleteIdentityRequest(
|
|
979
|
+
id=id,
|
|
980
|
+
)
|
|
981
|
+
|
|
982
|
+
req = self._build_request_async(
|
|
983
|
+
method="DELETE",
|
|
984
|
+
path="/v2/identities/{id}",
|
|
985
|
+
base_url=base_url,
|
|
986
|
+
url_variables=url_variables,
|
|
987
|
+
request=request,
|
|
988
|
+
request_body_required=False,
|
|
989
|
+
request_has_path_params=True,
|
|
990
|
+
request_has_query_params=True,
|
|
991
|
+
user_agent_header="user-agent",
|
|
992
|
+
accept_header_value="application/json",
|
|
993
|
+
http_headers=http_headers,
|
|
994
|
+
security=self.sdk_configuration.security,
|
|
995
|
+
allow_empty_value=None,
|
|
996
|
+
timeout_ms=timeout_ms,
|
|
997
|
+
)
|
|
998
|
+
|
|
999
|
+
if retries == UNSET:
|
|
1000
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
1001
|
+
retries = self.sdk_configuration.retry_config
|
|
1002
|
+
|
|
1003
|
+
retry_config = None
|
|
1004
|
+
if isinstance(retries, utils.RetryConfig):
|
|
1005
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
1006
|
+
|
|
1007
|
+
http_res = await self.do_request_async(
|
|
1008
|
+
hook_ctx=HookContext(
|
|
1009
|
+
config=self.sdk_configuration,
|
|
1010
|
+
base_url=base_url or "",
|
|
1011
|
+
operation_id="DeleteIdentity",
|
|
1012
|
+
oauth2_scopes=None,
|
|
1013
|
+
security_source=get_security_from_env(
|
|
1014
|
+
self.sdk_configuration.security, models.Security
|
|
1015
|
+
),
|
|
1016
|
+
),
|
|
1017
|
+
request=req,
|
|
1018
|
+
error_status_codes=["404", "4XX", "5XX"],
|
|
1019
|
+
retry_config=retry_config,
|
|
1020
|
+
)
|
|
1021
|
+
|
|
1022
|
+
response_data: Any = None
|
|
1023
|
+
if utils.match_response(http_res, "204", "*"):
|
|
1024
|
+
return
|
|
1025
|
+
if utils.match_response(http_res, "404", "application/json"):
|
|
1026
|
+
response_data = unmarshal_json_response(
|
|
1027
|
+
models.DeleteIdentityResponseBodyData, http_res
|
|
1028
|
+
)
|
|
1029
|
+
raise models.DeleteIdentityResponseBody(response_data, http_res)
|
|
1030
|
+
if utils.match_response(http_res, "4XX", "*"):
|
|
1031
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
1032
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
1033
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
1034
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
1035
|
+
raise models.APIError("API error occurred", http_res, http_res_text)
|
|
1036
|
+
|
|
1037
|
+
raise models.APIError("Unexpected response received", http_res)
|