scale-gp-beta 0.1.0a33__py3-none-any.whl → 0.1.0a35__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 (29) hide show
  1. scale_gp_beta/_client.py +20 -0
  2. scale_gp_beta/_version.py +1 -1
  3. scale_gp_beta/resources/__init__.py +28 -0
  4. scale_gp_beta/resources/chat/completions.py +0 -4
  5. scale_gp_beta/resources/credentials.py +853 -0
  6. scale_gp_beta/resources/evaluations.py +102 -7
  7. scale_gp_beta/resources/files/files.py +8 -0
  8. scale_gp_beta/resources/span_assessments.py +675 -0
  9. scale_gp_beta/types/__init__.py +13 -1
  10. scale_gp_beta/types/approval_status.py +7 -0
  11. scale_gp_beta/types/assessment_type.py +7 -0
  12. scale_gp_beta/types/chat/completion_models_params.py +0 -2
  13. scale_gp_beta/types/credential.py +30 -0
  14. scale_gp_beta/types/credential_create_params.py +25 -0
  15. scale_gp_beta/types/{evaluation_delete_response.py → credential_delete_response.py} +2 -2
  16. scale_gp_beta/types/credential_list_params.py +20 -0
  17. scale_gp_beta/types/credential_secret.py +13 -0
  18. scale_gp_beta/types/credential_update_params.py +25 -0
  19. scale_gp_beta/types/evaluation_update_params.py +12 -3
  20. scale_gp_beta/types/file_list_params.py +3 -0
  21. scale_gp_beta/types/span_assessment.py +72 -0
  22. scale_gp_beta/types/span_assessment_create_params.py +40 -0
  23. scale_gp_beta/types/span_assessment_delete_response.py +13 -0
  24. scale_gp_beta/types/span_assessment_list_params.py +26 -0
  25. scale_gp_beta/types/span_assessment_update_params.py +34 -0
  26. {scale_gp_beta-0.1.0a33.dist-info → scale_gp_beta-0.1.0a35.dist-info}/METADATA +2 -2
  27. {scale_gp_beta-0.1.0a33.dist-info → scale_gp_beta-0.1.0a35.dist-info}/RECORD +29 -15
  28. {scale_gp_beta-0.1.0a33.dist-info → scale_gp_beta-0.1.0a35.dist-info}/WHEEL +0 -0
  29. {scale_gp_beta-0.1.0a33.dist-info → scale_gp_beta-0.1.0a35.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,853 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict
6
+ from typing_extensions import Literal
7
+
8
+ import httpx
9
+
10
+ from ..types import credential_list_params, credential_create_params, credential_update_params
11
+ from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
12
+ from .._utils import maybe_transform, async_maybe_transform
13
+ from .._compat import cached_property
14
+ from .._resource import SyncAPIResource, AsyncAPIResource
15
+ from .._response import (
16
+ to_raw_response_wrapper,
17
+ to_streamed_response_wrapper,
18
+ async_to_raw_response_wrapper,
19
+ async_to_streamed_response_wrapper,
20
+ )
21
+ from ..pagination import SyncCursorPage, AsyncCursorPage
22
+ from .._base_client import AsyncPaginator, make_request_options
23
+ from ..types.credential import Credential
24
+ from ..types.credential_secret import CredentialSecret
25
+ from ..types.credential_delete_response import CredentialDeleteResponse
26
+
27
+ __all__ = ["CredentialsResource", "AsyncCredentialsResource"]
28
+
29
+
30
+ class CredentialsResource(SyncAPIResource):
31
+ @cached_property
32
+ def with_raw_response(self) -> CredentialsResourceWithRawResponse:
33
+ """
34
+ This property can be used as a prefix for any HTTP method call to return
35
+ the raw response object instead of the parsed content.
36
+
37
+ For more information, see https://www.github.com/scaleapi/sgp-python-beta#accessing-raw-response-data-eg-headers
38
+ """
39
+ return CredentialsResourceWithRawResponse(self)
40
+
41
+ @cached_property
42
+ def with_streaming_response(self) -> CredentialsResourceWithStreamingResponse:
43
+ """
44
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
45
+
46
+ For more information, see https://www.github.com/scaleapi/sgp-python-beta#with_streaming_response
47
+ """
48
+ return CredentialsResourceWithStreamingResponse(self)
49
+
50
+ def create(
51
+ self,
52
+ *,
53
+ name: str,
54
+ payload: str,
55
+ type: str,
56
+ credential_metadata: Dict[str, object] | Omit = omit,
57
+ description: str | Omit = omit,
58
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
59
+ # The extra values given here take precedence over values defined on the client or passed to this method.
60
+ extra_headers: Headers | None = None,
61
+ extra_query: Query | None = None,
62
+ extra_body: Body | None = None,
63
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
64
+ ) -> Credential:
65
+ """
66
+ Create a new credential for storing sensitive data like API keys, tokens, or
67
+ other secrets.
68
+
69
+ Args:
70
+ name: User-friendly name for the credential
71
+
72
+ payload: The credential payload to be encrypted
73
+
74
+ type: Type of credential: key or json
75
+
76
+ credential_metadata: Optional unencrypted credential_metadata
77
+
78
+ description: Optional description
79
+
80
+ extra_headers: Send extra headers
81
+
82
+ extra_query: Add additional query parameters to the request
83
+
84
+ extra_body: Add additional JSON properties to the request
85
+
86
+ timeout: Override the client-level default timeout for this request, in seconds
87
+ """
88
+ return self._post(
89
+ "/v5/credentials",
90
+ body=maybe_transform(
91
+ {
92
+ "name": name,
93
+ "payload": payload,
94
+ "type": type,
95
+ "credential_metadata": credential_metadata,
96
+ "description": description,
97
+ },
98
+ credential_create_params.CredentialCreateParams,
99
+ ),
100
+ options=make_request_options(
101
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
102
+ ),
103
+ cast_to=Credential,
104
+ )
105
+
106
+ def retrieve(
107
+ self,
108
+ credential_id: str,
109
+ *,
110
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
111
+ # The extra values given here take precedence over values defined on the client or passed to this method.
112
+ extra_headers: Headers | None = None,
113
+ extra_query: Query | None = None,
114
+ extra_body: Body | None = None,
115
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
116
+ ) -> Credential:
117
+ """
118
+ Retrieve a specific credential by its unique identifier.
119
+
120
+ Args:
121
+ extra_headers: Send extra headers
122
+
123
+ extra_query: Add additional query parameters to the request
124
+
125
+ extra_body: Add additional JSON properties to the request
126
+
127
+ timeout: Override the client-level default timeout for this request, in seconds
128
+ """
129
+ if not credential_id:
130
+ raise ValueError(f"Expected a non-empty value for `credential_id` but received {credential_id!r}")
131
+ return self._get(
132
+ f"/v5/credentials/{credential_id}",
133
+ options=make_request_options(
134
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
135
+ ),
136
+ cast_to=Credential,
137
+ )
138
+
139
+ def update(
140
+ self,
141
+ credential_id: str,
142
+ *,
143
+ credential_metadata: Dict[str, object] | Omit = omit,
144
+ description: str | Omit = omit,
145
+ name: str | Omit = omit,
146
+ payload: str | Omit = omit,
147
+ type: str | Omit = omit,
148
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
149
+ # The extra values given here take precedence over values defined on the client or passed to this method.
150
+ extra_headers: Headers | None = None,
151
+ extra_query: Query | None = None,
152
+ extra_body: Body | None = None,
153
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
154
+ ) -> Credential:
155
+ """
156
+ Update an existing credential's properties including name, description, type,
157
+ payload, and metadata.
158
+
159
+ Args:
160
+ credential_metadata: Optional unencrypted credential_metadata
161
+
162
+ description: Optional description
163
+
164
+ name: User-friendly name for the credential
165
+
166
+ payload: The credential payload to be encrypted
167
+
168
+ type: Type of credential: key or json
169
+
170
+ extra_headers: Send extra headers
171
+
172
+ extra_query: Add additional query parameters to the request
173
+
174
+ extra_body: Add additional JSON properties to the request
175
+
176
+ timeout: Override the client-level default timeout for this request, in seconds
177
+ """
178
+ if not credential_id:
179
+ raise ValueError(f"Expected a non-empty value for `credential_id` but received {credential_id!r}")
180
+ return self._patch(
181
+ f"/v5/credentials/{credential_id}",
182
+ body=maybe_transform(
183
+ {
184
+ "credential_metadata": credential_metadata,
185
+ "description": description,
186
+ "name": name,
187
+ "payload": payload,
188
+ "type": type,
189
+ },
190
+ credential_update_params.CredentialUpdateParams,
191
+ ),
192
+ options=make_request_options(
193
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
194
+ ),
195
+ cast_to=Credential,
196
+ )
197
+
198
+ def list(
199
+ self,
200
+ *,
201
+ ending_before: str | Omit = omit,
202
+ limit: int | Omit = omit,
203
+ name: str | Omit = omit,
204
+ sort_order: Literal["asc", "desc"] | Omit = omit,
205
+ starting_after: str | Omit = omit,
206
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
207
+ # The extra values given here take precedence over values defined on the client or passed to this method.
208
+ extra_headers: Headers | None = None,
209
+ extra_query: Query | None = None,
210
+ extra_body: Body | None = None,
211
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
212
+ ) -> SyncCursorPage[Credential]:
213
+ """
214
+ Retrieve a paginated list of all credentials for the current account with
215
+ optional name filtering.
216
+
217
+ Args:
218
+ name: Filter credentials by name
219
+
220
+ extra_headers: Send extra headers
221
+
222
+ extra_query: Add additional query parameters to the request
223
+
224
+ extra_body: Add additional JSON properties to the request
225
+
226
+ timeout: Override the client-level default timeout for this request, in seconds
227
+ """
228
+ return self._get_api_list(
229
+ "/v5/credentials",
230
+ page=SyncCursorPage[Credential],
231
+ options=make_request_options(
232
+ extra_headers=extra_headers,
233
+ extra_query=extra_query,
234
+ extra_body=extra_body,
235
+ timeout=timeout,
236
+ query=maybe_transform(
237
+ {
238
+ "ending_before": ending_before,
239
+ "limit": limit,
240
+ "name": name,
241
+ "sort_order": sort_order,
242
+ "starting_after": starting_after,
243
+ },
244
+ credential_list_params.CredentialListParams,
245
+ ),
246
+ ),
247
+ model=Credential,
248
+ )
249
+
250
+ def delete(
251
+ self,
252
+ credential_id: str,
253
+ *,
254
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
255
+ # The extra values given here take precedence over values defined on the client or passed to this method.
256
+ extra_headers: Headers | None = None,
257
+ extra_query: Query | None = None,
258
+ extra_body: Body | None = None,
259
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
260
+ ) -> CredentialDeleteResponse:
261
+ """
262
+ Permanently delete a credential and all its associated data.
263
+
264
+ Args:
265
+ extra_headers: Send extra headers
266
+
267
+ extra_query: Add additional query parameters to the request
268
+
269
+ extra_body: Add additional JSON properties to the request
270
+
271
+ timeout: Override the client-level default timeout for this request, in seconds
272
+ """
273
+ if not credential_id:
274
+ raise ValueError(f"Expected a non-empty value for `credential_id` but received {credential_id!r}")
275
+ return self._delete(
276
+ f"/v5/credentials/{credential_id}",
277
+ options=make_request_options(
278
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
279
+ ),
280
+ cast_to=CredentialDeleteResponse,
281
+ )
282
+
283
+ def decrypt(
284
+ self,
285
+ credential_id: str,
286
+ *,
287
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
288
+ # The extra values given here take precedence over values defined on the client or passed to this method.
289
+ extra_headers: Headers | None = None,
290
+ extra_query: Query | None = None,
291
+ extra_body: Body | None = None,
292
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
293
+ ) -> CredentialSecret:
294
+ """
295
+ Retrieve the plaintext payload of a credential by its ID.
296
+
297
+ Args:
298
+ extra_headers: Send extra headers
299
+
300
+ extra_query: Add additional query parameters to the request
301
+
302
+ extra_body: Add additional JSON properties to the request
303
+
304
+ timeout: Override the client-level default timeout for this request, in seconds
305
+ """
306
+ if not credential_id:
307
+ raise ValueError(f"Expected a non-empty value for `credential_id` but received {credential_id!r}")
308
+ return self._post(
309
+ f"/v5/credentials/{credential_id}/secret",
310
+ options=make_request_options(
311
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
312
+ ),
313
+ cast_to=CredentialSecret,
314
+ )
315
+
316
+ def decrypt_by_name(
317
+ self,
318
+ credential_name: str,
319
+ *,
320
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
321
+ # The extra values given here take precedence over values defined on the client or passed to this method.
322
+ extra_headers: Headers | None = None,
323
+ extra_query: Query | None = None,
324
+ extra_body: Body | None = None,
325
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
326
+ ) -> CredentialSecret:
327
+ """
328
+ Retrieve the plaintext payload of a credential by its name.
329
+
330
+ Args:
331
+ extra_headers: Send extra headers
332
+
333
+ extra_query: Add additional query parameters to the request
334
+
335
+ extra_body: Add additional JSON properties to the request
336
+
337
+ timeout: Override the client-level default timeout for this request, in seconds
338
+ """
339
+ if not credential_name:
340
+ raise ValueError(f"Expected a non-empty value for `credential_name` but received {credential_name!r}")
341
+ return self._post(
342
+ f"/v5/credentials/name/{credential_name}/secret",
343
+ options=make_request_options(
344
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
345
+ ),
346
+ cast_to=CredentialSecret,
347
+ )
348
+
349
+ def retrieve_by_name(
350
+ self,
351
+ credential_name: str,
352
+ *,
353
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
354
+ # The extra values given here take precedence over values defined on the client or passed to this method.
355
+ extra_headers: Headers | None = None,
356
+ extra_query: Query | None = None,
357
+ extra_body: Body | None = None,
358
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
359
+ ) -> Credential:
360
+ """
361
+ Retrieve a specific credential by its name.
362
+
363
+ Args:
364
+ extra_headers: Send extra headers
365
+
366
+ extra_query: Add additional query parameters to the request
367
+
368
+ extra_body: Add additional JSON properties to the request
369
+
370
+ timeout: Override the client-level default timeout for this request, in seconds
371
+ """
372
+ if not credential_name:
373
+ raise ValueError(f"Expected a non-empty value for `credential_name` but received {credential_name!r}")
374
+ return self._get(
375
+ f"/v5/credentials/name/{credential_name}",
376
+ options=make_request_options(
377
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
378
+ ),
379
+ cast_to=Credential,
380
+ )
381
+
382
+
383
+ class AsyncCredentialsResource(AsyncAPIResource):
384
+ @cached_property
385
+ def with_raw_response(self) -> AsyncCredentialsResourceWithRawResponse:
386
+ """
387
+ This property can be used as a prefix for any HTTP method call to return
388
+ the raw response object instead of the parsed content.
389
+
390
+ For more information, see https://www.github.com/scaleapi/sgp-python-beta#accessing-raw-response-data-eg-headers
391
+ """
392
+ return AsyncCredentialsResourceWithRawResponse(self)
393
+
394
+ @cached_property
395
+ def with_streaming_response(self) -> AsyncCredentialsResourceWithStreamingResponse:
396
+ """
397
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
398
+
399
+ For more information, see https://www.github.com/scaleapi/sgp-python-beta#with_streaming_response
400
+ """
401
+ return AsyncCredentialsResourceWithStreamingResponse(self)
402
+
403
+ async def create(
404
+ self,
405
+ *,
406
+ name: str,
407
+ payload: str,
408
+ type: str,
409
+ credential_metadata: Dict[str, object] | Omit = omit,
410
+ description: str | Omit = omit,
411
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
412
+ # The extra values given here take precedence over values defined on the client or passed to this method.
413
+ extra_headers: Headers | None = None,
414
+ extra_query: Query | None = None,
415
+ extra_body: Body | None = None,
416
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
417
+ ) -> Credential:
418
+ """
419
+ Create a new credential for storing sensitive data like API keys, tokens, or
420
+ other secrets.
421
+
422
+ Args:
423
+ name: User-friendly name for the credential
424
+
425
+ payload: The credential payload to be encrypted
426
+
427
+ type: Type of credential: key or json
428
+
429
+ credential_metadata: Optional unencrypted credential_metadata
430
+
431
+ description: Optional description
432
+
433
+ extra_headers: Send extra headers
434
+
435
+ extra_query: Add additional query parameters to the request
436
+
437
+ extra_body: Add additional JSON properties to the request
438
+
439
+ timeout: Override the client-level default timeout for this request, in seconds
440
+ """
441
+ return await self._post(
442
+ "/v5/credentials",
443
+ body=await async_maybe_transform(
444
+ {
445
+ "name": name,
446
+ "payload": payload,
447
+ "type": type,
448
+ "credential_metadata": credential_metadata,
449
+ "description": description,
450
+ },
451
+ credential_create_params.CredentialCreateParams,
452
+ ),
453
+ options=make_request_options(
454
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
455
+ ),
456
+ cast_to=Credential,
457
+ )
458
+
459
+ async def retrieve(
460
+ self,
461
+ credential_id: str,
462
+ *,
463
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
464
+ # The extra values given here take precedence over values defined on the client or passed to this method.
465
+ extra_headers: Headers | None = None,
466
+ extra_query: Query | None = None,
467
+ extra_body: Body | None = None,
468
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
469
+ ) -> Credential:
470
+ """
471
+ Retrieve a specific credential by its unique identifier.
472
+
473
+ Args:
474
+ extra_headers: Send extra headers
475
+
476
+ extra_query: Add additional query parameters to the request
477
+
478
+ extra_body: Add additional JSON properties to the request
479
+
480
+ timeout: Override the client-level default timeout for this request, in seconds
481
+ """
482
+ if not credential_id:
483
+ raise ValueError(f"Expected a non-empty value for `credential_id` but received {credential_id!r}")
484
+ return await self._get(
485
+ f"/v5/credentials/{credential_id}",
486
+ options=make_request_options(
487
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
488
+ ),
489
+ cast_to=Credential,
490
+ )
491
+
492
+ async def update(
493
+ self,
494
+ credential_id: str,
495
+ *,
496
+ credential_metadata: Dict[str, object] | Omit = omit,
497
+ description: str | Omit = omit,
498
+ name: str | Omit = omit,
499
+ payload: str | Omit = omit,
500
+ type: str | Omit = omit,
501
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
502
+ # The extra values given here take precedence over values defined on the client or passed to this method.
503
+ extra_headers: Headers | None = None,
504
+ extra_query: Query | None = None,
505
+ extra_body: Body | None = None,
506
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
507
+ ) -> Credential:
508
+ """
509
+ Update an existing credential's properties including name, description, type,
510
+ payload, and metadata.
511
+
512
+ Args:
513
+ credential_metadata: Optional unencrypted credential_metadata
514
+
515
+ description: Optional description
516
+
517
+ name: User-friendly name for the credential
518
+
519
+ payload: The credential payload to be encrypted
520
+
521
+ type: Type of credential: key or json
522
+
523
+ extra_headers: Send extra headers
524
+
525
+ extra_query: Add additional query parameters to the request
526
+
527
+ extra_body: Add additional JSON properties to the request
528
+
529
+ timeout: Override the client-level default timeout for this request, in seconds
530
+ """
531
+ if not credential_id:
532
+ raise ValueError(f"Expected a non-empty value for `credential_id` but received {credential_id!r}")
533
+ return await self._patch(
534
+ f"/v5/credentials/{credential_id}",
535
+ body=await async_maybe_transform(
536
+ {
537
+ "credential_metadata": credential_metadata,
538
+ "description": description,
539
+ "name": name,
540
+ "payload": payload,
541
+ "type": type,
542
+ },
543
+ credential_update_params.CredentialUpdateParams,
544
+ ),
545
+ options=make_request_options(
546
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
547
+ ),
548
+ cast_to=Credential,
549
+ )
550
+
551
+ def list(
552
+ self,
553
+ *,
554
+ ending_before: str | Omit = omit,
555
+ limit: int | Omit = omit,
556
+ name: str | Omit = omit,
557
+ sort_order: Literal["asc", "desc"] | Omit = omit,
558
+ starting_after: str | Omit = omit,
559
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
560
+ # The extra values given here take precedence over values defined on the client or passed to this method.
561
+ extra_headers: Headers | None = None,
562
+ extra_query: Query | None = None,
563
+ extra_body: Body | None = None,
564
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
565
+ ) -> AsyncPaginator[Credential, AsyncCursorPage[Credential]]:
566
+ """
567
+ Retrieve a paginated list of all credentials for the current account with
568
+ optional name filtering.
569
+
570
+ Args:
571
+ name: Filter credentials by name
572
+
573
+ extra_headers: Send extra headers
574
+
575
+ extra_query: Add additional query parameters to the request
576
+
577
+ extra_body: Add additional JSON properties to the request
578
+
579
+ timeout: Override the client-level default timeout for this request, in seconds
580
+ """
581
+ return self._get_api_list(
582
+ "/v5/credentials",
583
+ page=AsyncCursorPage[Credential],
584
+ options=make_request_options(
585
+ extra_headers=extra_headers,
586
+ extra_query=extra_query,
587
+ extra_body=extra_body,
588
+ timeout=timeout,
589
+ query=maybe_transform(
590
+ {
591
+ "ending_before": ending_before,
592
+ "limit": limit,
593
+ "name": name,
594
+ "sort_order": sort_order,
595
+ "starting_after": starting_after,
596
+ },
597
+ credential_list_params.CredentialListParams,
598
+ ),
599
+ ),
600
+ model=Credential,
601
+ )
602
+
603
+ async def delete(
604
+ self,
605
+ credential_id: str,
606
+ *,
607
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
608
+ # The extra values given here take precedence over values defined on the client or passed to this method.
609
+ extra_headers: Headers | None = None,
610
+ extra_query: Query | None = None,
611
+ extra_body: Body | None = None,
612
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
613
+ ) -> CredentialDeleteResponse:
614
+ """
615
+ Permanently delete a credential and all its associated data.
616
+
617
+ Args:
618
+ extra_headers: Send extra headers
619
+
620
+ extra_query: Add additional query parameters to the request
621
+
622
+ extra_body: Add additional JSON properties to the request
623
+
624
+ timeout: Override the client-level default timeout for this request, in seconds
625
+ """
626
+ if not credential_id:
627
+ raise ValueError(f"Expected a non-empty value for `credential_id` but received {credential_id!r}")
628
+ return await self._delete(
629
+ f"/v5/credentials/{credential_id}",
630
+ options=make_request_options(
631
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
632
+ ),
633
+ cast_to=CredentialDeleteResponse,
634
+ )
635
+
636
+ async def decrypt(
637
+ self,
638
+ credential_id: str,
639
+ *,
640
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
641
+ # The extra values given here take precedence over values defined on the client or passed to this method.
642
+ extra_headers: Headers | None = None,
643
+ extra_query: Query | None = None,
644
+ extra_body: Body | None = None,
645
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
646
+ ) -> CredentialSecret:
647
+ """
648
+ Retrieve the plaintext payload of a credential by its ID.
649
+
650
+ Args:
651
+ extra_headers: Send extra headers
652
+
653
+ extra_query: Add additional query parameters to the request
654
+
655
+ extra_body: Add additional JSON properties to the request
656
+
657
+ timeout: Override the client-level default timeout for this request, in seconds
658
+ """
659
+ if not credential_id:
660
+ raise ValueError(f"Expected a non-empty value for `credential_id` but received {credential_id!r}")
661
+ return await self._post(
662
+ f"/v5/credentials/{credential_id}/secret",
663
+ options=make_request_options(
664
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
665
+ ),
666
+ cast_to=CredentialSecret,
667
+ )
668
+
669
+ async def decrypt_by_name(
670
+ self,
671
+ credential_name: str,
672
+ *,
673
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
674
+ # The extra values given here take precedence over values defined on the client or passed to this method.
675
+ extra_headers: Headers | None = None,
676
+ extra_query: Query | None = None,
677
+ extra_body: Body | None = None,
678
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
679
+ ) -> CredentialSecret:
680
+ """
681
+ Retrieve the plaintext payload of a credential by its name.
682
+
683
+ Args:
684
+ extra_headers: Send extra headers
685
+
686
+ extra_query: Add additional query parameters to the request
687
+
688
+ extra_body: Add additional JSON properties to the request
689
+
690
+ timeout: Override the client-level default timeout for this request, in seconds
691
+ """
692
+ if not credential_name:
693
+ raise ValueError(f"Expected a non-empty value for `credential_name` but received {credential_name!r}")
694
+ return await self._post(
695
+ f"/v5/credentials/name/{credential_name}/secret",
696
+ options=make_request_options(
697
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
698
+ ),
699
+ cast_to=CredentialSecret,
700
+ )
701
+
702
+ async def retrieve_by_name(
703
+ self,
704
+ credential_name: str,
705
+ *,
706
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
707
+ # The extra values given here take precedence over values defined on the client or passed to this method.
708
+ extra_headers: Headers | None = None,
709
+ extra_query: Query | None = None,
710
+ extra_body: Body | None = None,
711
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
712
+ ) -> Credential:
713
+ """
714
+ Retrieve a specific credential by its name.
715
+
716
+ Args:
717
+ extra_headers: Send extra headers
718
+
719
+ extra_query: Add additional query parameters to the request
720
+
721
+ extra_body: Add additional JSON properties to the request
722
+
723
+ timeout: Override the client-level default timeout for this request, in seconds
724
+ """
725
+ if not credential_name:
726
+ raise ValueError(f"Expected a non-empty value for `credential_name` but received {credential_name!r}")
727
+ return await self._get(
728
+ f"/v5/credentials/name/{credential_name}",
729
+ options=make_request_options(
730
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
731
+ ),
732
+ cast_to=Credential,
733
+ )
734
+
735
+
736
+ class CredentialsResourceWithRawResponse:
737
+ def __init__(self, credentials: CredentialsResource) -> None:
738
+ self._credentials = credentials
739
+
740
+ self.create = to_raw_response_wrapper(
741
+ credentials.create,
742
+ )
743
+ self.retrieve = to_raw_response_wrapper(
744
+ credentials.retrieve,
745
+ )
746
+ self.update = to_raw_response_wrapper(
747
+ credentials.update,
748
+ )
749
+ self.list = to_raw_response_wrapper(
750
+ credentials.list,
751
+ )
752
+ self.delete = to_raw_response_wrapper(
753
+ credentials.delete,
754
+ )
755
+ self.decrypt = to_raw_response_wrapper(
756
+ credentials.decrypt,
757
+ )
758
+ self.decrypt_by_name = to_raw_response_wrapper(
759
+ credentials.decrypt_by_name,
760
+ )
761
+ self.retrieve_by_name = to_raw_response_wrapper(
762
+ credentials.retrieve_by_name,
763
+ )
764
+
765
+
766
+ class AsyncCredentialsResourceWithRawResponse:
767
+ def __init__(self, credentials: AsyncCredentialsResource) -> None:
768
+ self._credentials = credentials
769
+
770
+ self.create = async_to_raw_response_wrapper(
771
+ credentials.create,
772
+ )
773
+ self.retrieve = async_to_raw_response_wrapper(
774
+ credentials.retrieve,
775
+ )
776
+ self.update = async_to_raw_response_wrapper(
777
+ credentials.update,
778
+ )
779
+ self.list = async_to_raw_response_wrapper(
780
+ credentials.list,
781
+ )
782
+ self.delete = async_to_raw_response_wrapper(
783
+ credentials.delete,
784
+ )
785
+ self.decrypt = async_to_raw_response_wrapper(
786
+ credentials.decrypt,
787
+ )
788
+ self.decrypt_by_name = async_to_raw_response_wrapper(
789
+ credentials.decrypt_by_name,
790
+ )
791
+ self.retrieve_by_name = async_to_raw_response_wrapper(
792
+ credentials.retrieve_by_name,
793
+ )
794
+
795
+
796
+ class CredentialsResourceWithStreamingResponse:
797
+ def __init__(self, credentials: CredentialsResource) -> None:
798
+ self._credentials = credentials
799
+
800
+ self.create = to_streamed_response_wrapper(
801
+ credentials.create,
802
+ )
803
+ self.retrieve = to_streamed_response_wrapper(
804
+ credentials.retrieve,
805
+ )
806
+ self.update = to_streamed_response_wrapper(
807
+ credentials.update,
808
+ )
809
+ self.list = to_streamed_response_wrapper(
810
+ credentials.list,
811
+ )
812
+ self.delete = to_streamed_response_wrapper(
813
+ credentials.delete,
814
+ )
815
+ self.decrypt = to_streamed_response_wrapper(
816
+ credentials.decrypt,
817
+ )
818
+ self.decrypt_by_name = to_streamed_response_wrapper(
819
+ credentials.decrypt_by_name,
820
+ )
821
+ self.retrieve_by_name = to_streamed_response_wrapper(
822
+ credentials.retrieve_by_name,
823
+ )
824
+
825
+
826
+ class AsyncCredentialsResourceWithStreamingResponse:
827
+ def __init__(self, credentials: AsyncCredentialsResource) -> None:
828
+ self._credentials = credentials
829
+
830
+ self.create = async_to_streamed_response_wrapper(
831
+ credentials.create,
832
+ )
833
+ self.retrieve = async_to_streamed_response_wrapper(
834
+ credentials.retrieve,
835
+ )
836
+ self.update = async_to_streamed_response_wrapper(
837
+ credentials.update,
838
+ )
839
+ self.list = async_to_streamed_response_wrapper(
840
+ credentials.list,
841
+ )
842
+ self.delete = async_to_streamed_response_wrapper(
843
+ credentials.delete,
844
+ )
845
+ self.decrypt = async_to_streamed_response_wrapper(
846
+ credentials.decrypt,
847
+ )
848
+ self.decrypt_by_name = async_to_streamed_response_wrapper(
849
+ credentials.decrypt_by_name,
850
+ )
851
+ self.retrieve_by_name = async_to_streamed_response_wrapper(
852
+ credentials.retrieve_by_name,
853
+ )