hushscript 1.0.0__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 (187) hide show
  1. hushscript/__init__.py +97 -0
  2. hushscript/_client.py +687 -0
  3. hushscript/_clock.py +36 -0
  4. hushscript/_config.py +139 -0
  5. hushscript/_errors.py +563 -0
  6. hushscript/_guard.py +61 -0
  7. hushscript/_http.py +624 -0
  8. hushscript/_json.py +55 -0
  9. hushscript/_log.py +155 -0
  10. hushscript/_models.py +144 -0
  11. hushscript/_pacing.py +51 -0
  12. hushscript/_redact.py +140 -0
  13. hushscript/_response.py +67 -0
  14. hushscript/_retry.py +205 -0
  15. hushscript/_shape.py +197 -0
  16. hushscript/_shapes.py +248 -0
  17. hushscript/_version.py +1 -0
  18. hushscript/format.py +224 -0
  19. hushscript/generated/__init__.py +8 -0
  20. hushscript/generated/api/__init__.py +1 -0
  21. hushscript/generated/api/default/__init__.py +1 -0
  22. hushscript/generated/api/default/buy_minutes.py +248 -0
  23. hushscript/generated/api/default/claim_agent_account.py +238 -0
  24. hushscript/generated/api/default/complete_upload.py +238 -0
  25. hushscript/generated/api/default/create_agent_account_signup.py +261 -0
  26. hushscript/generated/api/default/create_setup_session.py +244 -0
  27. hushscript/generated/api/default/create_upload.py +225 -0
  28. hushscript/generated/api/default/get_account.py +169 -0
  29. hushscript/generated/api/default/get_job.py +198 -0
  30. hushscript/generated/api/default/get_org.py +169 -0
  31. hushscript/generated/api/default/get_transcript.py +226 -0
  32. hushscript/generated/api/default/get_transcription_context.py +173 -0
  33. hushscript/generated/api/default/get_upload_part_urls.py +246 -0
  34. hushscript/generated/api/default/heartbeat_upload.py +197 -0
  35. hushscript/generated/api/default/lift_transcript_hold.py +206 -0
  36. hushscript/generated/api/default/list_credit_ledger.py +229 -0
  37. hushscript/generated/api/default/list_deleted_transcripts.py +237 -0
  38. hushscript/generated/api/default/list_holds.py +233 -0
  39. hushscript/generated/api/default/list_jobs.py +249 -0
  40. hushscript/generated/api/default/list_org_audit.py +221 -0
  41. hushscript/generated/api/default/list_org_invoices.py +221 -0
  42. hushscript/generated/api/default/list_org_ledger.py +221 -0
  43. hushscript/generated/api/default/list_org_matters.py +247 -0
  44. hushscript/generated/api/default/list_org_members.py +221 -0
  45. hushscript/generated/api/default/list_org_transcripts.py +233 -0
  46. hushscript/generated/api/default/list_packs.py +169 -0
  47. hushscript/generated/api/default/list_saved_cards.py +169 -0
  48. hushscript/generated/api/default/list_transactions.py +225 -0
  49. hushscript/generated/api/default/list_transcripts.py +225 -0
  50. hushscript/generated/api/default/org_audit_csv.py +163 -0
  51. hushscript/generated/api/default/org_ledger_csv.py +163 -0
  52. hushscript/generated/api/default/org_usage_report.py +247 -0
  53. hushscript/generated/api/default/org_usage_report_csv.py +229 -0
  54. hushscript/generated/api/default/patch_org_member.py +237 -0
  55. hushscript/generated/api/default/place_transcript_hold.py +206 -0
  56. hushscript/generated/api/default/rotate_agent_credentials.py +177 -0
  57. hushscript/generated/api/default/schedule_org_custody.py +215 -0
  58. hushscript/generated/api/default/set_default_card.py +223 -0
  59. hushscript/generated/api/default/upload_part.py +249 -0
  60. hushscript/generated/catalog.py +138 -0
  61. hushscript/generated/client.py +282 -0
  62. hushscript/generated/errors.py +16 -0
  63. hushscript/generated/hints.py +28 -0
  64. hushscript/generated/models/__init__.py +193 -0
  65. hushscript/generated/models/account_response.py +114 -0
  66. hushscript/generated/models/active_hold.py +88 -0
  67. hushscript/generated/models/active_hold_kind.py +18 -0
  68. hushscript/generated/models/agent_claim_request.py +61 -0
  69. hushscript/generated/models/agent_claim_response.py +85 -0
  70. hushscript/generated/models/agent_credentials_rotate_response.py +101 -0
  71. hushscript/generated/models/agent_signup_request.py +118 -0
  72. hushscript/generated/models/agent_signup_request_agent.py +80 -0
  73. hushscript/generated/models/agent_signup_response.py +111 -0
  74. hushscript/generated/models/buy_minutes_body.py +89 -0
  75. hushscript/generated/models/card.py +132 -0
  76. hushscript/generated/models/cards_response.py +90 -0
  77. hushscript/generated/models/complete_upload_body.py +107 -0
  78. hushscript/generated/models/complete_upload_body_parts_type_0_item.py +69 -0
  79. hushscript/generated/models/context_dictionary.py +143 -0
  80. hushscript/generated/models/context_prompt_preset.py +118 -0
  81. hushscript/generated/models/create_setup_session_body.py +62 -0
  82. hushscript/generated/models/create_upload_body.py +254 -0
  83. hushscript/generated/models/create_upload_body_transcription_options_type_0.py +178 -0
  84. hushscript/generated/models/credit_ledger_entry.py +113 -0
  85. hushscript/generated/models/credit_ledger_response.py +90 -0
  86. hushscript/generated/models/deleted_transcript.py +148 -0
  87. hushscript/generated/models/deleted_transcript_cause.py +18 -0
  88. hushscript/generated/models/deleted_transcript_receipt_type_0.py +107 -0
  89. hushscript/generated/models/deleted_transcript_receipt_type_0_items_item.py +69 -0
  90. hushscript/generated/models/deleted_transcripts_response.py +90 -0
  91. hushscript/generated/models/dictionary_entry.py +123 -0
  92. hushscript/generated/models/dictionary_entry_category.py +37 -0
  93. hushscript/generated/models/error.py +155 -0
  94. hushscript/generated/models/error_details.py +94 -0
  95. hushscript/generated/models/get_upload_part_urls_response_200_type_0.py +108 -0
  96. hushscript/generated/models/heartbeat_upload_response_200.py +61 -0
  97. hushscript/generated/models/holds_response.py +90 -0
  98. hushscript/generated/models/job.py +309 -0
  99. hushscript/generated/models/job_failure_kind_type_1.py +16 -0
  100. hushscript/generated/models/job_failure_kind_type_2_type_1.py +16 -0
  101. hushscript/generated/models/job_failure_kind_type_3_type_1.py +16 -0
  102. hushscript/generated/models/job_list.py +90 -0
  103. hushscript/generated/models/lift_transcript_hold_response_200.py +61 -0
  104. hushscript/generated/models/list_jobs_active.py +17 -0
  105. hushscript/generated/models/list_org_matters_status.py +16 -0
  106. hushscript/generated/models/options_summary.py +135 -0
  107. hushscript/generated/models/org_audit_entry.py +105 -0
  108. hushscript/generated/models/org_audit_response.py +90 -0
  109. hushscript/generated/models/org_invoice.py +175 -0
  110. hushscript/generated/models/org_invoices_response.py +90 -0
  111. hushscript/generated/models/org_ledger_entry.py +155 -0
  112. hushscript/generated/models/org_ledger_response.py +90 -0
  113. hushscript/generated/models/org_matter.py +79 -0
  114. hushscript/generated/models/org_matter_status.py +16 -0
  115. hushscript/generated/models/org_matters_response.py +75 -0
  116. hushscript/generated/models/org_member.py +123 -0
  117. hushscript/generated/models/org_members_response.py +90 -0
  118. hushscript/generated/models/org_summary_response.py +482 -0
  119. hushscript/generated/models/org_transcript.py +103 -0
  120. hushscript/generated/models/org_transcripts_response.py +90 -0
  121. hushscript/generated/models/org_usage_report_csv_group_by.py +17 -0
  122. hushscript/generated/models/org_usage_report_group_by.py +17 -0
  123. hushscript/generated/models/org_usage_response.py +112 -0
  124. hushscript/generated/models/org_usage_response_group_by.py +17 -0
  125. hushscript/generated/models/org_usage_row.py +86 -0
  126. hushscript/generated/models/pack.py +107 -0
  127. hushscript/generated/models/packs_response.py +75 -0
  128. hushscript/generated/models/patch_org_member_body.py +102 -0
  129. hushscript/generated/models/patch_org_member_response_200.py +61 -0
  130. hushscript/generated/models/place_transcript_hold_response_200.py +61 -0
  131. hushscript/generated/models/presigned_part_url.py +69 -0
  132. hushscript/generated/models/purchase_response.py +76 -0
  133. hushscript/generated/models/schedule_org_custody_body.py +66 -0
  134. hushscript/generated/models/schedule_org_custody_body_custody.py +17 -0
  135. hushscript/generated/models/schedule_org_custody_response_200.py +69 -0
  136. hushscript/generated/models/set_default_card_body.py +61 -0
  137. hushscript/generated/models/set_default_card_response_200.py +61 -0
  138. hushscript/generated/models/setup_session_response.py +77 -0
  139. hushscript/generated/models/transaction.py +183 -0
  140. hushscript/generated/models/transactions_response.py +98 -0
  141. hushscript/generated/models/transcript_detail.py +194 -0
  142. hushscript/generated/models/transcript_detail_speaker_names.py +47 -0
  143. hushscript/generated/models/transcript_envelope.py +89 -0
  144. hushscript/generated/models/transcript_envelope_translations.py +62 -0
  145. hushscript/generated/models/transcript_language.py +75 -0
  146. hushscript/generated/models/transcript_list.py +90 -0
  147. hushscript/generated/models/transcript_list_row.py +152 -0
  148. hushscript/generated/models/transcript_list_row_insights_state.py +20 -0
  149. hushscript/generated/models/transcription_context_response.py +95 -0
  150. hushscript/generated/models/upload_complete_response.py +100 -0
  151. hushscript/generated/models/upload_create_response.py +148 -0
  152. hushscript/generated/models/upload_create_response_funding.py +16 -0
  153. hushscript/generated/models/upload_create_response_upload_type_0.py +108 -0
  154. hushscript/generated/models/upload_limits.py +86 -0
  155. hushscript/generated/models/upload_part_response_200.py +69 -0
  156. hushscript/generated/models/utterance.py +85 -0
  157. hushscript/generated/scopes.py +42 -0
  158. hushscript/generated/types.py +54 -0
  159. hushscript/money.py +79 -0
  160. hushscript/paginate.py +78 -0
  161. hushscript/py.typed +0 -0
  162. hushscript/resources/__init__.py +1 -0
  163. hushscript/resources/_params.py +33 -0
  164. hushscript/resources/account.py +121 -0
  165. hushscript/resources/agent.py +421 -0
  166. hushscript/resources/billing.py +567 -0
  167. hushscript/resources/jobs.py +105 -0
  168. hushscript/resources/transcripts.py +209 -0
  169. hushscript/transcribe/__init__.py +1 -0
  170. hushscript/transcribe/apipeline.py +234 -0
  171. hushscript/transcribe/aupload.py +197 -0
  172. hushscript/transcribe/heartbeat.py +78 -0
  173. hushscript/transcribe/pipeline.py +312 -0
  174. hushscript/transcribe/preflight.py +272 -0
  175. hushscript/transcribe/probe.py +185 -0
  176. hushscript/transcribe/resume.py +115 -0
  177. hushscript/transcribe/segment.py +23 -0
  178. hushscript/transcribe/session.py +34 -0
  179. hushscript/transcribe/sniff.py +30 -0
  180. hushscript/transcribe/source.py +218 -0
  181. hushscript/transcribe/upload.py +498 -0
  182. hushscript/transcribe/wait.py +124 -0
  183. hushscript/transcript.py +197 -0
  184. hushscript-1.0.0.dist-info/METADATA +502 -0
  185. hushscript-1.0.0.dist-info/RECORD +187 -0
  186. hushscript-1.0.0.dist-info/WHEEL +4 -0
  187. hushscript-1.0.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,225 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.error import Error
9
+ from ...models.transactions_response import TransactionsResponse
10
+ from ...types import UNSET, Response, Unset
11
+
12
+
13
+ def _get_kwargs(
14
+ *,
15
+ cursor: str | Unset = UNSET,
16
+ limit: int | Unset = 50,
17
+ ) -> dict[str, Any]:
18
+
19
+ params: dict[str, Any] = {}
20
+
21
+ params["cursor"] = cursor
22
+
23
+ params["limit"] = limit
24
+
25
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
26
+
27
+ _kwargs: dict[str, Any] = {
28
+ "method": "get",
29
+ "url": "/v1/billing/transactions",
30
+ "params": params,
31
+ }
32
+
33
+ return _kwargs
34
+
35
+
36
+ def _parse_response(
37
+ *, client: AuthenticatedClient | Client, response: httpx.Response
38
+ ) -> Error | TransactionsResponse | None:
39
+ if response.status_code == 200:
40
+ response_200 = TransactionsResponse.from_dict(response.json())
41
+
42
+ return response_200
43
+
44
+ if response.status_code == 400:
45
+ response_400 = Error.from_dict(response.json())
46
+
47
+ return response_400
48
+
49
+ if response.status_code == 401:
50
+ response_401 = Error.from_dict(response.json())
51
+
52
+ return response_401
53
+
54
+ if response.status_code == 403:
55
+ response_403 = Error.from_dict(response.json())
56
+
57
+ return response_403
58
+
59
+ if response.status_code == 429:
60
+ response_429 = Error.from_dict(response.json())
61
+
62
+ return response_429
63
+
64
+ if response.status_code == 500:
65
+ response_500 = Error.from_dict(response.json())
66
+
67
+ return response_500
68
+
69
+ if client.raise_on_unexpected_status:
70
+ raise errors.UnexpectedStatus(response.status_code, response.content)
71
+ else:
72
+ return None
73
+
74
+
75
+ def _build_response(
76
+ *, client: AuthenticatedClient | Client, response: httpx.Response
77
+ ) -> Response[Error | TransactionsResponse]:
78
+ return Response(
79
+ status_code=HTTPStatus(response.status_code),
80
+ content=response.content,
81
+ headers=response.headers,
82
+ parsed=_parse_response(client=client, response=response),
83
+ )
84
+
85
+
86
+ def sync_detailed(
87
+ *,
88
+ client: AuthenticatedClient,
89
+ cursor: str | Unset = UNSET,
90
+ limit: int | Unset = 50,
91
+ ) -> Response[Error | TransactionsResponse]:
92
+ """List the account's purchase history
93
+
94
+ Returns a page of the account's past purchases, newest first, each with its settlement status and
95
+ public receipt reference. Pass the next_cursor value from one page as the cursor parameter of the
96
+ next request to page further back; the cursor is opaque and this API refuses one it did not mint
97
+ rather than silently restarting at page one, since a caller that trusted a silent restart would
98
+ believe it had paged forward when it had not.
99
+
100
+ Args:
101
+ cursor (str | Unset):
102
+ limit (int | Unset): Default: 50.
103
+
104
+ Raises:
105
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
106
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
107
+
108
+ Returns:
109
+ Response[Error | TransactionsResponse]
110
+ """
111
+
112
+ kwargs = _get_kwargs(
113
+ cursor=cursor,
114
+ limit=limit,
115
+ )
116
+
117
+ response = client.get_httpx_client().request(
118
+ **kwargs,
119
+ )
120
+
121
+ return _build_response(client=client, response=response)
122
+
123
+
124
+ def sync(
125
+ *,
126
+ client: AuthenticatedClient,
127
+ cursor: str | Unset = UNSET,
128
+ limit: int | Unset = 50,
129
+ ) -> Error | TransactionsResponse | None:
130
+ """List the account's purchase history
131
+
132
+ Returns a page of the account's past purchases, newest first, each with its settlement status and
133
+ public receipt reference. Pass the next_cursor value from one page as the cursor parameter of the
134
+ next request to page further back; the cursor is opaque and this API refuses one it did not mint
135
+ rather than silently restarting at page one, since a caller that trusted a silent restart would
136
+ believe it had paged forward when it had not.
137
+
138
+ Args:
139
+ cursor (str | Unset):
140
+ limit (int | Unset): Default: 50.
141
+
142
+ Raises:
143
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
144
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
145
+
146
+ Returns:
147
+ Error | TransactionsResponse
148
+ """
149
+
150
+ return sync_detailed(
151
+ client=client,
152
+ cursor=cursor,
153
+ limit=limit,
154
+ ).parsed
155
+
156
+
157
+ async def asyncio_detailed(
158
+ *,
159
+ client: AuthenticatedClient,
160
+ cursor: str | Unset = UNSET,
161
+ limit: int | Unset = 50,
162
+ ) -> Response[Error | TransactionsResponse]:
163
+ """List the account's purchase history
164
+
165
+ Returns a page of the account's past purchases, newest first, each with its settlement status and
166
+ public receipt reference. Pass the next_cursor value from one page as the cursor parameter of the
167
+ next request to page further back; the cursor is opaque and this API refuses one it did not mint
168
+ rather than silently restarting at page one, since a caller that trusted a silent restart would
169
+ believe it had paged forward when it had not.
170
+
171
+ Args:
172
+ cursor (str | Unset):
173
+ limit (int | Unset): Default: 50.
174
+
175
+ Raises:
176
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
177
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
178
+
179
+ Returns:
180
+ Response[Error | TransactionsResponse]
181
+ """
182
+
183
+ kwargs = _get_kwargs(
184
+ cursor=cursor,
185
+ limit=limit,
186
+ )
187
+
188
+ response = await client.get_async_httpx_client().request(**kwargs)
189
+
190
+ return _build_response(client=client, response=response)
191
+
192
+
193
+ async def asyncio(
194
+ *,
195
+ client: AuthenticatedClient,
196
+ cursor: str | Unset = UNSET,
197
+ limit: int | Unset = 50,
198
+ ) -> Error | TransactionsResponse | None:
199
+ """List the account's purchase history
200
+
201
+ Returns a page of the account's past purchases, newest first, each with its settlement status and
202
+ public receipt reference. Pass the next_cursor value from one page as the cursor parameter of the
203
+ next request to page further back; the cursor is opaque and this API refuses one it did not mint
204
+ rather than silently restarting at page one, since a caller that trusted a silent restart would
205
+ believe it had paged forward when it had not.
206
+
207
+ Args:
208
+ cursor (str | Unset):
209
+ limit (int | Unset): Default: 50.
210
+
211
+ Raises:
212
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
213
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
214
+
215
+ Returns:
216
+ Error | TransactionsResponse
217
+ """
218
+
219
+ return (
220
+ await asyncio_detailed(
221
+ client=client,
222
+ cursor=cursor,
223
+ limit=limit,
224
+ )
225
+ ).parsed
@@ -0,0 +1,225 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.error import Error
9
+ from ...models.transcript_list import TranscriptList
10
+ from ...types import UNSET, Response, Unset
11
+
12
+
13
+ def _get_kwargs(
14
+ *,
15
+ cursor: str | Unset = UNSET,
16
+ limit: int | Unset = 50,
17
+ ) -> dict[str, Any]:
18
+
19
+ params: dict[str, Any] = {}
20
+
21
+ params["cursor"] = cursor
22
+
23
+ params["limit"] = limit
24
+
25
+ params = {k: v for k, v in params.items() if v is not UNSET and v is not None}
26
+
27
+ _kwargs: dict[str, Any] = {
28
+ "method": "get",
29
+ "url": "/v1/transcripts",
30
+ "params": params,
31
+ }
32
+
33
+ return _kwargs
34
+
35
+
36
+ def _parse_response(
37
+ *, client: AuthenticatedClient | Client, response: httpx.Response
38
+ ) -> Error | TranscriptList | None:
39
+ if response.status_code == 200:
40
+ response_200 = TranscriptList.from_dict(response.json())
41
+
42
+ return response_200
43
+
44
+ if response.status_code == 400:
45
+ response_400 = Error.from_dict(response.json())
46
+
47
+ return response_400
48
+
49
+ if response.status_code == 401:
50
+ response_401 = Error.from_dict(response.json())
51
+
52
+ return response_401
53
+
54
+ if response.status_code == 403:
55
+ response_403 = Error.from_dict(response.json())
56
+
57
+ return response_403
58
+
59
+ if response.status_code == 429:
60
+ response_429 = Error.from_dict(response.json())
61
+
62
+ return response_429
63
+
64
+ if response.status_code == 500:
65
+ response_500 = Error.from_dict(response.json())
66
+
67
+ return response_500
68
+
69
+ if client.raise_on_unexpected_status:
70
+ raise errors.UnexpectedStatus(response.status_code, response.content)
71
+ else:
72
+ return None
73
+
74
+
75
+ def _build_response(
76
+ *, client: AuthenticatedClient | Client, response: httpx.Response
77
+ ) -> Response[Error | TranscriptList]:
78
+ return Response(
79
+ status_code=HTTPStatus(response.status_code),
80
+ content=response.content,
81
+ headers=response.headers,
82
+ parsed=_parse_response(client=client, response=response),
83
+ )
84
+
85
+
86
+ def sync_detailed(
87
+ *,
88
+ client: AuthenticatedClient,
89
+ cursor: str | Unset = UNSET,
90
+ limit: int | Unset = 50,
91
+ ) -> Response[Error | TranscriptList]:
92
+ """List the account's transcripts
93
+
94
+ Returns a page of the caller's transcripts, newest first, with metadata only (no body text). Pass
95
+ the next_cursor value from one page as the cursor parameter of the next request to page forward; the
96
+ cursor is opaque and this API refuses one it did not mint rather than silently restarting at page
97
+ one, since a caller that trusted a silent restart would believe it had paged forward when it had
98
+ not.
99
+
100
+ Args:
101
+ cursor (str | Unset):
102
+ limit (int | Unset): Default: 50.
103
+
104
+ Raises:
105
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
106
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
107
+
108
+ Returns:
109
+ Response[Error | TranscriptList]
110
+ """
111
+
112
+ kwargs = _get_kwargs(
113
+ cursor=cursor,
114
+ limit=limit,
115
+ )
116
+
117
+ response = client.get_httpx_client().request(
118
+ **kwargs,
119
+ )
120
+
121
+ return _build_response(client=client, response=response)
122
+
123
+
124
+ def sync(
125
+ *,
126
+ client: AuthenticatedClient,
127
+ cursor: str | Unset = UNSET,
128
+ limit: int | Unset = 50,
129
+ ) -> Error | TranscriptList | None:
130
+ """List the account's transcripts
131
+
132
+ Returns a page of the caller's transcripts, newest first, with metadata only (no body text). Pass
133
+ the next_cursor value from one page as the cursor parameter of the next request to page forward; the
134
+ cursor is opaque and this API refuses one it did not mint rather than silently restarting at page
135
+ one, since a caller that trusted a silent restart would believe it had paged forward when it had
136
+ not.
137
+
138
+ Args:
139
+ cursor (str | Unset):
140
+ limit (int | Unset): Default: 50.
141
+
142
+ Raises:
143
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
144
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
145
+
146
+ Returns:
147
+ Error | TranscriptList
148
+ """
149
+
150
+ return sync_detailed(
151
+ client=client,
152
+ cursor=cursor,
153
+ limit=limit,
154
+ ).parsed
155
+
156
+
157
+ async def asyncio_detailed(
158
+ *,
159
+ client: AuthenticatedClient,
160
+ cursor: str | Unset = UNSET,
161
+ limit: int | Unset = 50,
162
+ ) -> Response[Error | TranscriptList]:
163
+ """List the account's transcripts
164
+
165
+ Returns a page of the caller's transcripts, newest first, with metadata only (no body text). Pass
166
+ the next_cursor value from one page as the cursor parameter of the next request to page forward; the
167
+ cursor is opaque and this API refuses one it did not mint rather than silently restarting at page
168
+ one, since a caller that trusted a silent restart would believe it had paged forward when it had
169
+ not.
170
+
171
+ Args:
172
+ cursor (str | Unset):
173
+ limit (int | Unset): Default: 50.
174
+
175
+ Raises:
176
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
177
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
178
+
179
+ Returns:
180
+ Response[Error | TranscriptList]
181
+ """
182
+
183
+ kwargs = _get_kwargs(
184
+ cursor=cursor,
185
+ limit=limit,
186
+ )
187
+
188
+ response = await client.get_async_httpx_client().request(**kwargs)
189
+
190
+ return _build_response(client=client, response=response)
191
+
192
+
193
+ async def asyncio(
194
+ *,
195
+ client: AuthenticatedClient,
196
+ cursor: str | Unset = UNSET,
197
+ limit: int | Unset = 50,
198
+ ) -> Error | TranscriptList | None:
199
+ """List the account's transcripts
200
+
201
+ Returns a page of the caller's transcripts, newest first, with metadata only (no body text). Pass
202
+ the next_cursor value from one page as the cursor parameter of the next request to page forward; the
203
+ cursor is opaque and this API refuses one it did not mint rather than silently restarting at page
204
+ one, since a caller that trusted a silent restart would believe it had paged forward when it had
205
+ not.
206
+
207
+ Args:
208
+ cursor (str | Unset):
209
+ limit (int | Unset): Default: 50.
210
+
211
+ Raises:
212
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
213
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
214
+
215
+ Returns:
216
+ Error | TranscriptList
217
+ """
218
+
219
+ return (
220
+ await asyncio_detailed(
221
+ client=client,
222
+ cursor=cursor,
223
+ limit=limit,
224
+ )
225
+ ).parsed
@@ -0,0 +1,163 @@
1
+ from http import HTTPStatus
2
+ from typing import Any
3
+
4
+ import httpx
5
+
6
+ from ... import errors
7
+ from ...client import AuthenticatedClient, Client
8
+ from ...models.error import Error
9
+ from ...types import Response
10
+
11
+
12
+ def _get_kwargs() -> dict[str, Any]:
13
+
14
+ _kwargs: dict[str, Any] = {
15
+ "method": "get",
16
+ "url": "/v1/org/audit.csv",
17
+ }
18
+
19
+ return _kwargs
20
+
21
+
22
+ def _parse_response(
23
+ *, client: AuthenticatedClient | Client, response: httpx.Response
24
+ ) -> Error | str | None:
25
+ if response.status_code == 200:
26
+ response_200 = response.text
27
+ return response_200
28
+
29
+ if response.status_code == 401:
30
+ response_401 = Error.from_dict(response.json())
31
+
32
+ return response_401
33
+
34
+ if response.status_code == 403:
35
+ response_403 = Error.from_dict(response.json())
36
+
37
+ return response_403
38
+
39
+ if response.status_code == 429:
40
+ response_429 = Error.from_dict(response.json())
41
+
42
+ return response_429
43
+
44
+ if response.status_code == 500:
45
+ response_500 = Error.from_dict(response.json())
46
+
47
+ return response_500
48
+
49
+ if client.raise_on_unexpected_status:
50
+ raise errors.UnexpectedStatus(response.status_code, response.content)
51
+ else:
52
+ return None
53
+
54
+
55
+ def _build_response(
56
+ *, client: AuthenticatedClient | Client, response: httpx.Response
57
+ ) -> Response[Error | str]:
58
+ return Response(
59
+ status_code=HTTPStatus(response.status_code),
60
+ content=response.content,
61
+ headers=response.headers,
62
+ parsed=_parse_response(client=client, response=response),
63
+ )
64
+
65
+
66
+ def sync_detailed(
67
+ *,
68
+ client: AuthenticatedClient,
69
+ ) -> Response[Error | str]:
70
+ """Download the caller's organization's whole audit log as CSV
71
+
72
+ Downloads the caller's organization's entire org_audit_log history (not paged, unlike GET
73
+ /v1/org/audit) as a CSV file, with the same detail redaction GET /v1/org/audit applies. Sets
74
+ X-Hushscript-Csv-Truncated: 1 if the export hit its internal page ceiling.
75
+
76
+ Raises:
77
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
78
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
79
+
80
+ Returns:
81
+ Response[Error | str]
82
+ """
83
+
84
+ kwargs = _get_kwargs()
85
+
86
+ response = client.get_httpx_client().request(
87
+ **kwargs,
88
+ )
89
+
90
+ return _build_response(client=client, response=response)
91
+
92
+
93
+ def sync(
94
+ *,
95
+ client: AuthenticatedClient,
96
+ ) -> Error | str | None:
97
+ """Download the caller's organization's whole audit log as CSV
98
+
99
+ Downloads the caller's organization's entire org_audit_log history (not paged, unlike GET
100
+ /v1/org/audit) as a CSV file, with the same detail redaction GET /v1/org/audit applies. Sets
101
+ X-Hushscript-Csv-Truncated: 1 if the export hit its internal page ceiling.
102
+
103
+ Raises:
104
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
105
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
106
+
107
+ Returns:
108
+ Error | str
109
+ """
110
+
111
+ return sync_detailed(
112
+ client=client,
113
+ ).parsed
114
+
115
+
116
+ async def asyncio_detailed(
117
+ *,
118
+ client: AuthenticatedClient,
119
+ ) -> Response[Error | str]:
120
+ """Download the caller's organization's whole audit log as CSV
121
+
122
+ Downloads the caller's organization's entire org_audit_log history (not paged, unlike GET
123
+ /v1/org/audit) as a CSV file, with the same detail redaction GET /v1/org/audit applies. Sets
124
+ X-Hushscript-Csv-Truncated: 1 if the export hit its internal page ceiling.
125
+
126
+ Raises:
127
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
128
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
129
+
130
+ Returns:
131
+ Response[Error | str]
132
+ """
133
+
134
+ kwargs = _get_kwargs()
135
+
136
+ response = await client.get_async_httpx_client().request(**kwargs)
137
+
138
+ return _build_response(client=client, response=response)
139
+
140
+
141
+ async def asyncio(
142
+ *,
143
+ client: AuthenticatedClient,
144
+ ) -> Error | str | None:
145
+ """Download the caller's organization's whole audit log as CSV
146
+
147
+ Downloads the caller's organization's entire org_audit_log history (not paged, unlike GET
148
+ /v1/org/audit) as a CSV file, with the same detail redaction GET /v1/org/audit applies. Sets
149
+ X-Hushscript-Csv-Truncated: 1 if the export hit its internal page ceiling.
150
+
151
+ Raises:
152
+ errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
153
+ httpx.TimeoutException: If the request takes longer than Client.timeout.
154
+
155
+ Returns:
156
+ Error | str
157
+ """
158
+
159
+ return (
160
+ await asyncio_detailed(
161
+ client=client,
162
+ )
163
+ ).parsed